KR100963785B1 - DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM - Google Patents
DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM Download PDFInfo
- Publication number
- KR100963785B1 KR100963785B1 KR1020080057958A KR20080057958A KR100963785B1 KR 100963785 B1 KR100963785 B1 KR 100963785B1 KR 1020080057958 A KR1020080057958 A KR 1020080057958A KR 20080057958 A KR20080057958 A KR 20080057958A KR 100963785 B1 KR100963785 B1 KR 100963785B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- web
- osgi
- proxy
- plumbing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Abstract
OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법을 개시한다. OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법은, OSGi 응용 서비스(OSGi Application Service)에서 요청에 따라 서비스 조립 기술서를 생성하는 단계; 배관 서비스(Plumber Service)에서 상기 서비스 조립 기술서를 분석하는 단계; 분석결과 웹 서비스와의 상호 연동이 필요하면 상기 배관 서비스에서 웹 게이트웨이 서비스(Web Gateway Service)를 호출하는 단계; 상기 웹 게이트웨이 서비스는 상기 배관 서비스로부터 상호 연동을 요청받은 상기 웹 서비스의 대행하는 프록시를 생성하고 서비스 레지스트리에 등록하는 단계; 및, 상기 배관 서비스에서 서비스를 조립하여 웹 서비스와 상호 연동하는 단계를 포함한다.
OSGi, 웹 서비스, 상호 연동, Proxy
Discuss dynamic interworking method with web service in OSGi service platform. In the OSGi service platform, a dynamic interworking method with a web service may include: generating a service assembly description according to a request in an OSGi application service; Analyzing the service assembly description in a plumbing service; Calling a web gateway service from the plumbing service if it is necessary to interconnect with a web service as a result of the analysis; Generating, by the web gateway service, a proxy for the web service, which is requested to interwork with the plumbing service, and registering the proxy in the service registry; And assembling a service from the plumbing service and interworking with the web service.
OSGi, Web Services, Interoperability, Proxy
Description
본 발명은 OSGi(Open Service Gateway initiative) 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법에 관한 것으로, 특히 OSGi 서비스 플랫폼에서 서비스의 실행 시 웹 서비스에 대한 요청이 이루어지게 되면 대리자(Proxy)를 생성하여 이를 통해 웹 서비스와 동적으로 상호 연동 하는 방법이다.The present invention relates to a dynamic interworking method with a web service in an open service gateway initiative (OSGi) service platform. In particular, when a request for a web service is made when a service is executed in an OSGi service platform, a proxy is generated. Through this, it is a way to dynamically interact with web services.
전자 기술의 발전에 따라 전자 기기들이 지능화되고 인터넷의 보급이 확산되면서 다양한 기술을 통합하여 더 편리한 서비스를 제공하고자 하는 새로운 유비쿼터스 기술들이 활발히 연구되고 있다.With the development of electronic technology, as electronic devices become more intelligent and the spread of the Internet spreads, new ubiquitous technologies are actively being researched to provide more convenient services by integrating various technologies.
특히, 스마트 홈(Smart-Home) 기술은 이러한 유비쿼터스 기술들 중의 하나로, 다양한 기능을 갖는 가정 내 디지털 정보기기들을 기능 공유, 데이터 공유, 원격 제어 등을 위해 네트워크로 연결됨을 의미하는 홈 네트워크의 개념을 넘어 서비스들의 지능화와 서비스들 간의 통합에 따른 더 나은 서비스를 창출해 내는 것들을 포함하는 중요한 기술이다.In particular, Smart-Home technology is one of such 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) 내부에서 서비스와 장비들을 등록(연결), 관리, 실행시키는 서비스 프레임워크와 몇 가지의 기초 서비스들을 정의하고 사용자 프로그램의 작성에 대한 내용을 정의하고 있다. OSGi 서비스 플랫폼에서의 프레임워크는 필요한 서비스를 설치, 등록하여 그 정보를 저장해 두고, 사용자가 필요한 서비스를 요청할 때 해당 서비스를 검색하여 제공하게 된다.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. The framework in the OSGi service platform installs and registers the necessary services and stores the information. When the user requests the required services, the framework searches for and provides them.
한편, 웹 서비스를 사용하기 위한 기존 기술인 웹 서비스의 스텁은 OSGi 환경에서 그대로 사용할 수 없다. 이는 OSGi 서비스 플랫폼 명세서에 명시되어 있는 표준을 따르는 번들 형태이어야 하기 때문이다.On the other hand, stubs of web services, the existing technology for using web services, cannot be used in OSGi environment. This is because it must be in the form of a bundle conforming to the standard specified in the OSGi service platform specification.
종래에 OSGi 서비스와 웹 서비스를 연동하기 위한 기술로 웹 서비스의 WSDL로부터 자바 클래스를 생성하고, 자바 클래스로부터 번들 엑티베이터 클래스를 생성하고 이를 OSGi 서비스 플랫폼 명세서에 맞게 jar 파일로 압축하여 웹 서비스를 상호 연동 시키는 방법이 존재한다. 하지만 이는 별도의 jar파일을 생성함으로 인해 서비스의 상호 연동 시 실행단계의 동적인 웹 서비스와의 연동이라 보기는 어렵다. 또한 웹 서비스의 스텁이 서비스 실행 이전에 생성되기 때문에 해당 웹 서비스의 업데이트에 따른 변화가 있을 시에 이를 적절히 반영하지 못한다. 그리고 불필요한 스텁을 사전에 생성하여 메모리의 낭비를 초래한다. 또한 웹 서비스의 스텁을 이용해 동적으로 생성된 서비스를 다른 서비스가 동적으로 사용하도록 하는 서비스의 재사용은 지원되지 않는다.Conventionally, a technology for interworking OSGi services and web services is to generate a Java class from the WSDL of the web service, generate a bundled activator class from the Java class, and compress the web service into a jar file according to the OSGi service platform specification. There is a way to interlock. However, this is difficult to see as the dynamic web service in the execution stage when the services are interworked by creating a separate jar file. Also, since the stub of the web service is generated before the service is executed, it cannot be properly reflected when there is a change according to the update of the web service. And unnecessary stubs are generated in advance, which wastes memory. In addition, the reuse of services that allow other services to use dynamically generated services using stubs from Web services is not supported.
다시 말해, 종래 기술은 OSGi 서비스와 웹 서비스의 상호 연동을 위한 초점 보다는 웹 서비스를 사용하기 위한 스텝의 자동생성에 그 목적을 갖고 있기 때문에 종래의 기술을 통해 서비스들이 상호 연동을 하기 위해서는 사용자는 일반적인 웹 서비스의 클라이언트와 개발과 동일하게 서비스의 기능을 WSDL 파일과 인터페이스를 통해 파악하여 상호 연동되는 OSGi 클라이언트인 서비스가 구현해야 한다. 그러나 이렇게 생산된 클라이언트 서비스는 특정 웹 서비스의 포트 타입과 파트너 타입에 기반하기 때문에 비슷한 기능을 갖는 다른 웹 서비스와의 상호 연동에 사용될 수 없다. 이는 서비스 조립의 관점에서 볼 때 불필요한 서비스의 클라이언트 서비스의 생산을 초래한다.In other words, the prior art has a purpose to automatically generate a step for using a web service rather than a focus for interoperability between the OSGi service and the web service. As with the client and development of the web service, the service function must be implemented through the WSDL file and interface, and the service, which is an interoperable OSGi client, must be implemented. However, this produced client service cannot be used for interworking with other web services with similar functions because it is based on port type and partner type of a specific web service. This results in the production of client services of unnecessary services in terms of service assembly.
본 발명은 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법을 제공한다.The present invention provides a dynamic interworking method with a web service in the OSGi service platform.
본 발명은 OSGi 서비스 플랫폼에서 서비스의 실행 시 웹 서비스에 대한 요청이 이루어지게 되면 대리자(Proxy)를 생성하여 이를 통해 웹 서비스와 동적으로 상호 연동 하는 방법을 제공한다.The present invention provides a method for dynamically interacting with a web service by creating a proxy when a request for a web service is made when the service is executed in the OSGi service platform.
본 발명의 실시 예에 따른 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법은 OSGi 응용 서비스(OSGi Application Service)에서 요청에 따라 서비스 조립 기술서를 생성하는 단계; 배관 서비스(Plumber Service)에서 상기 서비스 조립 기술서를 분석하는 단계; 분석결과 웹 서비스와의 상호 연동이 필요하면 상기 배관 서비스에서 웹 게이트웨이 서비스(Web Gateway Service)를 호출하는 단계; 상기 웹 게이트웨이 서비스는 상기 배관 서비스로부터 상호 연동을 요청받은 상기 웹 서비스의 대행하는 프록시를 생성하고 서비스 레지스트리에 등록하는 단계; 및, 상기 배관 서비스에서 서비스를 조립하여 웹 서비스와 상호 연동하는 단계를 포함한다.In the OSGi service platform according to an embodiment of the present invention, a dynamic interworking method with a web service may include generating a service assembly description according to a request from an OSGi application service; Analyzing the service assembly description in a plumbing service; Calling a web gateway service from the plumbing service if it is necessary to interconnect with a web service as a result of the analysis; Generating, by the web gateway service, a proxy for the web service, which is requested to interwork with the plumbing service, and registering the proxy in the service registry; And assembling a service from the plumbing service and interworking with the web service.
본 발명의 실시예는 OSGi 응용 서비스(OSGi Application Service)에서 요청에 따라 서비스 조립 기술서를 생성하는 단계; 배관 서비스(Plumber Service)에서 상기 서비스 조립 기술서를 분석하는 단계; 분석결과 웹 서비스와의 상호 연동이 필요하면 상기 배관 서비스에서 웹 게이트웨이 서비스(Web Gateway Service)를 호출하는 단계; 상기 웹 게이트웨이 서비스는 상기 배관 서비스로부터 상호 연동을 요청받은 상기 웹 서비스의 대행하는 프록시를 생성하고 서비스 레지스트리에 등록하는 단계; 및, 상기 배관 서비스에서 서비스를 조립하여 웹 서비스와 상호 연동하는 단계를 포함하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법에 관한 것으로 OSGi 서비스와 웹 서비스간의 상호 연동에 있어 실행 시간에 동적으로 웹 서비스의 대리자를 생성하는 기능을 제공할 수 있고 OSGi 서비스들의 특정 웹 서비스에 대한 종속성을 제거하고 OSGi 서비스들의 서비스 상호 연동을 통한 서비스의 재사용성을 높일 수 있다.An embodiment of the present invention comprises the steps of generating a service assembly description according to the request in the OSGi Application Service (OSGi Application Service); Analyzing the service assembly description in a plumbing service; Calling a web gateway service from the plumbing service if it is necessary to interconnect with a web service as a result of the analysis; Generating, by the web gateway service, a proxy for the web service, which is requested to interwork with the plumbing service, and registering the proxy in the service registry; And a method of dynamically interoperating with a web service in an OSGi service platform including assembling a service in the plumbing service and interworking with a web service. It can provide the function to create the delegate of the web service, and it can remove the dependency of the OSGi services on the specific web service and increase the service reusability through the service interworking of the OSGi services.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. If it is determined that the gist of the present invention may be unnecessarily obscured, the detailed description thereof will be omitted.
본 발명의 실시 예는 OSGi(Open Service Gateway initiative) 서비스 플랫폼에서 서비스의 실행 시 웹 서비스에 대한 요청이 이루어지게 되면 대리자(Proxy)를 생성하여 이를 통해 웹 서비스와 동적으로 상호 연동 하는 방법이다.An embodiment of the present invention is a method of dynamically interacting with a web service by creating a proxy when a request for a web service is made when the service is executed in an OSGi service platform.
도 1은 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 하는 OSGi 서비스 플랫폼을 위한 OSGi 프레임워크의 구조를 도시한 도면이다. 도 1을 참조하면 OSGi 프레임워크(100)는 OSGi 응용 서비스(OSGi Application Service)(110), 배관 서비스(Plumber Service)(120), 웹 게이트웨이 서비스(Web Gateway Service)(130), 프록시(Proxy)(140), 서비스 레지스트(Service Registry)(150)를 포함한다.1 is a diagram illustrating a structure of an OSGi framework for an OSGi service platform interoperating with a web service according to an exemplary embodiment of the present invention. Referring to FIG. 1, the OSGi
OSGi 응용 서비스(OSGi Application Service)(110)는 사용자가 사용하는 GUI(Graphical User Interface)적인 응용프로그램의 일종으로 사용자의 요청에 따른 서비스 조립 기술서(XML description graph)를 생성하고, 생성한 서비스 조립 기술서를 배관 서비스(120)로 전달하여 서비스의 구성을 요청한다.The OSGi
배관 서비스(Plumber Service)(120)는 XML형태의 서비스 조립 기술서를 전달받아 이를 기초로 기술된 서비스들을 조립하고 이를 관리하는 OSGi 프레임워크의 시스템 서비스이다. 배관 서비스(120)는 Wire Admin 서비스, Declaratvie 서비스, Event Admin 서비스 및, Service Tracker 등을 포함한다. 여기서, Wire Admin 서비스는 서비스를 연결하는 wire를 관리하는 서비스이다. Wire Admin 서비스는 각 소비자나 생산자 서비스는 직접적으로 상대되는 서비스를 호출하지 않고 wire를 매개체로 하여 값을 전달하도록 제공한다. Declaratvie 서비스는 각 서비스 컴포넌트들의 의존성을 관리하는 서비스이다. Event Admin 서비스는 서비스들의 이벤트를 관리하는 서비스이고, Service Tracker는 서비스의 상태를 추적하는 서비스이다. 여기서, 서비스의 상태는 인스톨, 활성화, 비활성화, 언인스톨 등의 라이프 사이클 상의 상태를 의미합니다. 즉, 배관 서비스(120)는 Wire Admin 서비스, Declaratvie 서비스, Event Admin 서비스 및, Service Tracker 등을 이용하여 동적인 파이프(pipe)의 연결을 관리하는 서비스이다.The
또한 배관 서비스(120)는 본 발명의 실시 예에 따라 웹 게이트웨이 서비스(130)에 의해 생성된 프록시(140)를 다른 서비스와 연결하는 주체가 된다. 즉 XML 기술서에 정의된 서비스를 서비스 레지스트(150)로부터 검색하여 소비자와 생산자 서비스로 연결한다. 이때 Proxy와 OSGi 서비스들이 연결 대상된다.In addition, the
서비스들의 연결 이후 배관 서비스(120)는 연결된 서비스들의 관리를 위해 해당 서비스들을 지속적으로 추적하게 한다(이때 추적은 상술한 Service Tracker 서비스에 통해 이루어진다.). 즉 배관 서비스(120)는 조립된 서비스의 내부 서비스들의 상태 변화를 감지하고 이에 대응(서비스의 대체, 조립된 서비스의 중단 등)한다.After the connection of the services, the
웹 게이트웨이 서비스(Web Gateway Service)(130)는 OSGi 프레임워크 내부에 시스템 서비스로써 웹 서비스(160)의 WSDL(Web Services Description Language)(162) 파일을 읽고 이를 분석하여 웹 서비스(160)의 프록시(140)를 생성하는 서비스이다. 웹 게이트웨이 서비스(130)의 보다 상세한 내용은 이후 도 2를 통해 후술하고자 한다.The Web Gateway Service 130 reads a Web Services Description Language (WSDL) file of the
프록시(Proxy)(140)는 웹 서비스(160)의 대리자로서 OSGi 프레임워크(100)에 서비스로 등록되어 OSGi 서비스들과 직접적으로 연결된다. 프록시(140)의 보다 상세한 내용은 이후 도 3에서 도 4를 통해 후술하고자 한다.The
서비스 레지스트(Service Registry)(150)는 서비스 중인 OSGi 서비스들을 등록하여 저장하고 배관 서비스(120)로 등록된 서비스들의 정보를 제공한다. 또한 본 발명의 실시 예에 따라 추가로 웹 게이트웨이 서비스(130)에서 생성한 프록시(140)를 등록하여 저장하고, 프록시(140) 등록시 등록 이벤트를 배관 서비스(120)로 제공한다.The
도 2는 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 위한 OSGi 프레임워크에서 웹 게이트웨이 서비스의 구조를 도시한 도면이다. 도 2를 참조하면 웹 게이트웨이 서비스(130)는 WSDL 분석부(WSDL analyst)(232), 프록시 생성부(Proxy generator)(234) 및, 프록시 관리부(Proxy manager)(236)를 포함한다.2 is a diagram illustrating a structure of a web gateway service in an OSGi framework for interworking with a web service according to an exemplary embodiment of the present invention. 2, the
WSDL 분석부(WSDL analyst)(232)는 배관 서비스(120)로부터 제공받은 웹 서비스를 검색하여 WSDL을 요청하고 웹 서비스(160)의 WSDL을 분석하여 이로부터 Proxy 생성에 필요한 정보를 획득한다. 여기서 WSDL을 분석한다는 것은 WSDL이 XML 형태의 기술서이기 때문에 이를 파싱한다는 의미된다. 즉, WSDL 분석부(232)는 파싱된 XML 문서로부터 프록시 생성을 위한 웹 서비스 이름, 인터페이스, 서비스 URL, encoding 타입, 메소드 이름, 입력 및 출력의 변수(파라메타) 타입 등의 정보를 확인하여 프록시 생성부(234)로 제공한다.The WSDL
프록시 생성부(Proxy generator)(234)는 WSDL 분석부(232)에 의해 획득된 정보를 이용하여 프록시(140)를 생성한다.The
프록시 관리부(Proxy manager)(236)는 생성한 프록시를 추적/관리하는 모듈이다. 프록시 관리부(236)는 프록시 생성부(234)에서 생성한 프록시(140)를 서비스 레지스트(150)에 등록하고, 프록시 생성부(234)에서 생성한 프록시에 해당하는 서 비스의 리스트를 유지합니다. 이를 이용하여 웹 서비스의 상태를 단순 객체 접근 프로토콜(SOAP: Simple Object Access Protocol)을 통하여 주기적으로 확인받고 서비스의 업데이트 또는 유실 등에 대해 대응한다. 즉, 웹 서비스의 이벤트 발생 감지 역할을 수행한다. 더불어 프록시 관리부(236)는 프록시 생성부(234)에서 생성한 프록시(140)를 직접적으로 관리하여 불필요한 서비스의 생성을 억제한다.The
도 3은 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 위한 OSGi 프레임워크에서 프록시를 통해 웹 서비스와 OSGi 서비스간의 상호 연동을 도시화한 도면이다.3 is a diagram illustrating interworking between a web service and an OSGi service through a proxy in an OSGi framework for interworking with a web service according to an exemplary embodiment of the present invention.
도 3을 참조하면 프록시를 통한 상호연동은 Pipe와 SOAP을 통해서 이루진다. 즉, 프록시(140)와 OSGi 서비스들(302, 304)간의 상호연동은 Pipe를 통해 연결하여 값을 전달 받거나 전달하고, 프록시(140)와 웹 서비스(160)간의 상호연동은 SOAP를 이용하여 요청하거나 응답 받는다.Referring to FIG. 3, interworking through proxies is performed through Pipe and SOAP. That is, the interworking between the proxy 140 and the
도 4는 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 위해 생성한 프록시의 구성을 도시한 도면이다. 도 4를 참조하면 프록시(140)는 웹 서비스 처리부(442), 메시지 변환부(444) 및, OSGi 처리부(446)를 포함한다.4 is a diagram illustrating a configuration of a proxy created for interworking with a web service according to an exemplary embodiment of the present invention. Referring to FIG. 4, the
웹 서비스 처리부(442)는 프록시(140)와 웹 서비스(160)와의 상호연동을 처리하는 모듈로서 AXIS에서 웹 서비스의 호출을 위해 제공하는 JAX-RPC 타입의 동적 호출 인터페이스 클라이언트 타입의 호출 방식을 사용한다. 웹 서비스 처리부(442)는 내부에서 Call 객체를 생성하고 이를 통해 웹 서비스와의 메시지를 처리한다.The web
메시지 변환부(444)는 OSGi 서비스와 웹 서비스(160)의 서비스 호출 방식의 차이로 인하여 발생하는 상호연동의 어려움을 극복하기 위하여 호출 된 서비스의 메세지 처리 타입에 맞게 수정하여 전송하는 모듈이다. 이러한 프록시(140)의 기능은 웹 서비스들과 OSGi 서비스들 사이에 Loose coupled한 서비스 조립을 지원한다.The
OSGi 처리부(446)는 프록시(140)와 OSGi 서비스와의 상호연동을 처리하는 모듈로서 Pipe를 통해 연결된다. 이때, Pipe는 기본적으로 update메소드와 pulled 메소드를 통하여 서비스들 간의 상호 연동한다. 여기서, update는 하위 서비스(예를 들어 생산자 서비스)에서 상위 서비스로의 값을 전달(응답)하기 위한 호출이고 pulled는 상위 서비스(예를 들어 소비자 서비스)로부터 하위 서비스의 값을 요구(요청)하기 위한 호출이다.The
이하, 상기와 같이 구성된 본 발명에 따른 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법을 아래에서 도면을 참조하여 설명한다.Hereinafter, a method of dynamically interoperating with a web service in the OSGi service platform according to the present invention configured as described above will be described with reference to the accompanying drawings.
도 5는 본 발명의 실시 예에 따른 OSGi 서비스 플랫폼에서 웹 서비스와 상호 연동을 하는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process of interworking with a web service in an OSGi service platform according to an exemplary embodiment of the present invention.
도 5를 참조하면 OSGi 서비스 플랫폼은 500단계에서 OSGi 응용 서비스(OSGi Application Service)를 통해 사용자로부터의 서비스 요청을 감지하면 502단계로 진행하여 요청 받은 서비스들의 서비스 조립 기술서를 생성하고, 504단계로 진행하여 배관 서비스(Plumber Service)를 이용하여 서비스 조립 기술서를 분석하고, 506단계로 진행하여 분석한 서비스를 검색한다. Referring to FIG. 5, if the OSGi service platform detects a service request from a user through an OSGi application service in
이후 OSGi 서비스 플랫폼의 배관 서비스(Plumber Service)는 508단계로 진 행하여 검색한 서비스가 웹 서비스인지 여부를 확인한다. 확인결과 웹 서비스이면 510단계로 진행하여 배관 서비스(Plumber Service)는 웹 게이트웨이 서비스(Web Gateway Service)를 호출한다.After that, the plumbing service of the OSGi service platform proceeds to step 508 to check whether the searched service is a web service. If the check result is a web service, the flow proceeds to step 510 where the plumbing service calls the web gateway service.
이후 OSGi 서비스 플랫폼의 웹 게이트웨이 서비스(Web Gateway Service)는 512단계로 진행하여 배관 서비스(Plumber Service)로부터 상호 연동을 요청받은 웹 서비스의 WSDL(Web Services Description Language)를 읽고 이를 분석하고, 514단계로 진행하여 WSDL의 분석정보를 이용하여 프록시를 생성하고, 516단계로 진행하여 생성한 프록시를 서비스 레지스트리에 등록한다.After that, the web gateway service of the OSGi service platform proceeds to step 512 to read and analyze the web services description language (WSDL) of the web service that is requested to be interoperated with the plumbing service, and then to step 514. Proceed to create a proxy using the analysis information of the WSDL, and proceeds to step 516 to register the generated proxy in the service registry.
이후 OSGi 서비스 플랫폼의 배관 서비스는 518단계로 진행하여 서비스 레지스트리에 프록시가 등록되었음을 감지하면 서비스를 조립하여 웹 서비스와 상호 연동된 서비스를 제공한다.After that, when the plumbing service of the OSGi service platform detects that the proxy is registered in the service registry in
한편, 상기 508단계의 확인결과 검색한 서비스에 웹 서비스가 존재하지 않고 OSGi 서비스만 존재하면 배관 서비스(Plumber Service)는 종래의 기술에 따라 OSGi 서비스를 조립하여 연결한다. On the other hand, if the web service does not exist in the searched result of
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 파일 데이터, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스 크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium. The computer readable medium may include program instructions, file data, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, although the present invention has been described with reference to the limited embodiments and the drawings, the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.
도 1은 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 하는 OSGi 서비스 플랫폼을 위한 OSGi 프레임워크의 구조를 도시한 도면,1 is a diagram illustrating a structure of an OSGi framework for an OSGi service platform interoperating with a web service according to an embodiment of the present invention;
도 2는 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 위한 OSGi 프레임워크에서 웹 게이트웨이 서비스의 구조를 도시한 도면,2 is a diagram illustrating a structure of a web gateway service in an OSGi framework for interworking with a web service according to an embodiment of the present invention;
도 3은 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 위한 OSGi 프레임워크에서 프록시를 통해 웹 서비스와 OSGi 서비스간의 상호 연동을 도시화한 도면,3 is a diagram illustrating interworking between a web service and an OSGi service through a proxy in an OSGi framework for interworking with a web service according to an embodiment of the present invention;
도 4는 본 발명의 실시 예에 따른 웹 서비스와 상호 연동을 위해 생성한 프록시의 구성을 도시한 도면 및,4 is a diagram illustrating a configuration of a proxy generated for interworking with a web service according to an embodiment of the present invention;
도 5는 본 발명의 실시 예에 따른 OSGi 서비스 플랫폼에서 웹 서비스와 상호 연동을 하는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process of interworking with a web service in an OSGi service platform according to an exemplary embodiment of the present invention.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080057958A KR100963785B1 (en) | 2008-06-19 | 2008-06-19 | DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080057958A KR100963785B1 (en) | 2008-06-19 | 2008-06-19 | DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090131945A KR20090131945A (en) | 2009-12-30 |
KR100963785B1 true KR100963785B1 (en) | 2010-06-14 |
Family
ID=41691063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080057958A KR100963785B1 (en) | 2008-06-19 | 2008-06-19 | DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100963785B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102232951B1 (en) * | 2019-11-27 | 2021-03-26 | 주식회사 오내모 | Back-end service platform device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050073015A (en) * | 2004-01-08 | 2005-07-13 | 삼성전자주식회사 | Apparatus and method for sharing services on network |
KR20050087129A (en) * | 2004-02-25 | 2005-08-31 | 삼성전자주식회사 | Method of testing osgi service platform and test tool thereof |
KR20060042412A (en) * | 2006-03-24 | 2006-05-12 | 한국정보통신대학교 산학협력단 | Osgi service flatform and method for offering service using by it |
KR20060045085A (en) * | 2006-03-24 | 2006-05-16 | 한국정보통신대학교 산학협력단 | Stub bundle production method based osgi service platform |
-
2008
- 2008-06-19 KR KR1020080057958A patent/KR100963785B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050073015A (en) * | 2004-01-08 | 2005-07-13 | 삼성전자주식회사 | Apparatus and method for sharing services on network |
KR20050087129A (en) * | 2004-02-25 | 2005-08-31 | 삼성전자주식회사 | Method of testing osgi service platform and test tool thereof |
KR20060042412A (en) * | 2006-03-24 | 2006-05-12 | 한국정보통신대학교 산학협력단 | Osgi service flatform and method for offering service using by it |
KR20060045085A (en) * | 2006-03-24 | 2006-05-16 | 한국정보통신대학교 산학협력단 | Stub bundle production method based osgi service platform |
Also Published As
Publication number | Publication date |
---|---|
KR20090131945A (en) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8248992B2 (en) | Method and apparatus for providing home network device service to an external device through web service | |
Issarny et al. | A perspective on the future of middleware-based software engineering | |
Pautasso et al. | Restful web services vs." big"'web services: making the right architectural decision | |
US7376670B2 (en) | System and method for provisioning presence application services | |
Issarny et al. | Middleware-layer connector synthesis: Beyond state of the art in middleware interoperability | |
Perumal et al. | Interoperability for smart home environment using web services | |
US20080201723A1 (en) | Method of Automatically Managing Associations Between Services in a Distributed Environment | |
Tigli et al. | Lightweight service oriented architecture for pervasive computing | |
Blair et al. | Interoperability in complex distributed systems | |
Perumal et al. | Middleware for heterogeneous subsystems interoperability in intelligent buildings | |
CN101459609A (en) | Enterprise service bus implementing method | |
Issarny et al. | Composing distributed systems: Overcoming the interoperability challenge | |
Bromberg et al. | Bridging the interoperability gap: Overcoming combined application and middleware heterogeneity | |
Yan et al. | Researching and Designing the Architecture of E-government Based on SOA | |
Jan et al. | Flex‐eWare: a flexible model driven solution for designing and implementing embedded distributed systems | |
Al Belushi et al. | An approach to wrap legacy applications into web services | |
KR100963785B1 (en) | DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM | |
US20060041665A1 (en) | Network services applications | |
Fayçal et al. | Integrating legacy systems in a SOA using an agent based approach for information system agility | |
Monfort et al. | Towards adaptable SOA: model driven development, context and aspect | |
Moriya et al. | A support system for designing ubiquitous service composition scenarios | |
Benatallah et al. | Service oriented computing: Opportunities and challenges | |
Bertolino et al. | Initial CONNECT architecture | |
Martinek et al. | Implementation of semantic services in enterprise application integration | |
Cabezas et al. | An Agent Based Semantic OSGi Service Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130410 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140312 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |