KR100751456B1 - OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT - Google Patents

OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT Download PDF

Info

Publication number
KR100751456B1
KR100751456B1 KR1020060026999A KR20060026999A KR100751456B1 KR 100751456 B1 KR100751456 B1 KR 100751456B1 KR 1020060026999 A KR1020060026999 A KR 1020060026999A KR 20060026999 A KR20060026999 A KR 20060026999A KR 100751456 B1 KR100751456 B1 KR 100751456B1
Authority
KR
South Korea
Prior art keywords
service
framework
osgi
platform
stub
Prior art date
Application number
KR1020060026999A
Other languages
Korean (ko)
Other versions
KR20060042412A (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 KR1020060026999A priority Critical patent/KR100751456B1/en
Publication of KR20060042412A publication Critical patent/KR20060042412A/en
Application granted granted Critical
Publication of KR100751456B1 publication Critical patent/KR100751456B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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

Abstract

본 발명은 웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플랫폼을 이용하여 서비스를 제공한다는 것으로, 이를 위하여 본 발명은, OSGi 서비스 플랫폼 동일한 서비스를 필요로 하는 모든 OSGi 프레임워크에 서비스를 설치 등록한 후에 이러한 서비스를 제공하는 종래 방법과는 달리, 웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플랫폼을 이용하여 등록 요청된 서비스에 대한 스텁 번들을 생성하여 해당 서비스를 등록하고, 임의의 서비스가 요청될 때, 요청된 서비스가 존재할 경우 이를 제공하며, 요청된 서비스가 존재하지 않을 경우 해당 서비스가 외부 프레임워크에서 제공되는 것인지를 체크한 후에, 해당 서비스가 외부 프레임워크에서 제공되는 것일 경우 해당 프레임워크의 임포트(import) 여부에 따라 상기 해당 서비스에 대한 외부 프레임워크를 임포트하고, 이를 제공함으로써, 스텁으로 이루어진 가상의 복사본을 설치하여 동적으로 스텁 번들을 생성, 관리, 설치 또는 제거할 수 있는 OSGi 서비스 플랫폼을 이용하여 웹 서비스에 대한 OSGi 프레임워크간 투명한 상호 작용을 구현하고, OSGi 프레임워크간의 서비스 공유를 수행하여 요청된 서비스를 제공할 수 있는 것이다.The present invention provides a service using an OSGi service platform that implements interaction between OSGi frameworks for web services. To this end, the present invention provides a service to all OSGi frameworks that require the same service. Unlike the conventional method of providing such a service after installation registration, using the OSGi service platform that implements the interoperability of the OSGi framework for the web service, create a stub bundle for the requested service to register and register the service, When a service is requested, it is provided if the requested service exists. If the requested service does not exist, it is checked whether the service is provided by an external framework, and then the service is provided by an external framework. If so, depending on whether the framework is imported By importing the external framework for the service and providing it, the OSGi service platform can be used to create, manage, install, or remove stub bundles dynamically by installing virtual copies of stubs. By implementing transparent interactions between OSGi frameworks and sharing services between OSGi frameworks, it is possible to provide requested services.

OSGi(Open Service Gateway initiative), 프레임워크(Framework) Open Service Gateway initiative (OSGi), framework

Description

OSGi 서비스 플랫폼 및 이를 이용한 서비스 제공 방법{OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT}OSGi service platform and service providing method using the same {OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT}

도 1은 본 발명의 바람직한 실시예에 따른 외부 프레임워크의 서비스 접근을 위한 구조를 적용하는데 적합한 OSGi 서비스 플랫폼의 블록구성도,1 is a block diagram of an OSGi service platform suitable for applying a structure for service access of an external framework according to a preferred embodiment of the present invention;

도 2a 및 도 2b는 본 발명의 바람직한 실시예에 따른 프레임워크 임포터 및 프레임워크 익스포터의 블록 구성도,2A and 2B are block diagrams of a framework importer and a framework exporter according to a preferred embodiment of the present invention;

도 3은 본 발명의 제 1 실시예에 따라 프레임워크간의 서비스 이용을 위한 프레임워크 익스포터의 공유 서비스에 대한 준비하는 과정을 나타낸 플로우차트,3 is a flowchart illustrating a process of preparing a shared service of a framework exporter for using a service between frameworks according to a first embodiment of the present invention;

도 4는 본 발명의 제 2 실시예에 따라 프레임워크간의 서비스 이용을 위한 프레임워크 임포터의 원격 서비스에 대한 준비 과정을 나타낸 플로우차트,4 is a flowchart illustrating a preparation process for a remote service of a framework importer for using a service between frameworks according to a second embodiment of the present invention;

도 5는 본 발명의 제 3 실시예에 따라 프레임워크간의 서비스 이용을 위한 어플리케이션의 서비스 요청에 대한 처리 과정을 나타낸 플로우차트,5 is a flowchart illustrating a process of processing a service request of an application for service use between frameworks according to a third embodiment of the present invention;

도 6은 본 발명의 제 4 실시예에 따라 프레임워크간의 서비스 이용을 위한 각 구성 간의 시간적 흐름에 따른 상호 작용 과정을 나타낸 도면.6 is a diagram illustrating an interaction process according to time flows between components for service usage between frameworks according to a fourth embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100 : 로컬 플랫폼 102 : 어플리케이션100: local platform 102: application

104 : 프레임워크 임포터 104a : 등록데이터 저장부104: framework importer 104a: registration data storage unit

104b : 연결 요청부 104c : 스텁 관리부104b: connection request unit 104c: stub management unit

106 : 로컬측 웹 서비스 지원 모듈 108 : 로컬측 프레임워크106: local side web service support module 108: local side framework

200 : 원격 플랫폼 202 : 서비스200: remote platform 202: service

204 : 프레임워크 익스포터 204a : 프레임워크 공유데이터 저장부204: Framework exporter 204a: Framework shared data storage

204b : 연결 결정부 204c : 스텁 생성부204b: connection determination unit 204c: stub generation unit

206 : 원격측 웹 서비스 지원 모듈 208 : 원격측 프레임워크206: remote side web service support module 208: remote side framework

본 발명은 OSGi 서비스 플렛폼을 이용하여 서비스를 제공하는 기법에 관한 것으로, 더욱 상세하게는 웹 서비스에 대한 OSGi 프레임워크 간 상호 작용을 구현하는데 적합한 OSGi 서비스 플랫폼 및 이를 이용한 서비스 제공 방법에 관한 것이다.The present invention relates to a technique for providing a service using an OSGi service platform, and more particularly, to an OSGi service platform and a service providing method using the same, for implementing an interaction between OSGi frameworks for web services.

잘 알려진 바와 같이, 전자 기술의 발전에 따라 전자 기기들이 지능화되고 인터넷의 보급이 확산되면서 다양한 기술을 통합하여 더 편리한 서비스를 제공하고자 하는 새로운 유비쿼터스 기술들이 활발히 연구되고 있다.As is well known, new ubiquitous technologies are actively being researched to provide more convenient services by integrating various technologies as electronic devices become more intelligent and the spread of the Internet is spread according to the development of electronic technologies.

특히, 스마트 홈(Smart-Home) 기술은 이러한 유비쿼터스 기술들 중의 하나로, 다양한 기능을 갖는 가정 내 디지털 정보 기기들을 기능 공유, 데이터 공유, 원격 제어 등을 위해 네트워크로 연결됨을 의미하는 홈 네트워크의 개념을 넘어 서비스들의 지능화와 서비스들 간의 통합에 따른 더 나은 서비스를 창출해 내는 것들 을 포함하는 중요한 기술이다.In particular, Smart-Home technology is one of these ubiquitous technologies, and refers to the concept of a home network, which means that digital information devices having various functions are connected to a network for function sharing, data sharing, and remote control. Beyond that, it is an important technology that includes the creation of better services through the intelligence of services and the integration between services.

이러한 스마트 홈 기술에서 여러 가지 서비스들을 관리하고 서로 연결해 줄 수 있는 기술에는 서비스 플랫폼이 필요한데, 대표적인 서비스 플랫폼으로는 비영리 표준화 단체인 OSGi(Open Service Gateway initiative)에서 제시하는 OSGi 서비스 플랫폼이 있다.In this smart home technology, a service platform is required for a technology that can manage and connect various services. A representative service platform is an OSGi service platform proposed by the Open Service Gateway initiative (OSGi).

OSGi 서비스 플랫폼은 스마트 홈 환경에서 내부와 외부 환경의 연결을 담당하는 홈 게이트웨이(Home Gateway)의 내부에서 동작하며 내부의 장비와 서비스들을 관리하고, 이를 기반으로 외부의 다양한 서비스에 연결시켜주는 역할을 한다.OSGi service platform operates inside Home Gateway that manages connection between internal and external environment in smart home environment, manages internal equipment and services, and connects various external services based on this. do.

또한, OSGi 핵심(Core) 표준에서는 프레임워크(Framework) 내부에서 서비스와 장비들을 등록(연결), 관리, 실행시키는 서비스 프레임워크와 몇 가지의 기초 서비스들을 정의하고 사용자 프로그램의 작성에 대한 내용을 정의하고 있다.In addition, the OSGi Core standard defines a service framework that registers (connects), manages, and executes services and devices within the framework, defines some basic services, and defines the contents of user program creation. Doing.

한편, OSGi 서비스 플랫폼에서의 프레임워크는 필요한 서비스를 설치, 등록하여 그 정보를 저장해 두고, 사용자가 필요한 서비스를 요청할 때 해당 서비스를 검색하여 제공하게 된다.On the other hand, the framework in the OSGi service platform installs and registers a required service, stores the information, and searches for and provides a corresponding service when a user requests a required service.

그리고, 스마트 홈 환경에서 지능형 서비스를 구현하기 위해서는 로컬(Local) 프레임워크의 서비스만이 아닌 원격(Remote) 서비스와도 연동이 되어야 하고, 특히 유비쿼터스 환경에서 컴퓨터가 제공하는 서비스는 역동성을 전제하여야 한다.And, in order to implement intelligent service in smart home environment, it should be linked with remote service as well as local framework service. Especially, service provided by computer in ubiquitous environment should be dynamic do.

또한, 개별 기기들이 지능화되고 처리 능력이 향상됨에 따라 OSGi는 홈 네트워크 내 한곳에서만이 아닌 여러 기기에서 동작할 수 있는 멀티 서비스 플랫폼 (Multi-Service-Platform) 구조도 나타나게 되었는데, OSGi 서비스 플랫폼에서는 프레임워크 간의 통신이나 서비스 공유 방법 등에 대해서는 어떠한 지표도 제공해 주지 못하고 있는 실정이다. 즉, OSGi 표준에서 정의하는 서비스의 이용은 하나의 프레임워크 안에서 동일한 서비스 저장소를 이용하는 서비스들 간에 서로가 제공하는 서비스를 이용하도록 하는데 한정되어 있는 실정이다.In addition, as individual devices become intelligent and their processing power increases, OSGi has emerged as a multi-service-platform structure that can operate on multiple devices, not just on a single location within a home network. It does not provide any indicators on how to communicate with each other or share services. That is, the use of services defined in the OSGi standard is limited to allowing services provided by each other between services using the same service repository in one framework.

이러한 플랫폼에서는 동일한 서비스를 필요로 하는 모든 OSGi에 설치하여야 하므로 많은 중복을 발생시키게 되는데, 예를 들어 프레임워크 A에 a1이라는 서비스를 실행하기 위해 b1이라는 서비스를 필요로 하고, b1은 프레임워크 B에 있음에도 불구하고, 프레임워크 A에 b1이라는 서비스를 설치하여야 하는 문제가 있었다.These platforms have to be installed on all OSGi that need the same service, which creates a lot of redundancy. For example, to run a service called a1 in framework A, a service called b1 is required, and b1 is required to work in framework B. In spite of this, there was a problem of installing a service called b1 in Framework A.

또한, 서비스 이용에 비용을 지불하는 서비스 임대나 판매의 비즈니스 모델을 사용하는 서비스에서 또는 b1에 대한 접근 권한을 프레임워크 A에 전부 할당하는 여부와 같은 해당 서비스에 관한 접근 권한 문제와 결합 시 더욱 심각한 문제를 야기하는 문제점이 있었다.It is also more severe in services that use the business model of renting or selling services that pay for their use, or in combination with access rights issues for those services, such as whether to assign all access rights to b1 to Framework A. There was a problem that caused the problem.

상술한 문제점을 해결하기 위해 종래에 제안된 바로는 국내공개특허 제2004-1194호(네트워크 상에서의 서비스 공유를 위한 장치 및 방법)에서는 서비스의 접근을 마스터 에이전트와 일반 에이전트로 분할하여 기본 서비스에 접근하는 방식을 제시하였으나 이는 one-one-one 방식으로 모든 서비스에 대한 작업을 반복하기 때문에 비효율적이며, 그 구성(configuration) 문제가 크게 발생할 수 있고, 서비스 자체에 작업을 해야 함으로써 실제 적용시키기에는 제약이 많은 문제점이 있으며, 서비스 자체에 기능을 분할하는데 유용한 것보다는 위치상 다른 곳에서 이미 제공 하는 서비스를 이용할 수 있도록 하는데 한정되어 있었다.In order to solve the above problems, Korean Patent Laid-Open Publication No. 2004-1194 (A device and method for service sharing on a network) divides access of a service into a master agent and a general agent to access a basic service. However, this method is inefficient because it repeats the operation of all services in one-one-one way, and the configuration problem can occur greatly. There are many problems, and rather than being useful for dividing functions into the services themselves, they are limited to making services already available elsewhere in their location.

따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위한 것으로, 웹 서비스(Web-Service) 기술과 소정의 연동 알고리즘을 이용하여 네트워크 상에서 임의의 OSGi 프레임워크들간의 서비스 공유를 수행할 수 있는 OSGi 서비스 플랫폼 및 이를 이용한 서비스 제공 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention is to solve the above problems of the prior art, OSGi that can perform service sharing between any OSGi framework on the network using a Web-Service technology and a predetermined interworking algorithm. The purpose is to provide a service platform and a service providing method using the same.

본 발명의 다른 목적은 OSGi 프레임워크간 투명한 상호 작용을 수행하는 OSGi 서비스 플랫폼을 제공하여 서비스 제공 과정을 투명하게(transparent) 수행하며, 이의 적용에 있어 애드 혹(ad-hoc) 방식이 아닌 일반적인(general) 방식으로 구현하여 사용자 설정을 최소화할 수 있는 OSGi 서비스 플랫폼 및 이를 이용한 서비스 제공 방법을 제공하는데 있다.It is another object of the present invention to provide an OSGi service platform that performs transparent interaction between OSGi frameworks to transparently perform the service provision process, and in application thereof, a general (not ad-hoc) method is used. It is to provide an OSGi service platform and a service providing method using the same that can be implemented by the general) method to minimize user settings.

상기 목적을 달성하기 위한 일 관점에서 본 발명은, 웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플랫폼으로서, 어플리케이션이 수행될 임의의 플랫폼으로서, 외부 서비스를 임포트하여 사용하도록 상기 외부 서비스 사용을 위한 연결을 요청하고, 해당 서비스에 대한 스텁 번들을 전송받아 설치하며, 해당 서비스 등록을 수행하는 로컬 플랫폼과, 상기 어플리케이션이 수행되기 위해 필요한 서비스가 존재하는 다른 플랫폼으로서, 요청된 해당 서비스 공유를 위해 스텁 번들을 생성하고, 서비스 연결 요청에 대한 허가를 조율하며, 공유 관련 내용을 기록함과 동시에 공유 서비스간 충돌을 방지하는 원격 플랫폼을 포함하는 OSGi 서비스 플랫폼을 제공한다.In an aspect to achieve the above object, the present invention provides an OSGi service platform that implements interaction between OSGi frameworks for a web service, and is an arbitrary platform on which an application is to be executed. A local platform that requests a connection for use, receives and installs a stub bundle for a corresponding service, and performs a service registration, and another platform in which a service necessary for the application is executed exists, sharing the requested service. It provides an OSGi service platform that includes a remote platform that generates stub bundles, coordinates permission for service connection requests, records sharing-related content, and prevents conflicts between shared services.

상기 목적을 달성하기 위한 다른 관점에서 본 발명은, 웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플랫폼을 이용하여 임의의 서비스를 제공하는 방법으로서, 등록 요청된 서비스에 대한 스텁 번들을 생성하여 해당 서비스를 등록하는 단계와, 임의의 서비스 요청이 있을 때, 요청된 서비스가 존재하는지 체크하는 단계와, 상기 요청된 서비스가 존재할 경우 이를 제공하는 단계와, 상기 요청된 서비스가 존재하지 않을 경우 해당 서비스가 외부 프레임워크에서 제공되는 것인지를 체크하는 단계와, 상기 해당 서비스가 외부 프레임워크에서 제공되는 것일 경우 해당 프레임워크의 임포트(import) 여부를 체크하는 단계와, 상기 해당 프레임워크가 임포트되지 않은 경우 상기 해당 서비스에 대한 외부 프레임워크를 임포트하고, 이를 제공하는 단계을 포함하는 OSGi 서비스 플랫폼을 이용한 서비스 제공 방법을 제공한다.In another aspect to achieve the above object, the present invention provides a method for providing any service using the OSGi service platform that implements the interaction between the OSGi framework for a web service, a stub bundle for a service requested to be registered. Creating and registering the service, when there is any service request, checking whether the requested service exists, providing it if the requested service exists, and if the requested service does not exist Checking whether the corresponding service is provided by an external framework; checking whether the corresponding framework is imported when the corresponding service is provided by an external framework; and importing the corresponding framework. If not, import the external framework for that service. Using the OSGi service platform, including dangyeeul offering provides a service providing method.

본 발명의 상기 및 기타 목적과 여러 가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시 예로부터 더욱 명확하게 될 것이다.The above and other objects and various advantages of the present invention will become more apparent from the preferred embodiments of the present invention described below with reference to the accompanying drawings by those skilled in the art.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 핵심 기술요지는, 웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플랫폼을 이용하여 등록 요청된 서비스에 대한 스텁 번들을 생성하여 해당 서비스를 등록하고, 임의의 서비스가 요청될 때, 요청된 서비스 가 존재할 경우 이를 제공하며, 요청된 서비스가 존재하지 않을 경우 해당 서비스가 외부 프레임워크에서 제공되는 것인지를 체크한 후에, 해당 서비스가 외부 프레임워크에서 제공되는 것일 경우 해당 프레임워크의 임포트(import) 여부에 따라 상기 해당 서비스에 대한 외부 프레임워크를 임포트하고, 이를 제공한다는 것으로, 이러한 기술적 수단을 통해 본 발명에서 목적으로 하는 바를 쉽게 달성할 수 있다.A key technical aspect of the present invention is to generate a stub bundle for a service requested to be registered using an OSGi service platform that implements interaction between OSGi frameworks for a web service, and register a corresponding service and request an arbitrary service. When the requested service exists, it is provided. If the requested service does not exist, it is checked whether the service is provided by an external framework, and when the service is provided by an external framework, By importing and providing the external framework for the corresponding service according to the import (import), it is easy to achieve the purpose of the present invention through this technical means.

도 1은 본 발명의 바람직한 실시예에 따른 외부 프레임워크의 서비스 접근을 위한 구조를 적용하는데 적합한 OSGi 서비스 플랫폼의 블록구성도로서, 로컬 플랫폼(Local Platform, 100) 및 원격 플랫폼(Remote Platform, 200)을 포함한다. 여기에서, 로컬 플랫폼(100)은 어플리케이션(Application, 102), 프레임워크 임포터(Framework Importer, 104), 로컬측 웹 서비스 지원 모듈(Web Service Supporter, 106) 및 로컬측 프레임워크(Framework, 108)를 포함하고, 원격 플랫폼(200)은 서비스(Service, 202), 프레임워크 익스포터(Framework Exporter, 204), 원격측 웹 서비스 지원 모듈(Web Service Supporter, 206) 및 원격측 프레임워크(Framework, 208)를 포함한다.1 is a block diagram of an OSGi service platform suitable for applying a structure for service access of an external framework according to a preferred embodiment of the present invention, and includes a local platform 100 and a remote platform 200. It includes. Herein, the local platform 100 may include an application 102, a framework importer 104, a local side web service supporter 106, and a local side framework 108. The remote platform 200 includes a service Service 202, a framework exporter 204, a remote side web service supporter 206, and a remote side framework 208. Include.

도 1을 참조하면, 로컬 플랫폼(100) 및 원격 플랫폼(200)은 최종 어플리케이션 관점에서 두개의 OSGi 서비스 플랫폼을 구분한 것으로, 로컬 플랫폼(100)은 어플리케이션이 수행될 임의의 플랫폼을, 원격 플랫폼(200)은 어플리케이션이 수행되기 위해 필요한 서비스가 존재하는 다른 플랫폼을 의미한다. Referring to FIG. 1, the local platform 100 and the remote platform 200 distinguish two OSGi service platforms from the viewpoint of the final application, and the local platform 100 may refer to any platform on which the application is to be executed. 200 refers to another platform in which a service necessary for executing an application exists.

그리고, 로컬 플랫폼(100) 및 원격 플랫폼(200) 내부에 각각 포함되는 로컬측 프레임워크(108)와 원격측 프레임워크(208)는 OSGi에서 규정하는 프레임워크인 데, 이러한 프레임워크는 OSGi내에서 서비스나 어플리케이션이 원활히 동작할 수 있도록 이들의 라이프사이클(life cycle)을 관리하고 실행환경을 제공하는 역할을 수행한다.In addition, the local-side framework 108 and the remote-side framework 208 included in the local platform 100 and the remote platform 200, respectively, are frameworks defined by OSGi, and such frameworks are defined in OSGi. It manages their life cycle and provides an execution environment so that services or applications can run smoothly.

또한, 로컬 플랫폼(100) 및 원격 플랫폼(200) 내부에 각각 포함되는 로컬측 웹 서비스 지원 모듈(106)과 원격측 웹 서비스 지원 모듈(206)은 OSGi와 웹 서비스 연동을 지원하는 부분으로, OSGi 내부의 서비스를 웹 서비스의 형태로 변환하여 외부로 제공하고, 외부의 웹 서비스를 내부에 OSGi형태로 가져오는 기능을 한다. 이에 부가하여 웹 서비스를 이용한 OSGi 프레임워크간 서비스의 투명한 상호 작용을 위하여 이에 필요한 스텁 번들을 자동 생성하는 메커니즘을 포함하는 것이 바람직하다.In addition, the local-side web service support module 106 and the remote-side web service support module 206 included in the local platform 100 and the remote platform 200, respectively, are OSGi and OSGi. It converts the internal service into the form of web service and provides it to the outside, and imports the external web service in the form of OSGi. In addition, it is desirable to include a mechanism for automatically generating stub bundles necessary for transparent interaction of services between OSGi frameworks using web services.

다음에, 로컬 플랫폼(100) 내부의 어플리케이션(102)은 일반적으로 통용되는 사용자 프로그램을 의미하는데, 본 발명에 따르면 웹 서비스를 사용하는 최종 어플리케이션을 의미하고, 원격 플랫폼(200) 내부의 서비스(202)는 일반적인 OSGi에서 규정하는 서비스를 의미하는데, 본 발명에 따르면 어플리케이션(102)이 사용할 서비스를 의미한다.Next, the application 102 inside the local platform 100 refers to a commonly used user program. According to the present invention, the application 102 refers to an end application using a web service, and the service 202 inside the remote platform 200. ) Denotes a service defined by a general OSGi, and means a service to be used by the application 102 according to the present invention.

또한, 어플리케이션(102)과 서비스(202)의 관계는 현재 사용자가 사용하는 현재 로컬 플랫폼(100) 내의 최종 어플리케이션(102)이 원격 플랫폼(200)에 서비스(202)를 이용하여 최종적으로 동작을 수행하는 것을 의미한다.In addition, the relationship between the application 102 and the service 202 is that the final application 102 in the current local platform 100 used by the current user finally performs the operation using the service 202 on the remote platform 200. I mean.

한편, 원격 플랫폼(200) 내의 프레임워크 익스포터(204)는 원격측 프레임워크(208) 내부의 서비스를 공유시키는 기능을 수행하는데, 서비스 공유를 위해 스텁 번들을 생성하고, 서비스 연결 요청에 대한 허가를 조율하며, 공유 관련 내용을 기록함과 동시에 공유 서비스간 충돌을 방지하는 기능 등을 수행한다.Meanwhile, the framework exporter 204 in the remote platform 200 performs a function of sharing a service in the remote side framework 208, generating a stub bundle for sharing a service, and granting permission for a service connection request. It coordinates and records the contents of sharing and at the same time prevents conflicts between shared services.

그리고, 로컬 플랫폼(100) 내의 프레임워크 임포터(104)는 외부 서비스를 임포트하여 투명하게 사용하는 기능을 수행하는데, 외부 서비스 사용을 위한 연결을 요청하고, 해당 서비스에 대한 스텁 번들을 전송받아 설치 및 서비스 등록을 수행한다.In addition, the framework importer 104 in the local platform 100 performs a function of transparently importing an external service, requesting a connection for using an external service, and receiving and installing a stub bundle for the corresponding service. Perform service registration.

한편, 도 2a 및 도 2b는 본 발명의 바람직한 실시예에 따른 프레임워크 임포터 및 프레임워크 익스포터의 블록 구성도로서, 프레임워크 임포터(104)는 등록 데이터 저장부(104a), 연결 요청부(104b) 및 스텁 관리부(104c)를 포함하고, 프레임워크 익스포터(204)는 프레임워크 공유데이터 저장부(204a), 연결 결정부(204b) 및 스텁 생성부(204c)를 포함한다.2A and 2B are block diagrams of a framework importer and a framework exporter according to a preferred embodiment of the present invention, the framework importer 104 includes a registration data storage unit 104a and a connection request unit 104b. And a stub management unit 104c, and the framework exporter 204 includes a framework shared data storage unit 204a, a connection determination unit 204b, and a stub generation unit 204c.

도 2a 및 도 2b를 참조하면, 프레임워크 임포터(104) 내에 포함되는 등록데이터 저장부(104a)에서는 외부 프레임워크의 연결 내용을 관리하여 동일 프레임워크에 중복되는 연결 요청을 피하게 하고, 동시 연결 가능한 프레임워크의 수를 제한함으로써 프레임워크 연결에 따른 과부하를 방지한다.Referring to FIGS. 2A and 2B, the registration data storage unit 104a included in the framework importer 104 manages connection contents of an external framework to avoid connection requests duplicated in the same framework, and concurrent connection. By limiting the number of possible frameworks, you avoid overloading the framework connections.

그리고, 프레임워크 임포터(104) 내에 포함되는 연결 요청부(104b)는 프레임워크 내부에서 관리되거나 요구되는 서비스의 내용에 따라 외부 프레임워크의 서비스에 연결을 요청하고, 해당 서비스에 대한 공개 서비스 목록을 전송받아 필요한 스텁 번들을 설치한다.In addition, the connection request unit 104b included in the framework importer 104 requests a connection to a service of an external framework according to the content of a service managed or required within the framework, and provides a list of public services for the service. Install the required stub bundle.

다음에, 프레임워크 임포터(104) 내에 포함되는 스텁 관리부(104c)는 등록된 외부 프레임워크와의 연결을 유지하는 동안 해당 프레임워크의 스텁 번들들에 대한 지속성 관리 및 신규 스텁 번들에 대한 인지를 담당한다. 또한, 스텁 관리부(104c)에서는 등록된 외부 프레임워크의 연결로 인해 설치된 스텁 번들들에 대한 상태를 동기화시키고, 상대의 신규 공개 서비스를 등록을 처리하는 기능을 수행한다.Next, the stub manager 104c included in the framework importer 104 is responsible for managing the persistence of the stub bundles of the framework and the recognition of the new stub bundle while maintaining the connection with the registered external framework. do. In addition, the stub management unit 104c synchronizes the status of the installed stub bundles due to the connection of the registered external framework, and performs a function of processing the registration of the new public service of the partner.

한편, 프레임워크 익스포터(204) 내에 포함되는 프레임워크 공유데이터 저장부(221)는 해당 프레임워크 내에 공유 가능한 서비스의 정보(즉, 현재 프레임워크에 익스포트되어 접근 허용된 프레임워크들의 목록)를 관리하고 있으며 신규 등록되는 서비스의 공유 여부를 판단하고 그에 따라 스텁번들을 생성하도록 스텁 생성부(223)에 요청한다.On the other hand, the framework shared data storage unit 221 included in the framework exporter 204 manages information (ie, a list of frameworks exported to and accessible to the current framework) of services that can be shared within the framework. And it determines whether to share the newly registered service and requests the stub generation unit 223 to generate stub bundles accordingly.

그리고, 프레임워크 익스포터(204) 내에 포함되는 연결 결정부(222)는 임의의 프레임워크에서 오는 연결요청에 대해 허가 여부를 결정해 주는 부분으로, 연결 요청을 허가할 경우 내부의 연결 가능한 서비스에 대한 내용(공유 서비스 목록)을 요청한 프레임워크에 알려준다.In addition, the connection determination unit 222 included in the framework exporter 204 is a part for determining whether to permit a connection request coming from an arbitrary framework. Inform the requesting framework of its contents (list of shared services).

또한, 프레임워크 익스포터(204) 내에 포함되는 스텁 생성부(223)는 공유할 서비스에 대한 스텁을 자동으로 생성하여 서비스 이용 시 대리자의 역할을 하도록 한다.In addition, the stub generation unit 223 included in the framework exporter 204 automatically generates a stub for a service to be shared so as to act as a delegate when using the service.

다음에, 상술한 바와 같은 구성을 갖는 OSGi 서비스 플랫폼에서 외부 프레임워크의 서비스 접근을 위한 구조를 적용하여 프레임워크간의 서비스 이용을 위한 프레임워크 익스포터의 공유 서비스를 준비하는 과정에 대해 설명한다.Next, a process of preparing a shared service of a framework exporter for using services between frameworks by applying a structure for accessing services of an external framework in the OSGi service platform having the above-described configuration will be described.

도 3은 본 발명의 제 1 실시예에 따라 프레임워크간의 서비스 이용을 위한 프레임워크 익스포터의 공유 서비스에 대한 준비 과정을 나타낸 플로우차트이다. 이러한 도면을 통해 본 발명의 일 실시예에 따른 공유 서비스 준비 방법에 대해 설명한다.3 is a flowchart illustrating a preparation process for a shared service of a framework exporter for using services between frameworks according to the first embodiment of the present invention. The shared service preparation method according to an embodiment of the present invention will be described with reference to these drawings.

도 3을 참조하면, 로컬 플랫폼(100) 및 원격 플랫폼(200)을 포함하는 OSGi 서비스 플랫폼에서는 임의의 서비스 등록 요청을 대기하고(단계302), 임의의 서비스 등록이 요청되는지를 체크한다(단계304).Referring to FIG. 3, the OSGi service platform including the local platform 100 and the remote platform 200 waits for any service registration request (step 302) and checks whether any service registration is requested (step 304). ).

상기 단계(304)에서의 체크 결과, 임의의 서비스 등록이 요청될 경우 원격 플랫폼(200)의 프레임워크 익스포터(204)에서는 프레임워크 공유데이터 저장부(204a)를 통해 해당 서비스가 외부 프레임워크에서 사용 가능하도록 하는 서비스인지를 체크한다(단계306).As a result of the check in step 304, if any service registration is requested, the framework exporter 204 of the remote platform 200 uses the service in the external framework through the framework shared data storage unit 204a. Check whether the service is enabled (step 306).

상기 단계(306)에서의 체크 결과, 해당 서비스가 외부 프레임워크에서 사용 가능하도록 하는 서비스일 경우 원격 플랫폼(200)의 프레임워크 익스포터(204)에서는 스텁 생성부(204a)를 통해 스텁 번들을 생성하고, 이러한 스텁 번들을 등록한다(단계308).As a result of the check in the step 306, if the service is a service that can be used in an external framework, the framework exporter 204 of the remote platform 200 generates a stub bundle through the stub generator 204a and This stub bundle is registered (step 308).

한편, 상기 단계(306)에서의 체크 결과, 해당 서비스가 외부 프레임워크에서 사용 가능하도록 하는 서비스가 아닐 경우 등록 요청된 해당 서비스를 등록하거나 또는 스텁 번들이 등록된 해당 서비스를 등록한다(단계 310).On the other hand, as a result of the check in step 306, if the service is not a service to be made available to the external framework, the corresponding service requested to be registered or the stub bundle registered the corresponding service (step 310). .

상술한 본 발명의 제 1 실시예에서는 임의의 서비스 등록을 요청할 경우 해당 서비스를 등록하는 것으로 하여 설명하였으나, 이러한 임의의 서비스 등록 요청을 지속적으로 감시하고, 등록 요청된 해당 서비스를 등록할 수 있음은 물론이다.In the above-described first embodiment of the present invention, when the request for any service registration has been described as registering the corresponding service, the service can be continuously monitored and the registered service can be registered. Of course.

도 4는 본 발명의 제 2 실시예에 따라 프레임워크간의 서비스 이용을 위한 프레임워크 임포터의 원격 서비스에 대한 준비 과정을 나타낸 플로우차트이다. 이러한 도면을 통해 본 발명에 따른 원격 서비스 준비 방법에 대해 설명한다.4 is a flowchart illustrating a preparation process for a remote service of a framework importer for using a service between frameworks according to a second embodiment of the present invention. The remote service preparation method according to the present invention will be described with reference to these drawings.

도 4를 참조하면, 로컬 플랫폼(100) 및 원격 플랫폼(200)을 포함하는 OSGi 서비스 플랫폼에서는 임의의 서버로의 연결을 대기하고(단계402), 임의의 서버로의 연결이 요청되는지를 체크한다(단계404).Referring to FIG. 4, the OSGi service platform including the local platform 100 and the remote platform 200 waits for a connection to an arbitrary server (step 402) and checks whether a connection to an arbitrary server is requested. (404).

상기 단계(404)에서의 체크 결과, 임의의 서버로의 연결이 요청될 경우 로컬 플랫폼(100)의 프레임워크 임포터(104)에서는 연결 요청부(104b)를 통해 원격 플랫폼(200)으로 해당 서버의 공유 서비스 목록을 요청한다(단계406).As a result of the check in the step 404, when the connection to any server is requested, the framework importer 104 of the local platform 100 passes the connection request unit 104b to the remote platform 200 of the server. Request a list of shared services (step 406).

그리고, 원격 플랫폼(200)에서는 이러한 요청에 따라 해당 공유 서비스의 스텁 번들을 로컬 플랫폼(100)으로 전송하고, 이러한 스텁 번들은 로컬 플랫폼(100) 내에 포함되는 로컬측 프레임워크(108) 내에 설치한다(단계408).The remote platform 200 transmits the stub bundle of the corresponding shared service to the local platform 100 according to the request, and the stub bundle is installed in the local side framework 108 included in the local platform 100. (Step 408).

또한, 로컬 플랫폼(100)에서는 로컬측 프레임워크(108) 내에 설치된 스텁 번들의 설치 정보를 프레임워크 임포터(104) 내 스텁 관리부(104c)에 전달하여 설치된 스텁 번들이 정상적으로 동작하도록 관리한다(단계410).In addition, the local platform 100 transmits the installation information of the stub bundle installed in the local framework 108 to the stub manager 104c in the framework importer 104 and manages the installed stub bundle to operate normally (step 410). ).

이어서, 로컬 플랫폼(100)에서는 이러한 스텁 번들이 설치되면 해당 공유 서비스가 등록된다(단계412). 여기에서, 설치된 스텁 번들의 프레임워크에 대한 정보는 등록데이터 저장부(104a)에 저장되어 관리된다.Subsequently, when the stub bundle is installed in the local platform 100, the corresponding shared service is registered (step 412). Here, the information on the framework of the installed stub bundle is stored and managed in the registration data storage 104a.

한편, 상술한 본 발명의 제 2 실시예에서는 임의의 서버로의 연결을 요청할 경우 해당 서비스의 스텁 번들을 설치하여 해당 서비스를 등록하는 것으로 하여 설 명하였으나, 이러한 특정 서버로의 연결 요청을 지속적으로 대기하고, 특정 서버로의 연결 요청된 공유 서비스의 스텁 번들을 설치하여 해당 서비스를 등록할 수 있음은 물론이다.On the other hand, in the second embodiment of the present invention described above, when requesting a connection to any server, it is described as installing the stub bundle of the service to register the service, but the connection request to the specific server continuously Of course, you can register the service by installing a stub bundle of shared services requested to connect to a specific server.

따라서, 로컬 플랫폼 및 원격 플랫폼을 포함하는 OSGi 서비스 플랫폼에서 스텁번들들이 서비스로 등록되면 이 서비스들은 기존의 서비스들과 동일한 방식으로 투명하게 요청된 해당 서비스를 제공할 수 있다.Thus, when stub bundles are registered as services in OSGi service platforms, including local and remote platforms, these services can provide the requested services transparently in the same manner as existing services.

도 5는 본 발명의 제 3 실시예에 따라 프레임워크간의 서비스 이용을 위한 어플리케이션의 서비스 요청에 대한 처리 과정을 나타낸 플로우차트이다. 이러한 도면을 통해 본 발명의 제 3 실시예에 따른 서비스 요청에 대한 처리 방법에 대해 설명한다.5 is a flowchart illustrating a process of processing a service request of an application for service use between frameworks according to a third embodiment of the present invention. Through this drawing, a processing method for a service request according to a third embodiment of the present invention will be described.

도 5를 참조하면, 로컬 플랫폼(100) 및 원격 플랫폼(200)을 포함하는 OSGi 서비스 플랫폼에서는 임의의 서비스 요청을 대기하고(단계502), 임의의 어플리케이션(102)이 실행되면서 이에 대응하는 서비스가 요청되는지를 체크한다(단계504). 여기에서, 임의의 서비스는 사용자가 요청하는 사용자 서비스 또는 클라이언트 서비스를 의미한다.Referring to FIG. 5, in the OSGi service platform including the local platform 100 and the remote platform 200, an arbitrary service request is awaited (step 502), and an application 102 is executed while a corresponding service is executed. Check if requested (step 504). Here, any service means a user service or a client service requested by a user.

상기 단계(504)에서의 체크 결과, 임의의 어플리케이션(102)에 대응하는 서비스가 요청될 경우 로컬 플랫폼(100)의 로컬측 프레임워크(108)에서는 도시 생략된 서비스 저장소에 해당 서비스가 존재하는지 체크한다(단계506).As a result of the check in the step 504, when a service corresponding to an arbitrary application 102 is requested, the local-side framework 108 of the local platform 100 checks whether the corresponding service exists in the service repository (not shown). (Step 506).

상기 단계(506)에서의 체크 결과, 해당 서비스가 도시 생략된 서비스 저장소에 존재할 경우 실행된 어플리케이션(102)은 이에 대응하는 해당 서비스를 제공받 아 다음 프로세스를 진행한다(단계508).As a result of the check in the step 506, if the service exists in the service store (not shown), the executed application 102 receives the corresponding service and proceeds to the next process (step 508).

한편, 상기 단계(506)에서의 체크 결과, 해당 서비스가 도시 생략된 서비스 저장소에 존재하지 않을 경우 해당 서비스가 외부 프레임워크, 예를 들어 원격 플랫폼(200) 내의 원격측 프레임워크(208)에서 제공되는 것인지를 체크한다(단계510).On the other hand, as a result of the check in step 506, if the service does not exist in the service repository, not shown, the service is provided by an external framework, for example, the remote side framework 208 in the remote platform 200. It is checked whether or not (step 510).

상기 단계(510)에서의 체크 결과, 해당 서비스가 외부 프레임워크에서 제공되는 것일 경우 해당 프레임워크의 임포트(import) 여부를 프레임워크 임포터(104) 내의 등록 데이터 저장부(104a)에서 체크한다(단계512).As a result of the check in step 510, if the service is provided by an external framework, the registration data storage unit 104a in the framework importer 104 checks whether or not the framework is imported (step). 512).

상기 단계(512)에서의 체크 결과, 해당 프레임워크가 임포트되지 않은 경우 로컬 플랫폼(100) 내 프레임워크 임포터(104)에서는 해당 서비스에 대한 외부 프레임워크를 임포트하고, 이러한 해당 서비스를 제공한다(단계514).As a result of the check in the step 512, if the framework is not imported, the framework importer 104 in the local platform 100 imports an external framework for the service and provides the corresponding service (step 514).

한편, 상기 단계(512)에서의 체크 결과, 해당 프레임워크가 임포트된 경우 즉, 해당 프레임워크가 이미 등록되어 있거나 내부 프레임워크(108)인 경우에 해당 서비스를 찾지 못하면 OSGi 서비스 플랫폼에서는 해당 서비스를 사용할 수 없음(해당 서비스 이용 불가능함)을 어플리케이션(102)에 통보한 후, 다음 프로세스를 진행하게 한다(단계516).On the other hand, if the corresponding framework is already imported, that is, if the corresponding framework is already registered or the internal framework 108 is found as a result of the check in step 512, the OSGi service platform may detect the corresponding service. After notifying the application 102 that it is unavailable (the service is unavailable), it proceeds to the next process (step 516).

도 6은 본 발명의 제 4 실시예에 따라 프레임워크간의 서비스 이용을 위한 각 구성 간의 시간적 흐름에 따른 상호 작용 과정을 나타낸 도면이다. 이러한 도면을 통해 본 발명의 제 4 실시예에 따른 상호 작용에 대해 설명한다.FIG. 6 is a diagram illustrating an interaction process according to a time flow between components for using a service between frameworks according to a fourth embodiment of the present invention. Through this drawing, the interaction according to the fourth embodiment of the present invention will be described.

도 6을 참조하면, 타겟 서비스에서 원격 프레임워크로 임의의 서비스의 등록 을 요청하면(단계602), 원격 프레임워크에서는 등록 요청된 해당 서비스에 대한 스텁 번들을 생성한다(단계604). 이 때, 해당 서비스에 대한 스텁 번들이 생성되면, 해당 서비스가 등록된다.Referring to FIG. 6, if a request for registration of a service is requested from a target service to a remote framework (step 602), the remote framework generates a stub bundle for the corresponding service requested to be registered (step 604). At this time, if a stub bundle for the service is generated, the service is registered.

그리고, 로컬 프레임워크에서 원격 프레임워크에 임의의 서버에 연결을 요청하면(단계606), 원격 프레임워크에서는 해당 공개 서비스 목록을 로컬 프레임워크로 전송한다(단계608). 이 때, 임의의 서비스에 대한 스텁 번들을 원격 프레임워크로 요구하고(단계610), 원격 프레임워크에서는 요구된 스텁 번들을 프록시 서비스로 전송하며(단계612), 프록시 서비스에서는 전송된 스텁 번드로부터 개체를 생성하여 로컬 프레임워크에 등록하도록 하면(단계614), 로컬 프레임워크에서는 해당 프레임워크의 공개 프록시 서비스를 프록시 서비스에 등록한다(단계616).When the local framework requests a connection to a server from a remote framework (step 606), the remote framework transmits the list of published services to the local framework (step 608). At this time, the stub bundle for any service is requested to the remote framework (step 610), the remote framework sends the requested stub bundle to the proxy service (step 612), and the proxy service sends an object from the transmitted stub bundle. In step 614, the local framework registers the public proxy service of the framework with the proxy service (step 616).

한편, 어플리케이션에서 임의의 서비스(사용자 서비스 또는 클라이언트 서비스)를 로컬 프레임워크에 요청할 경우(단계618), 로컬 프레임워크에서는 요청된 서비스에 대해 서비스 저장소를 검색하고(단계620), 프록시 서비스를 통해 해당 서비스의 연결을 요청한다(단계622). 여기에서, 프로시 서비스는 타겟 서비스로 서비스 처리를 요청하고(단계624), 이에 따라 타겟 서비스에서 해당 서비스를 처리한 후(단계626), 처리된 서비스에 대한 처리 결과를 프록시 서비스로 전송한다(단계628)On the other hand, if the application requests any service (user service or client service) to the local framework (step 618), the local framework searches the service repository for the requested service (step 620) and the corresponding service through the proxy service. Request to connect a service (step 622). Here, the procedure service requests the service processing to the target service (step 624), and accordingly processes the service in the target service (step 626), and then transmits the processing result for the processed service to the proxy service ( Step 628)

다음에, 프록시 서비스에서 전송된 서비스 처리 결과는 어플리케이션으로 전송되고(단계630), 로컬 프레임워크에서 해당 프레임워크에 서비스 해제를 요청하면(단계632), 원격 프레임워크에서는 해당 서비스를 해제한다(단계634)Next, the service processing result transmitted from the proxy service is transmitted to the application (step 630), and when the local framework requests the service release from the local framework (step 632), the remote framework releases the corresponding service (step 634)

따라서, OSGi 서비스 플랫폼을 이용하여 임의의 서비스의 등록 요청에 따라 스텁 번들을 생성하여 해당 서비스를 등록하고, 임의의 서비스 요청 시 해당 서비스를 검색한 후, 검색된 해당 서비스의 처리를 요청하면 이를 처리하며, 처리된 결과가 전송되면 해당 서비스를 해제할 수 있다.Therefore, by using the OSGi service platform, create a stub bundle according to the registration request of any service, register the service, search for the service in case of any service request, and then process the requested service. When the processed result is transmitted, the service can be released.

이상의 설명에서는 본 발명의 바람직한 실시 예들을 제시하여 설명하였으나 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함을 쉽게 알 수 있을 것이다.In the foregoing description, the present invention has been described with reference to preferred embodiments, but the present invention is not necessarily limited thereto. Those skilled in the art will appreciate that the present invention may be modified without departing from the spirit of the present invention. It will be readily appreciated that branch substitutions, modifications and variations are possible.

이상 설명한 바와 같이 본 발명은, OSGi 서비스 플랫폼 동일한 서비스를 필요로 하는 모든 OSGi 프레임워크에 서비스를 설치 등록한 후에 이러한 서비스를 제공하는 종래 방법과는 달리, 웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플랫폼을 이용하여 등록 요청된 서비스에 대한 스텁 번들을 생성하여 해당 서비스를 등록하고, 임의의 서비스가 요청될 때, 요청된 서비스가 존재할 경우 이를 제공하며, 요청된 서비스가 존재하지 않을 경우 해당 서비스가 외부 프레임워크에서 제공되는 것인지를 체크한 후에, 해당 서비스가 외부 프레임워크에서 제공되는 것일 경우 해당 프레임워크의 임포트 여부에 따라 상기 해당 서비스에 대한 외부 프레임워크를 임포트하고, 이를 제공함으로써, 본 발명에 따른 OSGi 서비스 플랫폼을 이용하여 웹 서비스에 대한 OSGi 프레임워크간 투명한 상호 작용을 구현하고, OSGi 프레임워크간의 서비스 공유를 수행하여 요청된 서비스를 제공할 수 있다.또한, 본 발명에 따른 OSGi 서비스 플랫폼을 이용하여 네트워크 상 의 임의의 OSGi 프레임워크간에 서비스를 공유할 수 있고, 독립된 OSGi 서비스 플랫폼에 서비스 전체를 설치하지 않고도 다른 서버로부터 동일한 서비스를 제공받을 수 있다.As described above, the present invention implements the interaction between OSGi frameworks for web services, unlike the conventional method of providing such services after installing and registering services in all OSGi frameworks requiring the same services. Using the OSGi service platform to create a stub bundle for the requested service to register the service, and when any service is requested, provides the requested service if it exists, if the requested service does not exist After checking whether the service is provided by the external framework, if the service is provided by the external framework, importing the external framework for the service according to whether the framework is imported and providing the same, Using the OSGi service platform according to the present invention It is possible to implement transparent interactions between OSGi frameworks for web services and to provide requested services by performing service sharing between OSGi frameworks. Furthermore, any OS on the network can be provided using the OSGi service platform according to the present invention. Services can be shared between OSGi frameworks, and the same service can be provided from other servers without having to install the entire service on a separate OSGi service platform.

Claims (12)

웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플랫폼으로서,OSGi service platform that implements the interaction between OSGi frameworks for Web services. 어플리케이션이 수행될 임의의 플랫폼으로서, 외부 서비스를 임포트하여 사용하도록 상기 외부 서비스 사용을 위한 연결을 요청하고, 해당 서비스에 대한 스텁 번들을 전송받아 설치하며, 해당 서비스 등록을 수행하는 로컬 플랫폼과,An arbitrary platform on which an application is to be executed, a local platform for requesting a connection for using the external service to import and use an external service, receiving and installing a stub bundle for the corresponding service, and performing a corresponding service registration; 상기 어플리케이션이 수행되기 위해 필요한 서비스가 존재하는 다른 플랫폼으로서, 요청된 해당 서비스 공유를 위해 스텁 번들을 생성하고, 서비스 연결 요청에 대한 허가를 조율하며, 공유 관련 내용을 기록함과 동시에 공유 서비스간 충돌을 방지하는 원격 플랫폼As another platform where the services necessary for the application to run exist, generate a stub bundle for sharing the requested service, coordinate the permission for the service connection request, record the contents related to sharing, and simultaneously create a conflict between the shared services. To prevent remote platform 을 포함하는 OSGi 서비스 플랫폼.OSGi service platform comprising a. 제 1 항에 있어서,The method of claim 1, 상기 로컬 플랫폼은,The local platform, 상기 외부 서비스 사용을 위한 연결을 요청하고, 해당 서비스에 대한 스텁 번들을 전송받아 설치 및 서비스 등록을 수행하는 프레임워크 임포터와,A framework importer requesting a connection for using the external service, receiving a stub bundle for the corresponding service, and performing installation and service registration; 상기 OSGi와 상기 웹 서비스의 연동을 지원하여 OSGi 내부의 서비스를 웹 서비스의 형태로 변환하여 외부로 제공하고, 외부의 웹 서비스를 내부에 OSGi 형태로 가져오는 로컬측 웹 서비스 지원 모듈과,Local-side web service support module for supporting the interworking of the OSGi and the web service, converts the service inside the OSGi into a web service form and provides it to the outside, and brings the external web service into the OSGi form, 상기 OSGi 내에서 서비스 또는 상기 어플리케이션이 원활히 동작할 수 있도록 이들의 라이프사이클(life cycle)을 관리하고 실행환경을 제공하는 로컬측 프레임워크Local-side framework that manages their life cycle and provides an execution environment so that services or applications can run smoothly within the OSGi. 를 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼.OSGi service platform comprising a. 제 2 항에 있어서,The method of claim 2, 상기 프레임워크 임포터는,The framework importer, 외부 프레임워크의 연결 내용을 관리하여 동일 프레임워크에 중복되는 연결 요청을 방지하고, 동시 연결 가능한 프레임워크의 수를 제한함으로써 프레임워크 연결에 따른 과부하를 방지하는 등록 데이터 저장부와,A registration data storage unit for managing connection contents of an external framework to prevent duplicate connection requests to the same framework, and to limit the number of frameworks that can be connected simultaneously, thereby preventing overload due to the framework connection; 프레임워크 내부에서 관리되거나 요구되는 서비스의 내용에 따라 상기 외부 프레임워크의 서비스에 연결을 요청하고, 해당 서비스에 대한 공개 서비스 목록을 전송받아 필요한 스텁 번들을 설치하는 연결 요청부와,A connection request unit for requesting a connection to a service of the external framework according to the content of a service managed or required within the framework, receiving a list of public services for the service, and installing a required stub bundle; 등록된 외부 프레임워크와의 연결을 유지하는 동안 해당 프레임워크의 스텁 번들들에 대한 지속성 관리 및 신규 스텁 번들에 대한 인지를 담당하고, 상기 등록된 외부 프레임워크의 연결로 인해 설치된 상기 스텁 번들들에 대한 상태를 동기화시키고, 상대의 신규 공개 서비스를 등록을 처리하는 스텁 관리부It is responsible for managing persistence of stub bundles of the framework and acknowledging new stub bundles while maintaining a connection with a registered external framework, The stub management unit that synchronizes the status of the server and registers the new public service of the partner. 를 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼.OSGi service platform comprising a. 제 2 항에 있어서,The method of claim 2, 상기 로컬측 프레임워크는, 상기 웹 서비스를 이용한 OSGi 프레임워크간 서비스의 상호 작용을 위하여 이에 필요한 스텁 번들을 자동 생성하는 메커니즘을 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼.The local-side framework includes a mechanism for automatically generating a stub bundle necessary for the interaction of services between OSGi frameworks using the web service. 제 1 항에 있어서,The method of claim 1, 상기 원격 플랫폼은,The remote platform, 요청된 서비스 공유를 위해 스텁 번들을 생성하고, 서비스 연결 요청에 대한 허가를 조율하며, 공유 관련 내용을 기록함과 동시에 공유 서비스간 충돌을 방지하는 프레임워크 익스포터와,A framework exporter that generates stub bundles for sharing requested services, coordinates permissions for service connection requests, records sharing related content and prevents conflicts between shared services; 상기 OSGi와 상기 웹 서비스의 연동을 지원하여 OSGi 내부의 서비스를 웹 서비스의 형태로 변환하여 외부로 제공하고, 외부의 웹 서비스를 내부에 OSGi 형태로 가져오는 원격측 웹 서비스 지원 모듈과,A remote-side web service support module that supports interworking of the OSGi and the web service, converts a service inside the OSGi into a web service, and provides the web service to the outside; 상기 OSGi 내에서 서비스 또는 상기 어플리케이션이 원활히 동작할 수 있도록 이들의 라이프사이클(life cycle)을 관리하고 실행환경을 제공하는 원격측 프레임워크Remote side framework that manages their life cycle and provides execution environment for smooth operation of services or applications within the OSGi. 를 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼.OSGi service platform comprising a. 제 5 항에 있어서,The method of claim 5, 상기 프레임워크 익스포터는,The framework exporter, 상기 원격측 프레임워크 내에 공유 가능한 서비스의 정보를 관리하고 있으며 신규 등록되는 서비스의 공유 여부를 판단하고 그에 따라 스텁 번들을 생성하도록 스텁 생성부에 요청하는 프레임워크 공유데이터 저장부와,A framework shared data storage unit for managing information of a service that can be shared in the remote framework and determining whether to share a newly registered service and requesting a stub generation unit to generate a stub bundle accordingly; 임의의 프레임워크에서 전송되는 연결 요청에 대해 허가 여부를 결정하고, 연결 요청을 허가할 경우 내부의 연결 가능한 공유 서비스 목록을 전송하는 연결 결정부와,A connection determination unit which determines whether or not to grant a connection request transmitted from an arbitrary framework and transmits a list of internal connectable shared services when the connection request is granted; 상기 프레임워크 공유데이터 저장부로부터 요청된 공유할 서비스에 대한 스텁 번들을 자동으로 생성하여 서비스 이용 시 대리자의 역할의 역할을 수행하는 상기 스텁 생성부The stub generation unit that automatically generates a stub bundle for a service to be shared requested from the framework shared data storage unit and serves as a delegate when using a service 를 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼.OSGi service platform comprising a. 제 6 항에 있어서,The method of claim 6, 상기 공유 가능한 서비스의 정보는, 현재 프레임워크에 익스포트되어 접근 허용된 프레임워크들의 목록인 것을 특징으로 하는 OSGi 서비스 플랫폼.The information of the sharable service, OSGi service platform, characterized in that the list of frameworks that have been exported and allowed to access the current framework. 제 5 항에 있어서,The method of claim 5, 상기 원격측 프레임워크는, 상기 웹 서비스를 이용한 OSGi 프레임워크간 서비스의 상호 작용을 위하여 이에 필요한 스텁 번들을 자동 생성하는 메커니즘을 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼.The remote framework includes an mechanism for automatically generating a stub bundle necessary for the interaction of services between OSGi frameworks using the web service. 웹 서비스에 대한 OSGi 프레임워크간 상호 작용을 구현하는 OSGi 서비스 플 랫폼을 이용하여 임의의 서비스를 제공하는 방법으로서,As a method of providing an arbitrary service using the OSGi service platform that implements the interaction between OSGi frameworks for web services, 등록 요청된 서비스에 대한 스텁 번들을 생성하여 해당 서비스를 등록하는 단계와,Registering a service by generating a stub bundle for the requested service; 임의의 서비스 요청이 있을 때, 요청된 서비스가 존재하는지 체크하는 단계와,When there is any service request, checking whether the requested service exists; 상기 요청된 서비스가 존재할 경우 이를 제공하는 단계와,Providing the requested service, if present; 상기 요청된 서비스가 존재하지 않을 경우 해당 서비스가 외부 프레임워크에서 제공되는 것인지를 체크하는 단계와,Checking whether the service is provided by an external framework if the requested service does not exist; 상기 해당 서비스가 외부 프레임워크에서 제공되는 것일 경우 해당 프레임워크의 임포트(import) 여부를 체크하는 단계와,Checking whether the corresponding framework is imported when the corresponding service is provided by an external framework, 상기 해당 프레임워크가 임포트되지 않은 경우 상기 해당 서비스에 대한 외부 프레임워크를 임포트하고, 이를 제공하는 단계Importing and providing an external framework for the corresponding service if the corresponding framework is not imported 을 포함하는 OSGi 서비스 플랫폼을 이용한 서비스 제공 방법.Service providing method using the OSGi service platform comprising a. 제 9 항에 있어서,The method of claim 9, 상기 서비스 제공 방법은,The service providing method, 상기 해당 프레임워크가 임포트된 경우 도는 상기 해당 서비스가 내부 프레임워크에서 제공되는 것인데 상기 해당 서비스를 제공하지 못하는 경우 상기 해당 서비스의 이용이 불가능함을 통보하는 단계If the corresponding framework is imported or if the corresponding service is provided by an internal framework but fails to provide the corresponding service, notifying that the corresponding service is unavailable. 를 더 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼을 이용한 서비스 제 공 방법.Service providing method using the OSGi service platform, characterized in that it further comprises. 제 9 항에 있어서,The method of claim 9, 상기 서비스 제공 방법은,The service providing method, 상기 해당 서비스를 제공한 이 후에, 상기 해당 서비스의 처리 결과를 전송하는 단계와,After providing the corresponding service, transmitting a processing result of the corresponding service; 상기 해당 서비스의 해제 요청이 있을 때, 이를 해제하는 단계When there is a request for releasing the corresponding service, releasing it; 를 더 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼을 이용한 서비스 제공 방법.Service providing method using the OSGi service platform, characterized in that it further comprises. 제 9 항에 있어서,The method of claim 9, 상기 해당 서비스를 등록하는 단계는,Registering the corresponding service, 연결 요청된 서비스에 대한 공개 서비스 목록을 전송하는 단계와,Transmitting a list of public services for the service requested to be connected; 상기 전송된 공개 서비스 목록을 통해 상기 연결 요청된 서비스의 스텁 번들을 요청하는 단계와,Requesting a stub bundle of the connection requested service through the transmitted public service list; 상기 요청된 스텁 번들을 전송하고, 상기 전송된 스텁 번들을 이용하여 해당 서비스를 등록하는 단계Transmitting the requested stub bundle and registering a corresponding service using the transmitted stub bundle 를 포함하는 것을 특징으로 하는 OSGi 서비스 플랫폼을 이용한 서비스 제공 방법.Service providing method using the OSGi service platform comprising a.
KR1020060026999A 2006-03-24 2006-03-24 OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT KR100751456B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060026999A KR100751456B1 (en) 2006-03-24 2006-03-24 OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060026999A KR100751456B1 (en) 2006-03-24 2006-03-24 OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT

Publications (2)

Publication Number Publication Date
KR20060042412A KR20060042412A (en) 2006-05-12
KR100751456B1 true KR100751456B1 (en) 2007-08-23

Family

ID=37148283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060026999A KR100751456B1 (en) 2006-03-24 2006-03-24 OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT

Country Status (1)

Country Link
KR (1) KR100751456B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790053B1 (en) * 2006-06-05 2008-01-02 주식회사 대우일렉트로닉스 Apparatus and Method for Processing Bundle for Master Device
KR100833494B1 (en) * 2006-09-14 2008-05-29 한국전자통신연구원 Apparatus for lightweighting application through duplicating management of application in environment of OSGi middleware for embedded terminal and method thereof
KR100963785B1 (en) * 2008-06-19 2010-06-14 한양대학교 산학협력단 DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM
KR100921972B1 (en) * 2008-12-17 2009-10-15 메타빌드주식회사 System for offering ubiquitous service
KR101028931B1 (en) * 2009-02-03 2011-04-12 한양대학교 산학협력단 SYSTEM AND METHDO FOR MANAGING SERVICE DEPENDENCY ACROSS OSGi SERVICE PLATFORM

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050066066A (en) * 2003-12-26 2005-06-30 한국전자통신연구원 Apparatus for homenetwork middleware interoperability service using home gateway and osgi platform and method thereof
KR20050073015A (en) * 2004-01-08 2005-07-13 삼성전자주식회사 Apparatus and method for sharing services on network
KR20050079479A (en) * 2004-02-06 2005-08-10 에스케이 텔레콤주식회사 Residential gateway system over osgi technology
KR20050087129A (en) * 2004-02-25 2005-08-31 삼성전자주식회사 Method of testing osgi service platform and test tool thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050066066A (en) * 2003-12-26 2005-06-30 한국전자통신연구원 Apparatus for homenetwork middleware interoperability service using home gateway and osgi platform and method thereof
KR20050073015A (en) * 2004-01-08 2005-07-13 삼성전자주식회사 Apparatus and method for sharing services on network
KR20050079479A (en) * 2004-02-06 2005-08-10 에스케이 텔레콤주식회사 Residential gateway system over osgi technology
KR20050087129A (en) * 2004-02-25 2005-08-31 삼성전자주식회사 Method of testing osgi service platform and test tool thereof

Also Published As

Publication number Publication date
KR20060042412A (en) 2006-05-12

Similar Documents

Publication Publication Date Title
Van Steen et al. Distributed systems principles and paradigms
JP4297790B2 (en) Persistent key-value repository with pluggable architecture abstracting physical storage
CN106663033B (en) System and method for supporting a wraparound domain and proxy model and updating service information for cross-domain messaging in a transactional middleware machine environment
CN103905572B (en) The processing method and processing device of domain name mapping request
JPH04230567A (en) Dispersed type constitution profile for computing system
CA2242006A1 (en) Global file system-based system and method for rendering devices on a cluster globally visible
JP2014530413A (en) Method and apparatus for providing isolated virtual space
KR100751456B1 (en) OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT
Antonino et al. Evaluation of AAL platforms according to architecture-based quality attributes
CN104199740B (en) The no tight coupling multinode multicomputer system and method for shared system address space
Zhang et al. An OSGi and agent based control system architecture for smart home
KR20130131963A (en) System and method for constructing on-demand virtual cluster
CN114510321A (en) Resource scheduling method, related device and medium
Shahand et al. DynaSched: a dynamic Web service scheduling and deployment framework for data-intensive Grid workflows
US7734640B2 (en) Resource discovery and enumeration in meta-data driven instrumentation
Sommer et al. Towards the internet of things: Integration of web services and field level devices
US7562084B2 (en) System and method for mapping between instrumentation and information model
CN113132295B (en) Method and device for accessing extranet through intranet of cluster, storage medium and electronic equipment
Wang et al. An extended distributed OSGi architecture for implementation of SOA
Flotyński et al. Building modular middlewares for the internet of things with OSGi
Pota et al. The benefits of Java and Jini in the JGrid system
Blasi et al. A Minicloud Specification Enabling the Federation of Heterogeneous Edge Resources for Latency Sensitive Applications' Requirements
Liu et al. Uniform dynamic deployment of web and grid services
JP4492569B2 (en) File operation control device, file operation control system, file operation control method, and file operation control program
Wilusz et al. Orchestration of distributed heterogeneous sensor networks and internet of things

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110729

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee