KR100963785B1 - DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM - Google Patents

DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM Download PDF

Info

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
Application number
KR1020080057958A
Other languages
Korean (ko)
Other versions
KR20090131945A (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 KR1020080057958A priority Critical patent/KR100963785B1/en
Publication of KR20090131945A publication Critical patent/KR20090131945A/en
Application granted granted Critical
Publication of KR100963785B1 publication Critical patent/KR100963785B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network 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)를 호출하는 단계; 상기 웹 게이트웨이 서비스는 상기 배관 서비스로부터 상호 연동을 요청받은 상기 웹 서비스의 대행하는 프록시를 생성하고 서비스 레지스트리에 등록하는 단계; 및, 상기 배관 서비스에서 서비스를 조립하여 웹 서비스와 상호 연동하는 단계를 포함한다.

Figure R1020080057958

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.

Figure R1020080057958

OSGi, Web Services, Interoperability, Proxy

Description

OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법{DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM}Dynamic Interworking Method with Web Services in OSSi Service Platform {DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM}

본 발명은 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 framework 100 includes an OSGi Application Service 110, a Plumbing Service 120, a Web Gateway Service 130, and a Proxy. 140, a service registry 150.

OSGi 응용 서비스(OSGi Application Service)(110)는 사용자가 사용하는 GUI(Graphical User Interface)적인 응용프로그램의 일종으로 사용자의 요청에 따른 서비스 조립 기술서(XML description graph)를 생성하고, 생성한 서비스 조립 기술서를 배관 서비스(120)로 전달하여 서비스의 구성을 요청한다.The OSGi Application Service 110 is a type of graphical user interface (GUI) application used by a user. The OSGi Application Service 110 generates an XML description graph according to a user's request and generates the generated service assembly description. To the plumbing service 120 to request the configuration of the service.

배관 서비스(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 plumbing service 120 is a system service of the OSGi framework that receives a service assembly description in the form of XML and assembles and manages the services described thereon. The plumbing service 120 includes a wire admin service, a declaratvie service, an event admin service, and a service tracker. Here, the Wire Admin service is a service that manages wires connecting the services. The Wire Admin service provides each consumer or producer service to pass values via wires without invoking the service directly. The Declaratvie service is a service that manages the dependency of each service component. Event Admin service is a service that manages events of services, and Service Tracker is a service that tracks the status of the service. Here, the status of the service means the life cycle status of installation, activation, deactivation, and uninstallation. That is, the plumbing service 120 is a service for managing a dynamic pipe connection using a wire admin service, a declaratvie service, an event admin service, and a service tracker.

또한 배관 서비스(120)는 본 발명의 실시 예에 따라 웹 게이트웨이 서비스(130)에 의해 생성된 프록시(140)를 다른 서비스와 연결하는 주체가 된다. 즉 XML 기술서에 정의된 서비스를 서비스 레지스트(150)로부터 검색하여 소비자와 생산자 서비스로 연결한다. 이때 Proxy와 OSGi 서비스들이 연결 대상된다.In addition, the plumbing service 120 is a subject that connects the proxy 140 generated by the web gateway service 130 with another service according to an embodiment of the present invention. That is, the service defined in the XML specification is retrieved from the service registrar 150 and connected to the consumer and the producer service. At this time, Proxy and OSGi services are connected.

서비스들의 연결 이후 배관 서비스(120)는 연결된 서비스들의 관리를 위해 해당 서비스들을 지속적으로 추적하게 한다(이때 추적은 상술한 Service Tracker 서비스에 통해 이루어진다.). 즉 배관 서비스(120)는 조립된 서비스의 내부 서비스들의 상태 변화를 감지하고 이에 대응(서비스의 대체, 조립된 서비스의 중단 등)한다.After the connection of the services, the plumbing service 120 keeps track of the corresponding services for management of the connected services (the tracking is performed by the above-described Service Tracker service). That is, the plumbing service 120 detects and responds to a state change of internal services of the assembled service (replacement of the service, discontinuance of the assembled service, etc.).

웹 게이트웨이 서비스(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 web service 160 as a system service inside the OSGi framework and analyzes the web service description language (162) file to analyze the proxy of the web service 160. 140) to create a service. More details of the web gateway service 130 will be described later with reference to FIG. 2.

프록시(Proxy)(140)는 웹 서비스(160)의 대리자로서 OSGi 프레임워크(100)에 서비스로 등록되어 OSGi 서비스들과 직접적으로 연결된다. 프록시(140)의 보다 상세한 내용은 이후 도 3에서 도 4를 통해 후술하고자 한다.The proxy 140 is registered as a service in the OSGi framework 100 as a delegate of the web service 160 and directly connects to OSGi services. More details of the proxy 140 will be described later with reference to FIGS. 3 and 4.

서비스 레지스트(Service Registry)(150)는 서비스 중인 OSGi 서비스들을 등록하여 저장하고 배관 서비스(120)로 등록된 서비스들의 정보를 제공한다. 또한 본 발명의 실시 예에 따라 추가로 웹 게이트웨이 서비스(130)에서 생성한 프록시(140)를 등록하여 저장하고, 프록시(140) 등록시 등록 이벤트를 배관 서비스(120)로 제공한다.The service registry 150 registers and stores OSGi services in service and provides information on services registered with the plumbing service 120. In addition, according to an embodiment of the present invention, the proxy 140 generated by the web gateway service 130 is additionally registered and stored, and the registration event is provided to the plumbing service 120 when the proxy 140 is registered.

도 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 web gateway service 130 may include a WSDL analyst 232, a proxy generator 234, and a proxy manager 236.

WSDL 분석부(WSDL analyst)(232)는 배관 서비스(120)로부터 제공받은 웹 서비스를 검색하여 WSDL을 요청하고 웹 서비스(160)의 WSDL을 분석하여 이로부터 Proxy 생성에 필요한 정보를 획득한다. 여기서 WSDL을 분석한다는 것은 WSDL이 XML 형태의 기술서이기 때문에 이를 파싱한다는 의미된다. 즉, WSDL 분석부(232)는 파싱된 XML 문서로부터 프록시 생성을 위한 웹 서비스 이름, 인터페이스, 서비스 URL, encoding 타입, 메소드 이름, 입력 및 출력의 변수(파라메타) 타입 등의 정보를 확인하여 프록시 생성부(234)로 제공한다.The WSDL analyst 232 retrieves a web service provided from the plumbing service 120, requests a WSDL, and analyzes the WSDL of the web service 160 to obtain information necessary for generating a proxy therefrom. Parsing a WSDL here means parsing it because the WSDL is an XML description. That is, the WSDL analyzer 232 generates a proxy by checking information such as a web service name, an interface, a service URL, an encoding type, a method name, input and output variable (parameter) types, etc. for generating a proxy from the parsed XML document. Provided to section 234.

프록시 생성부(Proxy generator)(234)는 WSDL 분석부(232)에 의해 획득된 정보를 이용하여 프록시(140)를 생성한다.The proxy generator 234 generates the proxy 140 using the information obtained by the WSDL analyzer 232.

프록시 관리부(Proxy manager)(236)는 생성한 프록시를 추적/관리하는 모듈이다. 프록시 관리부(236)는 프록시 생성부(234)에서 생성한 프록시(140)를 서비스 레지스트(150)에 등록하고, 프록시 생성부(234)에서 생성한 프록시에 해당하는 서 비스의 리스트를 유지합니다. 이를 이용하여 웹 서비스의 상태를 단순 객체 접근 프로토콜(SOAP: Simple Object Access Protocol)을 통하여 주기적으로 확인받고 서비스의 업데이트 또는 유실 등에 대해 대응한다. 즉, 웹 서비스의 이벤트 발생 감지 역할을 수행한다. 더불어 프록시 관리부(236)는 프록시 생성부(234)에서 생성한 프록시(140)를 직접적으로 관리하여 불필요한 서비스의 생성을 억제한다.The proxy manager 236 is a module that tracks / manages the generated proxy. The proxy manager (236) registers the proxy (140) generated by the proxy generator (234) with the service register (150) and maintains a list of services corresponding to the proxy created by the proxy generator (234). Using this, the status of the web service is periodically checked through the Simple Object Access Protocol (SOAP), and the service is updated or lost. That is, it plays a role of detecting event occurrence of web service. In addition, the proxy manager 236 directly manages the proxy 140 generated by the proxy generator 234 to suppress generation of unnecessary services.

도 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 OSGi services 302 and 304 connects via a pipe to receive or transmit a value, and the interworking between the proxy 140 and the web service 160 requests using SOAP. Or answer.

도 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 proxy 140 includes a web service processor 442, a message converter 444, and an OSGi processor 446.

웹 서비스 처리부(442)는 프록시(140)와 웹 서비스(160)와의 상호연동을 처리하는 모듈로서 AXIS에서 웹 서비스의 호출을 위해 제공하는 JAX-RPC 타입의 동적 호출 인터페이스 클라이언트 타입의 호출 방식을 사용한다. 웹 서비스 처리부(442)는 내부에서 Call 객체를 생성하고 이를 통해 웹 서비스와의 메시지를 처리한다.The web service processing unit 442 is a module that processes the interaction between the proxy 140 and the web service 160, and uses a JAX-RPC type dynamic call interface client type invocation method provided by AXIS for invoking a web service. do. The web service processor 442 creates a Call object therein and processes a message with the web service through the web object.

메시지 변환부(444)는 OSGi 서비스와 웹 서비스(160)의 서비스 호출 방식의 차이로 인하여 발생하는 상호연동의 어려움을 극복하기 위하여 호출 된 서비스의 메세지 처리 타입에 맞게 수정하여 전송하는 모듈이다. 이러한 프록시(140)의 기능은 웹 서비스들과 OSGi 서비스들 사이에 Loose coupled한 서비스 조립을 지원한다.The message converting unit 444 is a module for modifying and transmitting the message processing type of the called service in order to overcome the difficulty of interworking caused by the difference between the OSGi service and the service calling method of the web service 160. The function of this proxy 140 supports assembly of loosely coupled services between web services and OSGi services.

OSGi 처리부(446)는 프록시(140)와 OSGi 서비스와의 상호연동을 처리하는 모듈로서 Pipe를 통해 연결된다. 이때, Pipe는 기본적으로 update메소드와 pulled 메소드를 통하여 서비스들 간의 상호 연동한다. 여기서, update는 하위 서비스(예를 들어 생산자 서비스)에서 상위 서비스로의 값을 전달(응답)하기 위한 호출이고 pulled는 상위 서비스(예를 들어 소비자 서비스)로부터 하위 서비스의 값을 요구(요청)하기 위한 호출이다.The OSGi processing unit 446 is a module that processes the interaction between the proxy 140 and the OSGi service and is connected through a pipe. At this time, Pipe basically interacts with services through update method and pulled method. Where update is a call to pass (response) the value from the child service (eg producer service) to the parent service and pulled requests (requests) the value of the child service from the parent service (eg consumer service). Is the call to

이하, 상기와 같이 구성된 본 발명에 따른 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 step 500, the OSGi service platform proceeds to step 502 to generate a service assembly description of the requested services, and proceeds to step 504. The service assembly description is analyzed using a plumbing service, and the process proceeds to step 506 to search for the analyzed service.

이후 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 step 518, the plumbing service of the OSGi service platform assembles the service and provides the service linked with the web service.

한편, 상기 508단계의 확인결과 검색한 서비스에 웹 서비스가 존재하지 않고 OSGi 서비스만 존재하면 배관 서비스(Plumber Service)는 종래의 기술에 따라 OSGi 서비스를 조립하여 연결한다. On the other hand, if the web service does not exist in the searched result of step 508 and only the OSGi service exists, the plumbing service (Plumber Service) assembles and connects the OSGi service according to the conventional technology.

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 파일 데이터, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스 크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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)

OSGi 응용 서비스(OSGi Application Service)에서 요청에 따라 서비스 조립 기술서를 생성하는 단계;Generating a service assembly description according to a request in an OSGi application service; 배관 서비스(Plumber Service)에서 상기 서비스 조립 기술서를 분석하는 단계;Analyzing the service assembly description in a plumbing service; 분석결과 웹 서비스와의 상호 연동이 필요하면 상기 배관 서비스에서 웹 게이트웨이 서비스(Web Gateway 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 상기 배관 서비스에서 서비스를 조립하여 웹 서비스와 상호 연동하는 단계를 포함하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법.Assembling a service in the plumbing service and interworking with a web service. 제1항에 있어서, 상기 웹 게이트웨이 서비스는,The web gateway service of claim 1, 상기 배관 서비스로부터 상호 연동을 요청 받으면, 상기 웹 서비스의 WSDL(Web Services Description Language)를 읽고 이를 분석하고, 상기 WSDL의 정보를 이용하여 상기 프록시를 생성함을 특징으로 하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법.When the interworking request is received from the plumbing service, the Web service description language (OSDL) of the web service is read and analyzed, and the proxy is generated using the information of the WSDL. Dynamic interworking methods. 제2항에 있어서, 상기 프록시를 생성할 때 이용하는 상기 WSDL의 정보는,The method of claim 2, wherein the information of the WSDL used when generating the proxy, 웹 서비스 이름, 인터페이스, 서비스 URL, encoding 타입, 메소드 이름 및, 입력 및 출력의 변수(파라메타)를 포함함을 특징으로 하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법.A dynamic interworking method with a web service in an OSGi service platform, comprising a web service name, an interface, a service URL, an encoding type, a method name, and input and output variables (parameters). 제1항에 있어서, 상기 웹 게이트웨이 서비스는,The web gateway service of claim 1, 상기 웹 서비스의 상태를 단순 객체 접근 프로토콜(SOAP: Simple Object Access Protocol)을 통하여 주기적으로 확인하여 서비스의 업데이트 또는 유실을 감지하고 대응함을 특징으로 하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법.Dynamic interworking method with the web service in the OSGi service platform, characterized in that it periodically checks the status of the web service through the Simple Object Access Protocol (SOAP) to detect the update or loss of the service and respond to it. . 제1항에 있어서, 상기 웹 게이트웨이 서비스는,The web gateway service of claim 1, 상기 프록시의 서비스가 종료되면 상기 서비스 레지스트리에서 상기 프록시 정보를 삭제함을 특징으로 하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법.And the proxy information is deleted from the service registry when the service of the proxy is terminated. 제1항에 있어서, 상기 프록시는,The method of claim 1, wherein the proxy is 상기 웹 서비스와 단순 객체 접근 프로토콜(SOAP: Simple Object Access Protocol)을 통해 연결함을 특징으로 하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법.Dynamic interworking method with the web service in the OSGi service platform, characterized in that the connection via the web service and the Simple Object Access Protocol (SOAP). 제1항에 있어서, 상기 조립되는 서비스는 OSGi 서비스를 포함하고,The method of claim 1, wherein the assembled service includes an OSGi service, 상기 프록시는,The proxy is OSGi 서비스와 Pipe로 연결함을 특징으로 하는 OSGi 서비스 플랫폼에서 웹 서비스와의 동적인 상호 연동 방법.Dynamic interworking method with web service in OSGi service platform characterized by connecting OSGi service and pipe. 제1항 내지 제7항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 7 is recorded.
KR1020080057958A 2008-06-19 2008-06-19 DYNAMIC WEB SERVICE PROXY METHOD FOR OSGi SERVICE PLATFORM KR100963785B1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102232951B1 (en) * 2019-11-27 2021-03-26 주식회사 오내모 Back-end service platform device

Citations (4)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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