KR102191453B1 - Method and apparatus for providing plug-in to application developed on spring framework - Google Patents

Method and apparatus for providing plug-in to application developed on spring framework Download PDF

Info

Publication number
KR102191453B1
KR102191453B1 KR1020180120388A KR20180120388A KR102191453B1 KR 102191453 B1 KR102191453 B1 KR 102191453B1 KR 1020180120388 A KR1020180120388 A KR 1020180120388A KR 20180120388 A KR20180120388 A KR 20180120388A KR 102191453 B1 KR102191453 B1 KR 102191453B1
Authority
KR
South Korea
Prior art keywords
plug
application
memory
providing
objects
Prior art date
Application number
KR1020180120388A
Other languages
Korean (ko)
Other versions
KR20200040456A (en
Inventor
임복출
이종혁
김봉석
Original Assignee
(주)에이케이컴즈랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)에이케이컴즈랩 filed Critical (주)에이케이컴즈랩
Priority to KR1020180120388A priority Critical patent/KR102191453B1/en
Publication of KR20200040456A publication Critical patent/KR20200040456A/en
Application granted granted Critical
Publication of KR102191453B1 publication Critical patent/KR102191453B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

스프링(Spring)을 기반으로 한 애플리케이션에 플러그인을 제공하는 방법 및 장치를 제시하며, 상기 애플리케이션의 객체 중 상기 플러그인에 연관된 플러그인객체를 식별하여 분류하는 객체분류부 및 상기 애플리케이션의 객체에서 이용되는 리소스 중 상기 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩하는 플러그인객체관리부를 포함할 수 있다.An object classification unit that identifies and classifies plug-in objects related to the plug-in among the objects of the application, and a method and apparatus for providing a plug-in to an application based on Spring. It may include a plug-in object management unit for selectively loading the resources used in the plug-in object into the memory.

Description

스프링(Spring)을 기반으로 한 애플리케이션에 플러그인을 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING PLUG-IN TO APPLICATION DEVELOPED ON SPRING FRAMEWORK} Method and device for providing plug-ins to applications based on Spring {METHOD AND APPARATUS FOR PROVIDING PLUG-IN TO APPLICATION DEVELOPED ON SPRING FRAMEWORK}

본 명세서에서 개시되는 실시예들은 스프링을 기반으로 한 애플리케이션에 플러그인을 제공하는 방법 및 장치에 관한 것으로, 보다 상세하게는 스프링을 기반으로 개발된 애플리케이션의 기능을 기능별로 변경이 용이하도록 플러그인 방식으로 변경되는 기능을 제공하는 플러그인제공방법 및 장치에 관한 것이다.The embodiments disclosed in this specification relate to a method and apparatus for providing a plug-in to a spring-based application, and in more detail, the function of an application developed based on Spring is changed to a plug-in method to facilitate change for each function. It relates to a method and apparatus for providing a plug-in that provides a function to be used.

최근 들어 기업들은 기업의 업무를 보다 효과적으로 처리하기 위해 기업의 업무에 특화된 기업용 애플리케이션을 개발하거나 또는 기업의 특정 업무에 적합하도록 외부에서 개발된 애플리케이션을 구매하고 있다. In recent years, companies are developing enterprise applications specialized for corporate business or purchasing externally developed applications to suit specific business tasks in order to more effectively process corporate business.

이를 위해, 프로그래머들은 기업의 업무에서 필요한 모든 기능을 식별하고, 식별된 모든 기능을 수행할 수 있는 애플리케이션을 개발하여 제공하는 것이 일반적이다. To this end, it is common for programmers to identify all functions required in the business of a company and develop and provide applications that can perform all identified functions.

이때, 애플리케이션에서 제공되는 기능 중 업데이트가 필요하거나 그 기능이 불필요한 경우, 해당 기능의 업데이트 또는 삭제를 위해 애플리케이션 전체를 업데이트하는 것이 일반적이다. In this case, if an update is required or the function is unnecessary among functions provided by an application, it is common to update the entire application to update or delete the function.

이를 위해, 프로그래머는 애플리케이션의 기능 갱신을 위해서는 전체 애플리케이션의 코드 중 업데이트가 필요한 코드를 수정하고, 코드가 수정된 애플리케이션의 전체 코드를 다시 컴파일을 수행하여 애플리케이션을 갱신해야 한다.To this end, in order to update the function of the application, the programmer must modify the code that needs to be updated among the code of the entire application, and update the application by recompiling the entire code of the modified application.

하지만, 애플리케이션의 일부 기능을 갱신하기 위해 애플리케이션의 전체 코드에 대해 컴파일을 수행함에 따라 애플리케이션의 일부 수정에 많은 시간이 소요되는 문제점이 있다. However, as the entire code of the application is compiled to update some functions of the application, there is a problem that it takes a lot of time to partially modify the application.

또한, 애플리케이션의 일부 기능의 추가 또는 삭제 시에도 전체 애플리케이션의 코드 수정이 필요하여 기능의 추가 또는 삭제가 용이하지 않다는 문제점이 있다.In addition, there is a problem in that it is not easy to add or delete functions because it is necessary to modify the code of the entire application even when adding or deleting some functions of the application.

관련하여 선행기술 문헌인 한국특허공개번호 제10-2015-0104885 호는 플러그인을 이용한 웹-앱 연동 구조의 애플리케이션 표시 시스템에 관한 것으로서, 보다 구체적으로는 웹애플리케이션 개발을 위한 프로그램 및 웹-앱 연동을 지원하는 플러그인을 포함하는 웹 프레임워크를 설치 및 실행하고, 상기 플러그인을 이용하여 데이터를 입력하는 제1 유저 디바이스, 상기 제1 유저 디바이스로부터 상기 플러그인을 이용하여 입력된 데이터를 수신하며, 상기 수신한 데이터를 애플리케이션에 반영하여, 웹사이트와 상기 애플리케이션이 연동되도록 하는 서비스 서버, 및 상기 애플리케이션을 설치 및 실행하되, 상기 반영된 데이터에 따라 상기 애플리케이션을 변경하여 표시하는 제2 유저 디바이스를 포함하며, 상기 웹 프레임워크에서 입력된 데이터가 상기 웹사이트 및 애플리케이션에 반영되어 상호 연동되도록 할 뿐, 상술된 문제점을 해결할 수 없다. A related prior art document, Korean Patent Publication No. 10-2015-0104885, relates to an application display system with a web-app linkage structure using a plug-in, and more specifically, a program for web application development and web-app linkage. A first user device that installs and executes a web framework including a supported plug-in, inputs data using the plug-in, receives data input using the plug-in from the first user device, and receives the received A service server that reflects data in an application to link the website and the application, and a second user device that installs and executes the application, but changes and displays the application according to the reflected data, and the web The data input from the framework is reflected in the website and the application so that they are interworked, but the above-described problem cannot be solved.

따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.Therefore, there is a need for a technique to solve the above-described problem.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-described background technology is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and is not necessarily known to be publicly known before filing the present invention. .

본 명세서에서 개시되는 실시예들은, 스프링을 기반으로 한 애플리케이션에 플러그인을 제공하는 방법 및 장치를 제시하는데 목적이 있다.The embodiments disclosed in the present specification are intended to provide a method and apparatus for providing a plug-in to a spring-based application.

본 명세서에서 개시되는 실시예들은, 스프링에서 제공되는 컨테이너와 별개로 플러그인의 객체를 관리하는 별도의 컨테이너를 통해 리소스 로딩을 동적으로 수행하는 플러그인제공방법 및 장치를 제시하는데 목적이 있다. The embodiments disclosed in the present specification aim to provide a plug-in providing method and apparatus for dynamically loading resources through a separate container that manages plug-in objects separately from a container provided by Spring.

본 명세서에서 개시되는 실시예들은, 애플리케이션 기능의 삭제 또는 추가를 플러그인 방식으로 애플리케이션을 업데이트하는 플러그인 기능을 지원하는 플러그인제공방법 및 장치를 제시하는데 목적이 있다. Embodiments disclosed in the present specification are intended to provide a plug-in providing method and an apparatus supporting a plug-in function for updating an application in a plug-in method to delete or add an application function.

본 명세서에서 개시되는 실시예들은, 애플리케이션에서 사용시 메모리에 로딩되는 리소스를 동적으로 제어할 수 있는 플러그인 기능을 지원하는 플러그인제공방법 및 장치를 제시하는데 목적이 있다. The embodiments disclosed in the present specification aim to provide a method and apparatus for providing a plug-in that supports a plug-in function capable of dynamically controlling resources loaded into a memory when used by an application.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 스프링(spring)을 기반으로 한 애플리케이션에 플러그인을 제공하는 장치에 있어서, 상기 애플리케이션의 객체 중 상기 플러그인에 연관된 플러그인객체를 식별하여 분류하는 객체분류부 및 상기 애플리케이션의 객체에서 이용되는 리소스 중 상기 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩하는 플러그인객체관리부를 포함할 수 있다. As a technical means for achieving the above-described technical problem, according to an embodiment, in an apparatus for providing a plug-in to a spring-based application, by identifying a plug-in object related to the plug-in among the objects of the application It may include an object classifying unit to classify and a plug-in object management unit for selectively loading a resource used in the plug-in object among resources used in the object of the application into a memory.

다른 실시예에 따르면, 플러그인제공장치가 플러그인 기능을 지원하는 플러그인제공방법에 있어서, 상기 애플리케이션의 객체 중 상기 플러그인에 연관된 플러그인객체를 식별하여 분류하는 단계 및 상기 애플리케이션의 객체에서 이용되는 리소스 중 상기 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩하는 단계를 포함할 수 있다.According to another embodiment, in a plug-in providing method in which a plug-in providing device supports a plug-in function, identifying and classifying a plug-in object related to the plug-in among objects of the application, and the plug-in among resources used in the object of the application It may include the step of selectively loading the resources used by the object into the memory.

또 다른 실시예에 따르면, 플러그인제공방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체로서, 상기 플러그인제공방법은, 상기 애플리케이션의 객체 중 상기 플러그인에 연관된 플러그인객체를 식별하여 분류하는 단계 및 상기 애플리케이션의 객체에서 이용되는 리소스 중 상기 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩하는 단계를 포함할 수 있다.According to another embodiment, as a computer-readable recording medium in which a program for performing a plug-in providing method is recorded, the plug-in providing method includes the steps of identifying and classifying plug-in objects related to the plug-in among objects of the application, and the It may include the step of selectively loading a resource used in the plug-in object into a memory among resources used in the application object.

다른 실시예에 따르면, 플러그인제공장치에 의해 수행되며, 플러그인제공방법을 수행하기 위해 기록매체에 저장된 컴퓨터프로그램으로서, 상기 플러그인제공방법은, 상기 애플리케이션의 객체 중 상기 플러그인에 연관된 플러그인객체를 식별하여 분류하는 단계 및 상기 애플리케이션의 객체에서 이용되는 리소스 중 상기 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩하는 단계를 포함할 수 있다.According to another embodiment, a computer program executed by a plug-in providing device and stored in a recording medium to perform a plug-in providing method, wherein the plug-in providing method identifies and classifies plug-in objects related to the plug-in among the objects of the application. And selectively loading a resource used by the plug-in object among resources used by the application object into a memory.

전술한 과제 해결 수단 중 어느 하나에 의하면, 스프링에서 제공되는 컨테이너를 변경하여 객체의 리소스를 가변적으로 메모리에 로딩하는 플러그인을 제공하는 방법 및 장치를 제시할 수 있다. According to any one of the above-described problem solving means, it is possible to provide a method and apparatus for providing a plug-in for variably loading an object resource into a memory by changing a container provided by Spring.

전술한 과제 해결 수단 중 어느 하나에 의하면, 애플리케이션 기능의 삭제 또는 추가를 플러그인 방식으로 함으로써 애플리케이션의 기능을 유연하게 변경할 수 있는 플러그인 기능을 지원하는 애플리케이션 제공 방법 및 장치를 제시할 수 있다. According to any one of the above-described problem solving means, it is possible to provide a method and apparatus for providing an application that supports a plug-in function capable of flexibly changing an application function by deleting or adding an application function in a plug-in method.

전술한 과제 해결 수단 중 어느 하나에 의하면, 애플리케이션에서 사용시 메모리에 로딩되는 리소스를 동적으로 제어할 수 있도록 하여 플러그인을 통해 애플리케이션의 업데이트가 가능하도록 하는 플러그인을 제공하는 방법 및 장치를 제시할 수 있다.According to any one of the above-described problem solving means, it is possible to provide a method and apparatus for providing a plug-in that enables an application to be updated through a plug-in by dynamically controlling a resource loaded into a memory when an application is used.

개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained in the disclosed embodiments are not limited to the above-mentioned effects, and other effects not mentioned are obvious to those of ordinary skill in the art to which the embodiments disclosed from the following description belong. Can be understood.

도 1은 일 실시예에 따른 플러그인제공장치를 도시한 블록도이다.
도 2는 일 실시예에 따른 플러그인제공방법을 설명하기 위한 순서도이다.
1 is a block diagram showing a plug-in providing apparatus according to an embodiment.
2 is a flowchart illustrating a plug-in providing method according to an exemplary embodiment.

아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be modified and implemented in various different forms. In order to more clearly describe the features of the embodiments, detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments belong are omitted. In addition, parts not related to the description of the embodiments are omitted in the drawings, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a component is said to be "connected" with another component, this includes not only the case where it is'directly connected', but also the case where it is'connected with another element in the middle.' In addition, when a certain configuration "includes" a certain configuration, this means that other configurations may be further included rather than excluding other configurations, unless otherwise specified.

이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다. However, before describing this, the meaning of the terms used below is first defined.

‘플러그인’은 애플리케이션이 제공하는 기능이 구현된 코드를 포함하는 프로그램으로 애플리케이션에 추가적으로 설치되어 애플리케이션의 기능을 추가시키거나 변경시킬 수 있다.A'plug-in' is a program that includes code that implements the functions provided by the application, and is additionally installed in the application to add or change the function of the application.

위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.In addition to the terms defined above, terms that require explanation will be separately described below.

도 1은 일 실시예에 플러그인제공장치(10)를 설명하기 위한 블록도이다.1 is a block diagram illustrating a plug-in providing apparatus 10 according to an embodiment.

플러그인제공장치(10)는 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.The plug-in providing device 10 may be implemented as a computer or portable terminal, a television, a wearable device, etc. that can be connected to a server in a remote location through a network N or connected to other terminals and servers. Here, the computer includes, for example, a notebook equipped with a web browser, a desktop, a laptop, and the like, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , PCS (Personal Communication System), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), GSM (Global System for Mobile communications), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-Code Division Multiple Access (W-CDMA), Wireless Broadband Internet (Wibro), Smart Phone, Mobile Worldwide Interoperability for Microwave Access (WiMAX), etc. It may include a (Handheld) based wireless communication device. Further, the television may include Internet Protocol Television (IPTV), Internet Television (Internet Television), terrestrial TV, and cable TV. Furthermore, a wearable device is a type of information processing device that can be directly worn on the human body, such as watches, glasses, accessories, clothes, shoes, etc., and connects to a remote server or other terminal through a network directly or through another information processing device. Can be connected with.

이러한 플러그인제공장치(10)는 스프링 기반의 엔터프라이즈 애플리케이션을 제공할 수 있다. The plug-in providing device 10 may provide a spring-based enterprise application.

이때, ‘스프링(spring)’이란 애플리케이션을 개발하는 언어 중 하나인 자바를 기반으로 기업용 애플리케이션을 개발하기 위한 애플리케이션 프레임워크이다. In this case,'spring' is an application framework for developing enterprise applications based on Java, one of the languages for developing applications.

그리고 ‘컨테이너’란 프로그래머에 의해 작성된 코드의 처리과정을 독립적으로 수행하는 스프링의 구성으로 코드를 스스로 참조하여 객체의 생성과 소멸을 컨트롤할 수 있다.In addition, a'container' is a configuration of Spring that independently performs the processing of code written by the programmer, and can control the creation and destruction of objects by referring to the code by itself.

이러한 스프링 기반의 개발된 애플리케이션은 객체의 생성, 사용, 제거, 관계설정 등과 같은 객체에 대한 컨트롤 제어권을 애플리케이션 코드가 갖는 것이 아닌 독립된 컨테이너가 갖고 있으며, 이를 제어 반전(IoC: Inversion of Controller)이라 한다.In this Spring-based developed application, an independent container does not have control over objects such as object creation, use, removal, and relationship establishment, and this is called IoC: Inversion of Controller. .

이러한 특징으로 인해, 스프링 기반의 애플리케이션은 사용자에 의한 호출에 따라 컨테이너가 코드를 참조하여 객체를 관리한다. 컨테이너가 객체에서 이용되는 모든 리소스를 메모리에 로딩한다. Due to this feature, in Spring-based applications, the container refers to the code and manages the object according to the call by the user. The container loads all the resources used by the object into memory.

이에 플러그인제공장치(10)는 스프링 프레임워크에서 제공된는 컨테이너와 별도로 플러그인에 대한 객체를 관리하고, 플러그인에 의한 객체의 리소스를 메모리에 동적으로 관리하는 컨테이너를 제공한다. Accordingly, the plug-in providing device 10 provides a container that manages an object for a plug-in separately from a container provided by the spring framework, and dynamically manages the resources of the object by the plug-in in memory.

이러한 플러그인제공장치(10)는, 입출력부(110), 제어부(120), 통신부(130) 및 메모리(140)를 포함할 수 있다.The plug-in providing device 10 may include an input/output unit 110, a control unit 120, a communication unit 130, and a memory 140.

입출력부(110)는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 플러그인제공장치(10)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.The input/output unit 110 may include an input unit for receiving an input from a user, and an output unit for displaying information such as a result of performing a task or a state of the plug-in providing device 10. For example, the input/output unit 110 may include an operation panel for receiving a user input and a display panel for displaying a screen.

구체적으로, 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(110)는 다양한 입출력을 지원하는 구성을 포함할 수 있다.Specifically, the input unit may include devices capable of receiving various types of user input, such as a keyboard, a physical button, a touch screen, a camera, or a microphone. In addition, the output unit may include a display panel or a speaker. However, the present invention is not limited thereto, and the input/output unit 110 may include a configuration supporting various input/output.

제어부(120)는 플러그인제공장치(10)의 전체적인 동작을 제어하며, CPU 등과 같은 프로세서를 포함할 수 있다. 제어부(120)는 입출력부(110)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 플러그인제공장치(10)에 포함된 다른 구성들을 제어할 수 있다.The control unit 120 controls the overall operation of the plug-in providing apparatus 10 and may include a processor such as a CPU. The control unit 120 may control other components included in the plug-in providing apparatus 10 to perform an operation corresponding to a user input received through the input/output unit 110.

예를 들어, 제어부(120)는 메모리(140)에 저장된 프로그램을 실행시키거나, 메모리(140)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(140)에 저장할 수도 있다.For example, the control unit 120 may execute a program stored in the memory 140, read a file stored in the memory 140, or store a new file in the memory 140.

이러한 제어부(120)는 플러그인관리부(121), 객체분류부(122), 스프링객체관리부(123) 및 플러그인객체관리부(124)를 포함할 수 있다.The control unit 120 may include a plug-in management unit 121, an object classification unit 122, a spring object management unit 123, and a plug-in object management unit 124.

플러그인관리부(121)는 애플리케이션을 통해 제공되는 기능이 구현된 코드가 패키징된 플러그인을 관리할 수 있다. The plug-in management unit 121 may manage a plug-in in which a code implementing a function provided through an application is packaged.

하나의 실시예에 따라, 플러그인관리부(121)는 애플리케이션의 기능을 추가하거나 기능을 갱신하기 위한 프로그램인 플러그인을 애플리케이션에 추가 설치할 수 있다. According to an embodiment, the plug-in management unit 121 may additionally install a plug-in, which is a program for adding a function of an application or updating a function, to the application.

이를 위해, 플러그인관리부(121)는 서버(미도시)로부터 플러그인을 획득할 수 있다. To this end, the plug-in management unit 121 may obtain a plug-in from a server (not shown).

예를 들어, 플러그인관리부(121)는 애플리케이션이 제공하는 상담센터기능 중 고객의 문의 및 장애를 접수하는 기능을 제공하는 플러그인을 서버(미도시)로부터 획득할 수 있다. For example, the plug-in management unit 121 may obtain a plug-in from a server (not shown) that provides a function of receiving customer inquiries and failures among the consultation center functions provided by the application.

또는 예를 들어, 플러그인관리부(121)는 애플리케이션이 제공하는 상담센터기능 중 접수 유형별, 장애발생 진행현황, 접수처리 현황 등을 분류하는 기능을 업데이트하는 플러그인을 획득할 수 있다. Alternatively, for example, the plug-in management unit 121 may acquire a plug-in that updates a function of classifying a reception type, a failure occurrence status, a reception processing status, etc. among the consultation center functions provided by the application.

그리고 플러그인관리부(121)는 획득된 플러그인을 애플리케이션에 설치할 수 있다.In addition, the plug-in management unit 121 may install the acquired plug-in in the application.

예를 들어, 플러그인관리부(121)는 획득된 플러그인에 포함된 코드를 기초로 애플리케이션에 포함되는 코드를 갱신하거나 추가할 수 있다. For example, the plug-in management unit 121 may update or add a code included in the application based on the code included in the acquired plug-in.

다른 실시예에 따라, 플러그인관리부(121)는 플러그인을 삭제하여 애플리케이션의 기능을 삭제할 수 있다. According to another embodiment, the plug-in management unit 121 may delete a function of an application by deleting a plug-in.

예를 들어, 플러그인관리부(121)는 애플리케이션에 설치된 플러그인의 종류를 식별할 수 있고, 기 설치된 플러그인을 사용자의 입력에 따라 삭제할 수 있다. For example, the plug-in management unit 121 may identify the type of plug-in installed in the application, and may delete the previously installed plug-in according to a user's input.

또는 예를 들어, 플러그인관리부(121)은 획득된 플러그인과 사용하는 리소스가 중첩되어 실행시 충돌가능성이 있는 플러그인을 식별할 수 있고, 식별된 플러그인을 삭제할 수 있다. Alternatively, for example, the plug-in management unit 121 may identify a plug-in that has a possibility of collision when the acquired plug-in and the resource to be used are overlapped and executed, and may delete the identified plug-in.

그리고 객체분류부(122)는 애플리케이션의 객체 중 플러그인에 연관된 플러그인객체를 식별하여 분류할 수 있다. In addition, the object classifier 122 may identify and classify a plug-in object related to a plug-in among the objects of the application.

예를 들어, 객체분류부(122)는 애플리케이션의 객체 중 플러그인을 제외한 애플리케이션의 코드에서 생성되는 객체를 식별할 수 있고, 식별된 객체를 제외한 나머지 객체에 대해 플러그인객체로 분류할 수 있다. For example, the object classifying unit 122 may identify an object generated in an application code excluding a plug-in among the objects of the application, and classify the remaining objects excluding the identified object as plug-in objects.

또는 예를 들어, 객체분류부(122)는 플러그인관리부(121)에서 획득한 플러그인의 코드에 의해 생성되는 객체인 플러그인객체를 식별할 수 있다. Alternatively, for example, the object classifying unit 122 may identify a plug-in object, which is an object generated by a code of a plug-in obtained from the plug-in management unit 121.

이후, 객체분류부(122)는 애플리케이션의 객체 중 플러그인객체를 제외한 객체는 후술할 스프링객체관리부(123)를 통해 처리되도록 할 수 있고, 플러그인객체는 후술할 플러그인객체관리부(124)을 통해 처리되도록 할 수 있다.Thereafter, the object classification unit 122 may allow the objects of the application other than the plug-in object to be processed through the spring object management unit 123 to be described later, and the plug-in object to be processed through the plug-in object management unit 124 to be described later. can do.

그리고 스프링객체관리부(123)는 애플리케이션의 객체 중 스프링에서 제공되는 객체에서 이용되는 리소스를 메모리에 로딩할 수 있다. In addition, the spring object management unit 123 may load a resource used by an object provided by Spring among the objects of the application into the memory.

즉, 스프링객체관리부(123)는 애플리케이션의 객체 중 객체분류부(122)에 의해 플러그인객체로 식별된 객체를 제외한 나머지 객체에서 이용되는 리소스를 메모리(140)에 로딩할 수 있다. That is, the spring object management unit 123 may load resources used in the other objects into the memory 140 except for an object identified as a plug-in object by the object classification unit 122 among the objects of the application.

예를 들어, 스프링객체관리부(123)는 스프링 프레임워크에서 제공하는 컨테이너를 이용하여, 애플리케이션에서 플러그인을 제외한 나머지 코드에 의해 생성되는 객체에 대해 객체에서 이용되는 모든 리소스를 메모리(140)에 로딩되도록 할 수 있다. For example, the spring object management unit 123 loads all resources used in the object into the memory 140 for objects created by code other than plug-ins in the application using a container provided by the spring framework. can do.

그리고 플러그인객체관리부(124)는 플러그인에 포함되는 코드에 대응되는 기능에 대한 객체를 관리할 수 있다. In addition, the plug-in object management unit 124 may manage an object for a function corresponding to a code included in the plug-in.

예를 들어, 플러그인객체관리부(124)는 애플리케이션의 객체 중 플러그인의 코드에 기초하여 플러그인의 기능에 대응되는 플러그인객체를 생성, 사용, 관계설정 및 삭제 중 적어도 하나를 수행할 수 있다.For example, the plug-in object management unit 124 may perform at least one of creating, using, setting a relationship, and deleting a plug-in object corresponding to the plug-in function based on the plug-in code among the objects of the application.

그리고 플러그인객체관리부(124)는 플러그인객체에서 이용되는 리소스를 선택적으로 메모리(140)에 로딩할 수 있다. In addition, the plug-in object management unit 124 may selectively load resources used in the plug-in object into the memory 140.

하나의 실시예에 따라, 플러그인객체관리부(124)는 호출된 플러그인의 플러그인객체에서 이용되는 리소스를 메모리에 로딩할 수 있다. According to an embodiment, the plug-in object management unit 124 may load a resource used in a plug-in object of a called plug-in into a memory.

예를 들어, 플러그인객체관리부(124)는 애플리케이션의 상담 기능 중 플러그인 기능인 고객문의에 대한 과정에서 산출되는 자료를 분석하는 기능의 호출에 따라 생성된 플러그인객체의 리소스를 메모리(140)에 로딩할 수 있다. 이때, 플러그인객체관리부(124)는 상담 기능 중 호출되지 않은 플러그기능인 문의 전송 기능에 대응되는 플러그인객체의 리소스는 메모리(140)에 로딩하지 않을 수 있다.For example, the plug-in object management unit 124 may load the resources of the plug-in object generated in the memory 140 according to a call of a function to analyze data generated in the process of a customer inquiry, which is a plug-in function among the counseling functions of the application. have. In this case, the plug-in object management unit 124 may not load the resources of the plug-in object corresponding to the inquiry transmission function, which is a plug function that is not called among the counseling functions, into the memory 140.

또 다른 실시예에 따라, 플러그인객체관리부(124)는 애플리케이션에서 사용되는 모든 리소스를 메모리(140)에 로딩하되, 호출되지 않는 플러그인의 플러그인객체에서 이용되는 리소스를 메모리(140)에서 선택적으로 삭제할 수 있다. According to another embodiment, the plug-in object management unit 124 loads all resources used in the application into the memory 140, but can selectively delete resources used in the plug-in objects of the plug-in that are not called from the memory 140. have.

예를 들어, 플러그인객체관리부(124)는 애플리케이션의 실행에 따라 모든 플러그인에 대응되는 플러그인객체에서 이용되는 리소스를 모두 메모리(140)에 로딩할 수 있고, 기 설정된 시간을 초과하여 호출되지 않는 플러그인에 대응되는 플러그인객체에서 이용되는 리소스만을 메모리(140)에서 삭제할 수 있다. For example, the plug-in object management unit 124 may load all resources used in plug-in objects corresponding to all plug-ins into the memory 140 according to the execution of the application, and to plug-ins that are not called beyond a preset time. Only resources used in the corresponding plug-in object may be deleted from the memory 140.

이와 같이, 기존 스프링 프레임워크에서 제공되는 컨테이너와 별개로 플러그인에 의해 생성되는 플러그인객체를 관리하는 별도의 컨테이너를 제공하여 플러그인객체에서 이용되는 리소스의 동적 관리가 되도록 하여 플러그인을 이용한 애플리케이션의 업데이트가 가능하도록 할 수 있다. In this way, a separate container that manages plug-in objects created by plug-ins is provided separately from the container provided by the existing Spring framework so that resources used in plug-in objects can be dynamically managed, so that the application can be updated using plug-ins. You can do it.

통신부(130)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(130)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.The communication unit 130 may perform wired or wireless communication with other devices or networks. To this end, the communication unit 130 may include a communication module supporting at least one of various wired and wireless communication methods. For example, the communication module may be implemented in the form of a chipset.

통신부(130)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(130)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.The wireless communication supported by the communication unit 130 may be, for example, Wireless Fidelity (Wi-Fi), Wi-Fi Direct, Bluetooth, Ultra Wide Band (UWB), or Near Field Communication (NFC). In addition, wired communication supported by the communication unit 130 may be, for example, USB or HDMI (High Definition Multimedia Interface).

메모리(140)에는 파일, 어플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부(120)는 메모리(140)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(140)에 저장할 수도 있다. 또한, 제어부(120)는 메모리(140)에 설치된 프로그램을 실행할 수도 있다. Various types of data such as files, applications, and programs may be installed and stored in the memory 140. The controller 120 may access and use data stored in the memory 140, or may store new data in the memory 140. Also, the controller 120 may execute a program installed in the memory 140.

이러한 메모리(140)는 애플리케이션의 객체에서 이용되는 리소스가 저장될 수 있다. The memory 140 may store resources used by an object of an application.

도 2 는 일 실시예에 따른 플러그인제공방법을 설명하기 위한 순서도이다. 2 is a flowchart illustrating a plug-in providing method according to an exemplary embodiment.

도 2 에 도시된 실시예에 따른 플러그인제공방법은 도 1 에 도시된 플러그인제공장치(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 에 도시된 플러그인제공장치(10)에 관하여 이상에서 기술한 내용은 도 2 에 도시된 실시예에 따른 플러그인제공방법에도 적용될 수 있다.The plug-in providing method according to the embodiment shown in FIG. 2 includes steps processed in a time series by the plug-in providing apparatus 10 shown in FIG. 1. Therefore, even if omitted below, the contents described above with respect to the plug-in providing apparatus 10 illustrated in FIG. 2 may also be applied to the plug-in providing method according to the embodiment illustrated in FIG. 2.

우선 플러그인제공장치(10)는 상기 애플리케이션을 통해 제공되는 기능이 구현된 코드가 패키징된 플러그인을 획득하여 관리할 수 있다(S2001). First, the plug-in providing device 10 may acquire and manage a plug-in in which a code implementing a function provided through the application is packaged (S2001).

즉, 플러그인제공장치(10)는 애플리케이션이 제공하는 기능에 대응되는 플러그인의 삭제, 추가 및 변경 중 적어도 하나를 수행할 수 있다.That is, the plug-in providing device 10 may perform at least one of deletion, addition, and change of a plug-in corresponding to a function provided by an application.

예를 들어, 플러그인제공장치(10)는 상담 기능을 제공하는 애플리케이션에 대해 고객전화에 대응하여 자동 안내 및 분배 기능을 개선한 플러그인을 서버(미도시)로부터 획득할 수 있고, 획득된 플러그인을 설치하여 애플리케이션을 갱신할 수 있다. For example, the plug-in providing device 10 may obtain a plug-in with improved automatic guidance and distribution functions in response to customer calls for an application providing a counseling function from a server (not shown), and install the acquired plug-in. To update the application.

그리고 플러그인제공장치(10)는 애플리케이션의 객체 중 플러그인에 연관된 플러그인객체를 식별하여 분류할 수 있다(S2002).In addition, the plug-in providing device 10 may identify and classify plug-in objects related to the plug-in among the objects of the application (S2002).

하나의 실시예에 따라, 플러그인제공장치(10)는 플러그인의 코드에 기초하여 플러그인객체를 식별하여 분류할 수 있다. According to an embodiment, the plug-in providing device 10 may identify and classify plug-in objects based on the code of the plug-in.

예를 들어, 플러그인제공장치(10)는 S2001단계에서 애플리케이션에 반영된 플러그인 리스트를 통해 애플리케이션의 객체 중 플러그인에 의해 생성되거나 갱신된 객체를 식별할 수 있다. For example, the plug-in providing device 10 may identify an object created or updated by a plug-in among the objects of the application through the plug-in list reflected in the application in step S2001.

다른 실시예에 따라, 플러그인제공장치(10)는 스프링에서 제공되는 컨테이너에 의해 처리되는 객체를 식별할 수 있고, 식별된 객체를 제외한 나머지 객체를 플러그인객체로 분류할 수 있다. According to another embodiment, the plug-in providing device 10 may identify an object processed by a container provided by Spring, and classify other objects excluding the identified object as plug-in objects.

예를 들어, 플러그인제공장치(10)는 스프링에서 제공되는 컨테이너에 의해 제어되는 애플리케이션의 기본 코드를 제외한 나머지 코드에 의해 생성되는 객체를 플러그인객체로 식별하여 분류할 수 있다. For example, the plug-in providing device 10 may identify and classify an object generated by the rest of the code as a plug-in object except for the basic code of an application controlled by a container provided by Spring.

S2002단계에서 분류된 객체가 플러그인객체를 제외한 나머지 객체의 경우, 플러그인제공장치(10)는 스프링에서 제공되는 컨테이너로 전달하여 객체에서 이용되는 리소스를 메모리에 로딩할 수 있다(S2003). In the case where the object classified in step S2002 is the other objects other than the plug-in object, the plug-in providing device 10 may transfer the object to the container provided by Spring and load the resource used in the object into the memory (S2003).

예를 들어, 플러그인제공장치(10)는 스프링에서 제공된 컨테이너를 통해 애플리케이션의 코드 중 플러그인의 코드를 제외한 코드가 이용되어 생성된 객체에 대해 객체에서 이용되는 모든 리소스를 메모리에 로딩할 수 있다.For example, the plug-in providing device 10 may load all resources used in the object into memory for an object created by using code excluding plug-in code among application codes through a container provided by Spring.

이와 달리, S2002단계에서 분류된 객체가 플러그인객체인 경우, 플러그인제공장치(10)는 스프링에서 제공되는 컨테이너에 의해 관리되는 객체와 별도로 플러그인객체를 관리할 수 있고, 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩할 수 있다(S2004). In contrast, when the object classified in step S2002 is a plug-in object, the plug-in providing device 10 can manage the plug-in object separately from the object managed by the container provided by Spring, and select resources used in the plug-in object. It can be loaded into the memory by using (S2004).

예를 들어, 플러그인제공장치(10)는 하나의 실시예에 따라 호출된 플러그인의 플러그인객체에서 이용되는 리소스를 메모리에 로딩할 수 있다. For example, the plug-in providing apparatus 10 may load a resource used in a plug-in object of a called plug-in into a memory according to an embodiment.

예를 들어, 플러그인제공장치(10)는 애플리케이션의 상담 기능 중 플러그인 기능인 처리현황을 실시간 모니터링을 지원하는 기능의 호출에 따라 생성된 플러그인객체의 리소스만을 메모리에 로딩할 수 있다.For example, the plug-in providing device 10 may load only resources of a plug-in object generated in response to a call of a function that supports real-time monitoring of a processing status of a plug-in function among the counseling functions of an application into the memory.

또 다른 실시예에 따라, 플러그인제공장치(10)는 애플리케이션에서 사용되는 모든 리소스를 메모리에 로딩하되, 호출되지 않는 플러그인의 플러그인객체에서 이용되는 리소스를 메모리에서 선택적으로 삭제할 수 있다. According to another embodiment, the plug-in providing device 10 loads all resources used in an application into a memory, but may selectively delete resources used in plug-in objects of a plug-in that are not called from the memory.

예를 들어, 플러그인제공장치(10)는 애플리케이션의 실행에 따라 모든 플러그인에 대응되는 플러그인객체에서 이용되는 리소스를 모두 메모리에 로딩할 수 있고, 기 설정된 시간을 초과하여 호출되지 않는 플러그인에 대응되는 플러그인객체에서 이용되는 리소스만을 메모리에서 삭제할 수 있다. For example, the plug-in providing device 10 may load all resources used in plug-in objects corresponding to all plug-ins into memory according to the execution of the application, and plug-ins corresponding to plug-ins that are not called beyond a preset time. Only resources used by an object can be deleted from memory.

이와 같이 스프링에서 객체를 관리하는 컨테이너와 별개로 플러그인에 의해 생성되는 플러그인객체를 별도로 관리하여 플러그인객체에서 이용되는 리소스를 동적으로 핸들링함으로써 플러그인을 통한 애플리케이션 업데이트가 가능하도록 할 수 있다. In this way, the plug-in object created by the plug-in is managed separately from the container that manages the object in Spring, and the resources used in the plug-in object are dynamically handled so that the application can be updated through the plug-in.

이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term'~ unit' used in the above embodiments refers to software or hardware components such as field programmable gate array (FPGA) or ASIC, and the'~ unit' performs certain roles. However,'~ part' is not limited to software or hardware. The'~ unit' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and procedures. , Subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables.

구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units' or separated from the additional elements and'~ units'.

뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.

도 2 를 통해 설명된 실시예에 따른 플러그인제공방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다.예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다. The plug-in providing method according to the embodiment described with reference to FIG. 2 may be implemented in the form of a computer-readable medium storing instructions and data executable by a computer. In this case, the instructions and data may be stored in the form of a program code, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation. Further, the computer-readable medium may be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, and removable and non-removable media. Further, the computer-readable medium may be a computer recording medium, which is volatile and non-volatile implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. It may include both volatile, removable and non-removable media. For example, computer recording media may include magnetic storage media such as HDDs and SSDs, optical recording media such as CDs, DVDs, and Blu-ray discs, or accessible through a network. It may be a memory included in the server.

또한 도 2 를 통해 설명된 실시예에 따른 플러그인제공방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. In addition, the plug-in providing method according to the embodiment described with reference to FIG. 2 may be implemented as a computer program (or computer program product) including instructions executable by a computer. The computer program includes programmable machine instructions processed by a processor, and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . Further, the computer program may be recorded on a tangible computer-readable recording medium (eg, memory, hard disk, magnetic/optical medium, solid-state drive (SSD), etc.).

따라서 도 2 를 통해 설명된 실시예에 따른 플러그인제공방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Accordingly, the plug-in providing method according to the embodiment described with reference to FIG. 2 may be implemented by executing the computer program as described above by the computing device. The computing device may include at least some of a processor, a memory, a storage device, a high speed interface connected to the memory and a high speed expansion port, and a low speed interface connected to the low speed bus and the storage device. Each of these components is connected to each other using a variety of buses, and can be mounted on a common motherboard or in other suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Here, the processor can process commands within the computing device. Such commands include, for example, to display graphic information for providing a GUI (Graphic User Interface) on an external input or output device, such as a display connected to a high-speed interface. Examples are instructions stored in memory or storage devices. As another embodiment, multiple processors and/or multiple buses may be utilized with multiple memories and memory types as appropriate. In addition, the processor may be implemented as a chipset formed by chips including a plurality of independent analog and/or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. As an example, the memory may be composed of volatile memory units or a set of them. As another example, the memory may be composed of a nonvolatile memory unit or a set of them. Also, the memory may be another type of computer-readable medium such as a magnetic or optical disk.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. In addition, the storage device may provide a large-capacity storage space to the computing device. The storage device may be a computer-readable medium or a configuration including such a medium, for example, devices in a storage area network (SAN) or other configurations, a floppy disk device, a hard disk device, an optical disk device, Or it may be a tape device, a flash memory, or another semiconductor memory device or device array similar thereto.

상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustrative purposes only, and those of ordinary skill in the art to which the above-described embodiments belong can easily transform into other specific forms without changing the technical idea or essential features of the above-described embodiments. You can understand. Therefore, it should be understood that the above-described embodiments are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected through the present specification is indicated by the claims to be described later rather than the detailed description, and should be interpreted as including all changes or modified forms derived from the meaning and scope of the claims and the concept of equivalents thereof. .

10: 플러그인제공장치
110: 입출력부
120: 제어부
121: 플러그인관리부 122: 객체분류부
123: 스프링객체관리부 124: 플러그인객체관리부
130: 통신부
140: 메모리
10: Plug-in providing device
110: input/output unit
120: control unit
121: plug-in management unit 122: object classification unit
123: Spring object management unit 124: Plug-in object management unit
130: communication department
140: memory

Claims (14)

스프링(spring)을 기반으로 한 애플리케이션에 플러그인을 제공하는 장치에 있어서,
상기 애플리케이션의 객체 중 상기 플러그인에 연관된 플러그인객체를 식별하여 분류하는 객체분류부; 및
상기 애플리케이션의 객체에서 이용되는 리소스 중 상기 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩하는 플러그인객체관리부를 포함하는 플러그인제공장치.
In a device that provides a plug-in to an application based on spring,
An object classifying unit for identifying and classifying plug-in objects related to the plug-in among objects of the application; And
Plug-in providing apparatus comprising a plug-in object management unit for selectively loading a resource used in the plug-in object into a memory among the resources used in the object of the application.
제 1 항에 있어서,
상기 플러그인제공장치는,
상기 애플리케이션을 통해 제공되는 기능이 구현된 코드가 패키징된 플러그인을 관리하는 플러그인관리부를 더 포함하는, 플러그인제공장치.
The method of claim 1,
The plug-in providing device,
A plug-in providing device further comprising a plug-in management unit for managing a plug-in in which the code in which the function provided through the application is implemented is packaged.
제 2 항에 있어서,
상기 플러그인관리부는,
상기 애플리케이션이 제공하는 기능에 대응되는 플러그인의 삭제, 추가 및 변경 중 적어도 하나를 수행하는, 플러그인제공장치.
The method of claim 2,
The plug-in management unit,
A plug-in providing device that performs at least one of deletion, addition, and change of a plug-in corresponding to a function provided by the application.
제 1 항에 있어서,
상기 플러그인제공장치는,
상기 애플리케이션의 객체 중 상기 플러그인객체를 제외한 객체에서 이용되는 리소스를 메모리에 로딩하는 스프링객체관리부를 더 포함하는, 플러그인제공장치.
The method of claim 1,
The plug-in providing device,
A plug-in providing device further comprising a spring object management unit for loading resources used by objects other than the plug-in object among the objects of the application into a memory.
제 1 항에 있어서,
상기 플러그인객체관리부는,
상기 플러그인이 호출되면, 호출된 플러그인에 대응되는 객체에서 이용되는 리소스를 메모리에 로딩하는, 플러그인제공장치.
The method of claim 1,
The plug-in object management unit,
When the plug-in is called, a plug-in providing device for loading a resource used in an object corresponding to the called plug-in into a memory.
제 1 항에 있어서,
상기 플러그인객체관리부는,
상기 플러그인이 삭제되면, 삭제된 플러그인에 대응되는 객체에서 이용되는 리소스를 메모리에서 삭제하는, 플러그인제공장치.
The method of claim 1,
The plug-in object management unit,
When the plug-in is deleted, a plug-in providing apparatus for deleting a resource used in an object corresponding to the deleted plug-in from a memory.
플러그인제공장치가 스프링을 기반으로 한 애플리케이션에 플러그인을 제공하는 방법에 있어서,
상기 애플리케이션의 객체 중 상기 플러그인에 연관된 플러그인객체를 식별하여 분류하는 단계; 및
상기 애플리케이션의 객체에서 이용되는 리소스 중 상기 플러그인객체에서 이용되는 리소스를 선택적으로 메모리에 로딩하는 단계를 포함하는, 플러그인제공방법.
In a method for a plug-in providing device to provide a plug-in to a Spring-based application,
Identifying and classifying plug-in objects related to the plug-in among the objects of the application; And
A method of providing a plug-in comprising the step of selectively loading a resource used in the plug-in object into a memory among resources used in the application object.
제 7 항에 있어서,
상기 플러그인제공방법은,
상기 애플리케이션을 통해 제공되는 기능이 구현된 코드가 패키징된 플러그인을 관리하는 단계를 더 포함하는, 플러그인제공방법.
The method of claim 7,
The plug-in providing method,
The method of providing a plug-in further comprising the step of managing a plug-in in which a code in which a function provided through the application is implemented is packaged.
제 8 항에 있어서,
상기 플러그인을 관리하는 단계는,
상기 애플리케이션이 제공하는 기능에 대응되는 플러그인의 삭제, 추가 및 변경 중 적어도 하나를 수행하는 단계를 포함하는, 플러그인제공방법.
The method of claim 8,
The step of managing the plug-in,
And performing at least one of deletion, addition, and change of a plug-in corresponding to a function provided by the application.
제 7 항에 있어서,
상기 플러그인제공방법은,
상기 애플리케이션의 객체 중 상기 플러그인객체를 제외한 객체에서 이용되는 리소스를 메모리에 로딩하는 단계를 더 포함하는, 플러그인제공방법.
The method of claim 7,
The plug-in providing method,
The method of providing a plug-in further comprising loading a resource used by an object other than the plug-in object among the objects of the application into a memory.
제 7 항에 있어서,
상기 리소스를 메모리에 선택적으로 로딩하는 단계는,
상기 플러그인이 호출되면, 호출된 플러그인에 대응되는 객체에서 이용되는 리소스를 메모리에 로딩하는 단계를 포함하는, 플러그인제공방법.
The method of claim 7,
The step of selectively loading the resource into a memory,
When the plug-in is called, loading a resource used by an object corresponding to the called plug-in into a memory.
제 7 항에 있어서,
상기 리소스를 메모리에 선택적으로 로딩하는 단계는,
상기 플러그인이 삭제되면, 삭제된 플러그인에 대응되는 객체에서 이용되는 리소스를 메모리에서 삭제하는 단계를 포함하는, 플러그인제공방법.
The method of claim 7,
The step of selectively loading the resource into a memory,
And when the plug-in is deleted, deleting a resource used in an object corresponding to the deleted plug-in from a memory.
컴퓨터에 제 7 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium in which a program for causing a computer to execute the method according to claim 7 is recorded. 플러그인제공장치에 의해 수행되며, 제 7 항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
A computer program executed by a plug-in providing device and stored in a medium to perform the method according to claim 7.
KR1020180120388A 2018-10-10 2018-10-10 Method and apparatus for providing plug-in to application developed on spring framework KR102191453B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180120388A KR102191453B1 (en) 2018-10-10 2018-10-10 Method and apparatus for providing plug-in to application developed on spring framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180120388A KR102191453B1 (en) 2018-10-10 2018-10-10 Method and apparatus for providing plug-in to application developed on spring framework

Publications (2)

Publication Number Publication Date
KR20200040456A KR20200040456A (en) 2020-04-20
KR102191453B1 true KR102191453B1 (en) 2020-12-15

Family

ID=70467325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120388A KR102191453B1 (en) 2018-10-10 2018-10-10 Method and apparatus for providing plug-in to application developed on spring framework

Country Status (1)

Country Link
KR (1) KR102191453B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475193B (en) * 2020-06-04 2021-03-30 成都安易迅科技有限公司 Plug-in dynamic updating method and device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070786A1 (en) 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based event processing networks for event server
CN102662656A (en) 2012-03-15 2012-09-12 北京神州数码思特奇信息技术股份有限公司 Plug-in method and system for program structure

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628314B1 (en) * 2014-04-16 2016-06-08 주식회사 제이티엘소프트 The Visual Spring Development Environment System for Visualizing Application Architecture and Method Call Sequence
KR102303665B1 (en) * 2017-03-29 2021-09-17 삼성전자주식회사 Method for providing payment service having plug-in service and electronic device therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070786A1 (en) 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based event processing networks for event server
CN102662656A (en) 2012-03-15 2012-09-12 北京神州数码思特奇信息技术股份有限公司 Plug-in method and system for program structure

Also Published As

Publication number Publication date
KR20200040456A (en) 2020-04-20

Similar Documents

Publication Publication Date Title
JP6912583B2 (en) Service processing method and equipment
KR102277172B1 (en) Apparatus and method for selecting artificaial neural network
US11003438B2 (en) Method and device for incremental upgrade
US8984480B2 (en) Automating and/or recommending data sharing coordination among applications in mobile devices
US9733927B2 (en) Detection of software or hardware incompatibilities in software packages
US10608877B2 (en) Mechanism for facilitating dynamic and trusted cloud-based extension upgrades for computing systems
US20150309849A1 (en) Method and system for managing and presenting multiple application containers as a single logical container
US10360076B1 (en) Prioritized rebalancing of distributed file system
CN104049968A (en) Metadata-driven version management service in pervasive environment
WO2015078294A1 (en) Kernel module loading method and apparatus
KR102191453B1 (en) Method and apparatus for providing plug-in to application developed on spring framework
US10025607B2 (en) Optimizing a file system interface in a virtualized computing environment
US20190065223A1 (en) Disabling Just-In-Time Translation For Application Functions
US20210149880A1 (en) Systems and methods for extendable smart contracts in distributed ledger technology
WO2020135129A1 (en) Method and device for loading plug-in of application, and terminal
KR102116395B1 (en) Apparatus and method for testing application
KR101945918B1 (en) Neural network execution apparatus for memory write reduction and method thereof
CN105279164A (en) File processing method and device based on IOS system
CN113127438A (en) Method, apparatus, server and medium for storing data
US11528236B2 (en) User-based data tiering
US20180054462A1 (en) Method and system for configuring simple kernel access control policy for android-based mobile terminal
US10318250B1 (en) Systems and methods for locating functions for later interception
US20210216624A1 (en) Systems and methods for protecting files indirectly related to user activity
US11733974B2 (en) Method and system for automatically creating instances of containerized servers
CN111142972B (en) Method, apparatus, system, and medium for extending functions of application program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant