KR20110056058A - Apparatus and method for mediating web service - Google Patents

Apparatus and method for mediating web service Download PDF

Info

Publication number
KR20110056058A
KR20110056058A KR1020090112737A KR20090112737A KR20110056058A KR 20110056058 A KR20110056058 A KR 20110056058A KR 1020090112737 A KR1020090112737 A KR 1020090112737A KR 20090112737 A KR20090112737 A KR 20090112737A KR 20110056058 A KR20110056058 A KR 20110056058A
Authority
KR
South Korea
Prior art keywords
web service
request message
received
message
conversion rule
Prior art date
Application number
KR1020090112737A
Other languages
Korean (ko)
Other versions
KR101270746B1 (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 KR1020090112737A priority Critical patent/KR101270746B1/en
Publication of KR20110056058A publication Critical patent/KR20110056058A/en
Application granted granted Critical
Publication of KR101270746B1 publication Critical patent/KR101270746B1/en

Links

Images

Classifications

    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: An apparatus and method for web service mediation is provided to eliminate the necessity of mediating middle ware such as an ESB(Enterprise Service Bus) by determining a conversion rule for a target service. CONSTITUTION: A message receiving unit(200) receives a web service request message from a web server. A converting rule storage unit(240) stores the converting rule information. According to the stored converting rule information of the converting rule storage unit, a request message converting unit(210) changes the received request message into a different web service call sentence. The request message converting unit performs the web service call sentence.

Description

웹 서비스 중개 장치 및 방법{Apparatus and Method for mediating web service}[0001] Apparatus and method for mediating web service [

본 발명은 웹 서비스에 관한 것으로, 특히 서비스 제공자가 웹서비스를 제공하기 위해 이용하는 통신 방식과 서비스 이용자가 웹서비스를 제공받기 위해 이용하는 통신 방식이 서로 다를 경우, 웹 서비스를 가능하게 하는 중개 장치 및 방법에 관한 것이다.The present invention relates to a web service, and more particularly, to an intermediate apparatus and method for enabling a web service when a communication method used by a service provider for providing a web service is different from a communication method used by a service user for receiving a web service .

본 발명은 지식경제부 사업의 일환으로 수행한 연구로부터 도출된 것이다.[국가관리번호 : 2009-F-048-01, 과제명 : 네트워크 기반 수요자 지향 융합 서비스 공통 플랫폼 기술 개발][2009-F-048-01, Project: Development of Common Platform Technology for Network-based Customer-Oriented Convergence Service] The present invention is derived from the research conducted as part of the Ministry of Knowledge Economy.

웹 서비스는 서비스 제공자(Service Provider)가 제공하는 복잡한 기능의 서비스들을 서비스 이용자(Service Consumer)가 쉽게 접근하여 이용할 수 있게 하는 분산 컴퓨팅 기술이다. 웹 서비스를 구성하는 기술로는 SOAP(Simple Object Access Protocol), WSDL(Web Service Description Language), UDDI(Universal Description, Discovery and Integration) 가 있다. 이들은 표준화된 기술이다. A Web service is a distributed computing technology that makes it possible for a service consumer to easily access and use complex services provided by a service provider. The technologies that make up the Web service include Simple Object Access Protocol (SOAP), Web Service Description Language (WSDL), and Universal Description, Discovery and Integration (UDDI). These are standardized technologies.

WSDL(Web Service Description Language)은 서비스 인터페이스를 기술하는 XML(extensible markup language) 형식의 언어이다. 서비스 제공자는 제공하고자 하는 서비스의 인터페이스를 WSDL을 이용하여 기술하고, 서비스 이용자는 WSDL로 기술된 서비스 인터페이스를 이용하여 서비스에 접근할 수 있다. WSDL (Web Service Description Language) is an XML (extensible markup language) format describing a service interface. The service provider describes the interface of the service to be provided using WSDL, and the service user can access the service using the service interface described in WSDL.

UDDI(Universal Description, Discovery and Integration)는 서비스 제공자의 서비스 관련 정보를 공개(Publishing)하고, 서비스 이용자가 원하는 서비스를 검색(Discovery)할 수 있도록 한다. SOAP는 서비스 이용자가 서비스 제공자가 제공하는 서비스를 호출하기 위한 프로토콜이다. UDDI (Universal Description, Discovery and Integration) publishes service related information of a service provider and enables a service user to search for desired service. SOAP is a protocol for a service user to invoke a service provided by a service provider.

최근 서비스 지향 아키텍처(SOA, Service Oriented Architecture)가 각광을 받으면서 그 기반 기술인 웹 서비스 기술이 분산 컴퓨팅 기술의 대표적인 기술로 주목을 받고 있다. Recently, service-oriented architecture (SOA) has been spotlighted, and web service technology as its underlying technology has attracted attention as a representative technology of distributed computing technology.

한편, 웹 2.0이 제안되면서, SOAP(Simple Object Access Protocol)를 이용하지 않는 REST(REpresentational State Transfer)스타일의 웹 서비스도 주목을 받고 있다. REST 스타일의 웹서비스는 웹2.0의 Open API를 보다 간단하게 제공하기 위해 사용된다. 또한 REST 스타일의 웹 서비스에서는 HTTP(Hypertext Transfer Protocol)과 XML(Extensible Markup Language)를 이용하여 데이터를 주고 받는다. REST 스타일 웹 서비스는 SOAP 기반 웹 서비스에 비해 서비스 이용자가 이용하기에 쉽다는 장점이 있다. 이 같은 REST 스타일 웹 서비스의 장점 때문에 기존의 SOAP 기반 웹 서비스를 REST 스타일 웹 서비스 이용자에게 제공해야 하는 필요성이 생겼다. On the other hand, with the proposal of Web 2.0, a REST (re-emphasent state transfer) style web service that does not use SOAP (Simple Object Access Protocol) is getting attention. REST-style Web services are used to simplify the Web 2.0 Open API. REST-style Web services also use Hypertext Transfer Protocol (HTTP) and Extensible Markup Language (XML) to exchange data. REST-style Web services have advantages in that they are easier to use than SOAP-based Web services. Because of the advantages of such REST-style Web services, there is a need to provide existing SOAP-based Web services to REST-style Web service users.

이를 위해 SOAP 기반 웹 서비스와 동일한 기능을 하는 REST 스타일의 웹 서 비스를 다시 개발하는 방법이 있다. 그러나 이 방법은 개발 비용이 중복되기 때문에 비효율적이라는 문제가 있다. To do this, there is a way to re-develop a REST-style Web service that has the same functionality as a SOAP-based Web service. However, this method has a problem that it is inefficient because the development cost is duplicated.

한편, ESB(Enterprise Service Bus)는 기업 내에 존재하는 다양한 형태의 어플리케이션을 SOAP 기반 웹 서비스 형태로 통합하여 서비스 이용자에게 제공하고, 서비스 이용자의 서비스 요청을 기존의 어플리케이션 통신 형태로 변환하여 라우팅하는 중개 기능을 제공한다. 그러나 ESB는 고가의 소프트웨어이고, 일반적으로 기업 내의 레거시(Legacy) 어플리케이션을 통합하고 연동하기 위한 수단으로 사용된다. 따라서 SOAP 기반 웹 서비스를 REST 스타일 웹 서비스 이용자에게 제공하기 위한 중개 목적으로 사용하기에는 비용이나 규모 측면에서 부담이 크다. Meanwhile, the ESB (Enterprise Service Bus) integrates various types of applications existing in the enterprise into a SOAP-based web service form and provides the service user with the intermediation function for converting the service request of the service user into the existing application communication form and routing . However, ESB is expensive software and is typically used as a means to integrate and integrate legacy applications within the enterprise. Therefore, it is expensive to use SOAP-based Web service for intermediation purpose to provide REST-style Web service users with cost and size.

본 발명은 이 같은 배경에서 도출된 것으로, 웹 서비스 네트워크에서 큰 구조적 변경 없이 SOAP 기반의 웹 서비스를 REST 기반 웹 서비스 이용자에게 중개하는 방법 및 장치를 제공하는 것을 목적으로 한다. The present invention has been made in view of the above background, and it is an object of the present invention to provide a method and apparatus for intermediating a SOAP-based web service to a REST-based web service user without a large structural change in the web service network.

상기 기술적 과제는 웹서버로부터 웹 서비스 요청 메시지를 수신하는 메시지 수신부, 수신된 웹 서비스 요청 메시지를 상이한 형태의 웹 서비스 호출문으로 변환하기 위한 변환 규칙 정보를 저장하는 변환 규칙 저장부, 및 변환 규칙 저장부에 저장된 변환 규칙 정보에 따라 상기 수신된 요청 메시지를 상이한 형태의 웹 서비스 호출문으로 변환하여 실행하는 요청 메시지 변환부를 포함하는 것을 특징으로 하는 웹 서비스 중개 장치에 의해 달성된다. The present invention is directed to a method and apparatus for receiving a web service request message from a web server, including a message receiving unit for receiving a web service request message from the web server, a conversion rule storing unit for storing conversion rule information for converting the received web service request message into a different type of web service call, And a request message converting unit converting the received request message into a different type of web service call statement and executing the converted request message according to the conversion rule information stored in the web service brokerage unit.

이때 요청 메시지 변환부는 REST(REpresentational State Transfer) 기반의 서비스 요청 메시지를 SOAP(Simple Object Access Protocol) 기반의 서비스를 호출할 수 있는 웹서비스 호출문으로 변환한다.At this time, the request message conversion unit converts a service request message based on a REST (REpresentational State Transfer) into a web service call statement capable of calling a service based on SOAP (Simple Object Access Protocol).

한편, 상기 기술적 과제는 웹서버로부터 웹 서비스 요청 메시지를 수신하는 단계, 기 저장된 변환 규칙 정보에 따라 상기 수신된 웹 서비스 요청 메시지를 상이한 형태의 웹 서비스 호출문으로 변환하는 단계 및 변환된 웹 서비스 호출문을 실행하여 웹서비스 요청 메시지를 웹서버로 전달하는 단계를 포함하는 것을 특징으로 하는 웹 서비스 중개 방법에 의해서도 달성된다. According to another aspect of the present invention, there is provided a web service providing method comprising: receiving a web service request message from a web server; converting the received web service request message into a different type of web service invocation statement according to pre- And transmitting the web service request message to the web server by executing the web service request message.

본 발명에 따르면, SOAP 기반 웹 서비스와 동일한 기능을 하는 REST 스타일의 웹 서비스를 다시 개발하거나, 고가의 비용을 들여 서비스별 중개 모듈을 프로그래밍할 필요가 없다. 또한 대상 서비스에 대한 변환 규칙을 정의함으로써 ESB와 같은 중개 미들웨어를 도입할 필요가 없어, SOAP 기반 웹 서비스를 REST 기반 스타일 웹 서비스 이용자에게 제공하는 것이 용이하다. According to the present invention, there is no need to re-develop a REST-style Web service having the same function as a SOAP-based Web service, or to program a service-specific mediation module at a high cost. In addition, it is not necessary to introduce intermediary middleware such as ESB by defining conversion rules for target service, and it is easy to provide SOAP-based web service to REST-based style web service user.

전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면들을 참조하여 설명되는 바람직한 실시예들을 통해 더욱 명확해질 것이다. 이하에서는 본 발명을 이러한 실시예들을 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다. BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and further aspects of the present invention will become more apparent from the following description of the preferred embodiments with reference to the attached drawings. Hereinafter, the present invention will be described in detail in order that those skilled in the art can easily understand and reproduce the present invention through these embodiments.

도 1 은 일 실시예에 따른 웹 서비스 제공 시스템의 구성도이다. 1 is a configuration diagram of a web service providing system according to an embodiment.

도시된 바와 같이 일 실시예에 따른 웹 서비스 제공 시스템은 웹서버(10), 웹서비스 중개 장치(20) 및 SOAP 엔진(30) 및 SOAP 기반 웹서비스(40)를 포함한다. As shown, the web service provision system according to an embodiment includes a web server 10, a web service intermediary apparatus 20, a SOAP engine 30, and a SOAP-based web service 40.

웹서버(10)는 웹 브라우저를 통해 서비스 이용자로부터 HTTP에 따른 서비스 요청 메시지를 받아들이고, 수신된 서비스 요청 메시지에 따라 HTML 문서와 같은 웹 페이지의 콘텐츠를 이용하여 반응한다. 이때 웹서버(10)로 수신되는 서비스 요청 메시지는 REST 기반의 서비스 요청 메시지일 수도 있고, SOAP 서비스 요청 메시지일 수도 있다. 웹서버(10)는 수신된 메시지에 포함된 데이터를 파악함으로써 REST 기반 서비스 요청 메시지인지 SOAP 서비스 요청 메시지인지 파악할 수 있다. 그리고 웹서버(10)는 REST 서비스 요청 메시지이면, 그 메시지를 웹서비스 중개 장치(20)로 전달하고, SOAP 서비스 요청 메시지이면 SOAP 엔진(30)으로 전달한다. The web server 10 receives a service request message according to HTTP from a service user through a web browser and responds to the received service request message using the contents of a web page such as an HTML document. At this time, the service request message received by the web server 10 may be a REST-based service request message or a SOAP service request message. The web server 10 can grasp whether it is a REST-based service request message or a SOAP service request message by grasping the data included in the received message. If the REST service request message is received, the web server 10 transmits the message to the web service intermediary apparatus 20, and if the SOAP service request message is received, the web server 10 transmits the message to the SOAP engine 30.

또한 웹서버(10)는 후술할 웹서비스 중개 장치(20)로부터 수신되는 SOAP기반 웹 서비스 호출문을 서비스 이용자로부터 SOAP 서비스 요청 메시지가 수신된 경우와 같이 SOAP 엔진(30)으로 전달한다. Also, the web server 10 transmits the SOAP-based web service invocation statement received from the web service intermediation apparatus 20 to be described later to the SOAP engine 30 as when the SOAP service request message is received from the service user.

웹서비스 중개 장치(20)는 수신되는 서비스 요청 메시지를 분석하여 REST 기반 웹 서비스의 인터페이스를 추출한다. 그리고 기 저장된 변환 규칙들에 기반하여, 추출한 웹 서비스 인터페이스에 대응하는 변환 규칙을 찾는다. 이때 웹 서비스의 인터페이스는 HTTP 메소드 정보와 URL 자원 정보를 포함한다. 그리고 파악되는 변환 규칙을 기반으로 SOAP 기반 웹 서비스 호출문을 생성하여 실행하여, SOAP 기반 서비스 요청 메시지를 웹서버(10)로 전달한다. 이에 따라 SOAP 엔진(30)은 SOAP 기반 웹서비스(40)를 호출한다. The web service intermediary apparatus 20 analyzes the received service request message and extracts the interface of the REST based web service. Then, based on the pre-stored conversion rules, the conversion rule corresponding to the extracted web service interface is searched. At this time, the interface of the web service includes HTTP method information and URL resource information. Then, a SOAP-based web service invocation statement is generated and executed based on the recognized transformation rule, and the SOAP-based service request message is transmitted to the web server 10. The SOAP engine 30 calls the SOAP-based web service 40 accordingly.

그리고 호출한 SOAP 기반 웹서비스(40)로부터 결과값을 수신하여 변환 규칙에 따라 HTTP 응답 메시지로 변환한 후 서비스 이용자에게 전송한다. SOAP 엔진(30)은 수신한 SOAP 서비스 요청 메시지를 분석하여 대응되는 SOAP 기반 웹 서비스를 활성화시킨다. SOAP 기반 웹 서비스(40)는 서비스 로직 프로그램을 포함하고, SOAP 엔진(30)에 의해 활성화되면 서비스 로직 프로그램이 실행된다. Then, the resultant value is received from the called SOAP-based web service 40, converted into an HTTP response message according to the conversion rule, and transmitted to the service user. The SOAP engine 30 analyzes the received SOAP service request message and activates the corresponding SOAP based web service. The SOAP-based web service 40 includes a service logic program, and when activated by the SOAP engine 30, a service logic program is executed.

도 2 는 일 실시예에 따른 웹 서비스 중개 장치의 구성도이다. 2 is a configuration diagram of a web service mediator according to an embodiment.

일 실시예에 따른 웹 서비스 중개 장치는 메시지 수신부(200), 요청 메시지 변환부(210), 변환 프로세스 관리부(220), 변환 규칙 제공부(230), 및 변환 규칙 저장부(240)를 포함한다. The web service intermediary apparatus according to one embodiment includes a message receiving unit 200, a request message converting unit 210, a conversion process managing unit 220, a conversion rule providing unit 230, and a conversion rule storing unit 240 .

메시지 수신부(200)는 웹서버(10)로부터 HTTP 요청 메시지를 수신한다. 이때 수신되는 HTTP 요청 메시지는 REST 기반 서비스 요청 메시지이다. The message receiving unit 200 receives the HTTP request message from the web server 10. The received HTTP request message is a REST based service request message.

요청 메시지 변환부(210)는 수신한 HTTP 요청 메시지를 분석하여 REST 기반 웹 서비스의 인터페이스를 추출한다. 그리고 추출한 서비스 인터페이스에 대응되는 변한 규칙을 찾아, 이를 기반으로 SOAP 기반 웹 서비스 호출문을 생성하고 실행하여 SOAP 서비스를 호출한다. 그리고 SOAP 서비스로부터 수신되는 결과값을 변환 규칙에 따라 HTTP 응답 메시지로 변환한 후 서비스 이용자에게 전송한다. 이때 요청 메시지 변환부(210)는 SOAP 기반 웹 서비스 호출문을 생성하고 실행하여 SOAP 기반 서비스 요청 메시지를 웹 서버로 전달하고, 웹 서버로부터 그 결과값을 수신한다. The request message conversion unit 210 analyzes the received HTTP request message and extracts the interface of the REST-based web service. Then, it finds a changed rule corresponding to the extracted service interface, generates a SOAP-based web service invocation statement based on the generated rule, and invokes the SOAP service. Then, the resultant value received from the SOAP service is converted into an HTTP response message according to the conversion rule, and then transmitted to the service user. At this time, the request message conversion unit 210 generates and executes a SOAP-based web service invocation statement, transfers the SOAP-based service request message to the web server, and receives the resultant value from the web server.

변환 프로세스 관리부(220)는 요청 메시지 변환부(210)에서 요청 메시지의 변환 기능을 수행하는 변환 프로세스를 생성 및 관리한다. 변환 프로세스 관리부(220)는 요청 메시지 변환부(210)에서 변환 프로세스 처리 도중에 예외 상황이 발생하여 HTTP 응답 메시지를 생성하지 못하고 수행이 종료되는 경우에, 오류 종류를 파악하고 오류 발생을 나타내는 HTTP 응답 코드를 생성한다. 그리고 HTTP 응답 상태 코드에 대응하는 변환 규칙을 파악하여, 변환 규칙에 따라 HTTP 응답 메시지를 생성하여 서비스 이용자에게 전송한다. The conversion process management unit 220 generates and manages a conversion process for performing a conversion function of a request message in the request message conversion unit 210. When the request message conversion unit 210 fails to generate an HTTP response message due to an exceptional situation during the conversion process, the conversion process management unit 220 determines the type of the error and transmits an HTTP response code . Then, the conversion rule corresponding to the HTTP response status code is recognized, and an HTTP response message is generated according to the conversion rule and transmitted to the service user.

변환 규칙 저장부(240)는 메모리와 같은 데이터 저장 장치로 구현되며, 변환 규칙을 저장한다. The conversion rule storage unit 240 is implemented as a data storage device such as a memory and stores conversion rules.

변환 규칙 제공부(230)는 요청 메시지 변환부(210)로부터의 요청에 따라 변환 규칙 저장부(240)에 저장된 변환 규칙들 중 해당 변환 프로세스에 적당한 변환 규칙을 검출하여 제공한다.The conversion rule providing unit 230 detects and provides a conversion rule suitable for the conversion process corresponding to the conversion process stored in the conversion rule storage unit 240 according to a request from the request message conversion unit 210. [

도 3 내지 도 5는 일 실시예에 따른 변환 규칙 테이블의 예시도이다. 3 to 5 are exemplary views of a conversion rule table according to an embodiment.

변환 규칙 테이블은 모든 서비스에 공통적으로 적용되는 오류 변환 규칙 저장 테이블과 서비스별로 상이하게 적용되는 서비스별 변환 규칙 저장 테이블을 포함한다. The conversion rule table includes an error conversion rule storage table that is commonly applied to all services and a service-specific conversion rule storage table that is differently applied to each service.

오류 변환 규칙 저장 테이블은 호출된 웹 서비스에 오류가 발생한 경우에 오류 종류와 원인을 알리는 응답 메시지를 생성하기 위한 변환 규칙을 저장한다. 도 3 에 도시된 바와 같이 오류 변환 규칙 저장 테이블은 HTTP 응답 상태 코드 필드와 응답 메시지 템플릿 필드를 포함한다. HTTP 응답 상태 코드 필드는 오류 코드를 나타내며, 테이블의 식별자로 사용된다. 응답 메시지 템플릿은 응답 메시지 헤더(header)와 바디(body)로 구성된다. 메시지 헤더는 콘텐트 타입(content-type) 정보와 길이(content-length)같은 정보들을 포함한다. 메시지 바디는 XML, RSS(Really Simple Syndication)와 같은 데이터 표현(representation) 방법 중 하나에 따라 기술되며, 오류의 종류와 원인에 대한 내용을 포함한다. The error conversion rule storage table stores a conversion rule for generating a response message indicating the type and cause of an error when an error occurs in the called web service. As shown in FIG. 3, the error conversion rule storage table includes an HTTP response status code field and a response message template field. The HTTP response status code field indicates the error code and is used as an identifier of the table. The response message template consists of a response message header and a body. The message header includes information such as content-type information and content-length information. The message body is described according to one of the data representation methods, such as XML and RSS (Really Simple Syndication), and contains information on the type and cause of the error.

도 4 에 도시된 바와 같이 서비스별 변환 규칙 저장 테이블은 HTTP 메소드 필드, URL 리소스 필드, 입력 파라미터 변환 규칙 필드, 결과값 변환 규칙 필드를 포함한다. HTTP 메소드 필드와 URL 리소스 필드는 변환 규칙을 식별하기 위해 사 용된다. 변환 규칙 저장 테이블은 REST 기반 요청 메시지를 SOAP 기반 서비스 호출문으로 변환하기 위한 입력 파라미터 변환 규칙 필드와, SOAP 서비스로부터 수신되는 결과값을 REST 기반 메시지 형태로 변환하여 서비스 이용자에게 전달하기 위한 결과값 변환 규칙 필드를 포함한다. As shown in FIG. 4, the service-specific conversion rule storage table includes an HTTP method field, a URL resource field, an input parameter conversion rule field, and a result value conversion rule field. The HTTP method field and the URL resource field are used to identify conversion rules. The conversion rule storage table includes an input parameter conversion rule field for converting a REST-based request message into a SOAP-based service call statement, a result parameter conversion rule field for converting a result value received from the SOAP service into a REST-based message format, And a rule field.

도 5 에 도시된 바와 같이 입력 파라미터 변환 규칙은 URL쿼리 스트링의 토큰 인덱스 필드, 변환할 데이터 유형 정보 필드, 타겟 웹서비스의 입력 파라미터 인덱스 정보 필드를 포함한다. 즉, 입력 파라미터 규칙은 URL 쿼리 스트링의 몇 번째 토큰이 타겟 웹 서비스의 몇 번째 입력 파라미터에 어떤 데이터 유형으로 매핑되어야 하는지를 정의한다. As shown in FIG. 5, the input parameter conversion rule includes a token index field of a URL query string, a data type information field to be converted, and an input parameter index information field of a target web service. In other words, the input parameter rule defines what data type should be mapped to which input parameter of the target web service the token number of the URL query string is to be mapped to.

결과값 변환 규칙은 HTTP 응답 메시지의 헤더와 바디에 대한 기본 템플릿을 제공한다. 메시지 헤더는 콘텐트 타입(content-type) 정보와 길이(content-length)같은 정보들을 포함한다. 메시지 바디 부분은 XML, JSON(JavaScript Object Notation), RSS(Really Simple Syndication)와 같은 데이터 표현(representation) 방법 중 하나의 방법으로 기술되며, 데이터 표현은 태그 이름과 값(value)으로 표현된다. 여기서 값(value)은 호출된 서비스로부터 수신되는 결과값 예를 들어 SOAP 기반의 결과값이다. 결과값 변환 규칙은 호출된 서비스로부터 수신되는 결과값이 단일한 값(single value)을 갖는 경우에, 결과값이 그대로 다른 웹서비스 즉 REST 기반의 응답 메시지의 값(value)으로 매핑되도록 기술되어 있다. 반면 결과값이 스트럭쳐와 같은 복합값(composite)인 경우에는 스트럭쳐의 필드 정보와, 값(value) 정보들 각각에 대해 REST 기반의 응답 메시지의 값(value)으로 매핑되도 록 기술된다.The result conversion rule provides a default template for the header and body of the HTTP response message. The message header includes information such as content-type information and content-length information. The message body part is described by one of the data representation methods such as XML, JavaScript Object Notation (JSON) and RSS (Really Simple Syndication), and the data representation is represented by the tag name and value. Here, the value is the result value received from the called service, for example SOAP-based result. The result conversion rule describes that, when the result value received from the called service has a single value, the result value is directly mapped to a value of another Web service, that is, a REST based response message . On the other hand, when the result value is a composite value such as a structure, it is described to be mapped to the value of the REST-based response message for each of the field information and value information of the structure.

도 6은 일 실시예에 따른 웹 서비스 중개 방법의 흐름도이다. 6 is a flowchart of a web service mediation method according to one embodiment.

먼저, 일 실시예에 따른 웹 서비스 중개 장치(20)는 서비스 요청 메시지를 수신한다. 수신되는 요청 메시지를 분석하여 HTTP 메소드 정보, 혹은 URL 자원(resource) 정보를 파악한다(610). 그리고 분석 결과에 따라 입력 파라미터 변환 규칙을 파악한다(620). 그리고 파악된 입력 파라미터 변환 규칙을 수신한 HTTP 요청 메시지에 적용하여 SOAP 기반 웹 서비스 호출문을 생성한다(630). First, the web service intermediary apparatus 20 according to an embodiment receives a service request message. The received request message is analyzed to determine HTTP method information or URL resource information (610). Then, the input parameter conversion rule is determined according to the analysis result (620). Then, the SOAP-based web service invocation statement is generated (630) by applying the identified input parameter conversion rule to the received HTTP request message.

그리고 생성된 호출문에 따라 해당 SOAP 기반 웹 서비스를 호출한다(640). Then, the SOAP-based web service is called according to the generated call statement (640).

이 후에, SOAP 기반 웹 서비스로부터 수신되는 결과값에 오류가 있는 경우에는(650) 그 오류 종류를 파악한다(652). 그리고 그 오류 발생을 나타내는 HTTP 응답 상태 코드를 생성한다(654). 이 후에 오류 변환 규칙 테이블에 기초하여 HTTP 응답 상태 코드에 대응하는 변환 규칙을 파악하여(656), 변환 규칙에 따라 HTTP 응답 메시지를 생성한다(658). Thereafter, if there is an error in the result value received from the SOAP-based web service (650), the kind of error is grasped (652). Then, an HTTP response status code indicating the occurrence of the error is generated (654). Thereafter, a conversion rule corresponding to the HTTP response status code is recognized based on the error conversion rule table (656), and an HTTP response message is generated according to the conversion rule (658).

오류가 발생하지 않은 경우에는 활성화된 SOAP 기반 서비스로부터 결과값을 수신하여, 성공적인 서비스 수행을 나타내는 HTTP 응답 상태 코드를 생성한다. 그리고 HTTP 응답 상태 코드를 변환 규칙 테이블의 결과값 변환 규칙 필드에 적용하여 HTTP 응답 메시지의 헤더와 바디를 생성함으로써 응답 메시지를 생성한다(660). 그리고 생성된 응답 메시지를 웹서버를 경유하여 서비스 이용자에게 전송한다(670).If no error has occurred, the result value is received from the activated SOAP-based service and an HTTP response status code indicating successful service execution is generated. A response message is generated by generating a header and a body of the HTTP response message by applying the HTTP response status code to the result conversion rule field of the translation rule table. Then, the generated response message is transmitted to the service user via the web server (670).

도 7은 일 실시예에 따른 변환 규칙 파악 방법의 상세 흐름도이고, 도 8은 일 실시예에 따른 웹 서비스 호출문 생성 방법의 상세 흐름도이다. FIG. 7 is a detailed flowchart of a transformation rule determination method according to an embodiment, and FIG. 8 is a detailed flowchart of a web service call statement generation method according to an embodiment.

먼저, 수신되는 HTTP 메시지로부터 HTTP 메소드를 추출한다(622). 그리고 URL 자원(resource)을 추출한다(624). HTTP 메소드 필드와 URL 리소스 필드는 변환 규칙을 식별하기 위해 사용된다. 이 후에 서비스별 변환 규칙 저장 테이블로부터 추출된 HTTP 메소드와 URL 자원(resource)에 대응되는 입력 파라미터 변환 규칙과 결과값 변환 규칙을 파악한다(626).First, an HTTP method is extracted from the received HTTP message (622). Then, a URL resource is extracted (624). The HTTP method field and the URL resource field are used to identify conversion rules. Then, the input parameter conversion rule and the result value conversion rule corresponding to the HTTP method and the URL resource extracted from the service-specific conversion rule storage table are grasped (626).

그리고 수신한 HTTP 요청 메시지로부터 URL 쿼리 스트링을 추출하고(632), 추출한 쿼리 스트링을 토큰 단위로 자른다(634). 분리된 쿼리 스트링 토큰을 파악된 입력 파라미터 변환 규칙에 적용하여 SOAP 기반 웹 서비스 호출문을 생성한다(636). Then, a URL query string is extracted from the received HTTP request message (632), and the extracted query string is cut in token units (634). The separated query string token is applied to the identified input parameter conversion rule to generate a SOAP-based web service invocation statement (636).

예를 들어 입력 파라미터 변환 규칙에서 URL 쿼리 스트링스 토큰 인덱스는 순서 정보이다. 입력 파라미터 변환 규칙은 URL 쿼리 스트링의 몇 번째 토큰이 타겟 웹 서비스의 몇 번째 입력 파라미터에 어떤 데이터 유형으로 매핑되어야 하는지를 정의한다. 즉, 입력 파라미터 변환 규칙에 따라 REST 기반의 요청 메시지를 URL 쿼리 스트링을 토큰 단위로 분리하여 SOAP 기반 요청 메시지 입력 파라미터에 매칭시킴으로써, SOAP 기반 요청 메시지 형식과 동일한 SOAP 요청 서비스 호출문을 생성할 수 있다. For example, in an input parameter conversion rule, the URL query string token index is sequence information. The input parameter conversion rules define what data type should be mapped to which input parameter of the target web service the token number of the URL query string is to be mapped to. That is, the REST-based request message is divided into token-unit URL query strings according to the input parameter conversion rule and matched to the SOAP-based request message input parameter, thereby generating the same SOAP request service call syntax as the SOAP-based request message format .

한편, 전술한 웹 서비스 중개 방법은 컴퓨터 프로그램으로 작성 가능하다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의해 읽혀지고 실행됨으로써 구현될 수 있다. 상기 저장매체는 자기 기록매체, 광 기록 매체 등을 포함한다. On the other hand, the above-described Web service mediation method can be created by a computer program. Also, the program may be stored in a computer-readable medium, readable and executed by a computer, and executed. The storage medium includes a magnetic recording medium, an optical recording medium, and the like.

이제까지 본 발명에 대해 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

도 1 은 일 실시예에 따른 웹 서비스 제공 시스템의 구성도,1 is a configuration diagram of a web service providing system according to an embodiment,

도 2 는 일 실시예에 따른 웹 서비스 중개 장치의 구성도,FIG. 2 is a configuration diagram of a web service intermediary apparatus according to an exemplary embodiment.

도 3 내지 도 5는 일 실시예에 따른 변환 규칙 테이블의 예시도,Figs. 3 to 5 are exemplary views of a conversion rule table according to an embodiment,

도 6 은 일 실시예에 따른 웹 서비스 중개 방법의 흐름도,6 is a flowchart of a web service mediation method according to an embodiment,

도 7 은 일 실시예에 따른 변환 규칙 파악 방법의 상세 흐름도, 7 is a detailed flowchart of a conversion rule grasping method according to an embodiment,

도 8 일 실시예에 따른 웹 서비스 호출문 생성 방법의 상세 흐름도이다. 8 is a detailed flowchart of a method for generating a web service call statement according to an embodiment of the present invention.

Claims (17)

웹서버로부터 웹 서비스 요청 메시지를 수신하는 메시지 수신부;A message receiving unit for receiving a web service request message from a web server; 상기 수신된 웹 서비스 요청 메시지를 상이한 형태의 웹 서비스 요청 메시지로 변환하기 위한 변환 규칙 정보를 저장하는 변환 규칙 저장부; 및A conversion rule storage unit for storing conversion rule information for converting the received web service request message into a different type of web service request message; And 상기 변환 규칙 저장부에 저장된 변환 규칙 정보에 따라 상기 수신된 요청 메시지를 상이한 형태의 웹 서비스 호출문으로 변환하고 실행하는 요청 메시지 변환부;를 포함하는 것을 특징으로 하는 웹 서비스 중개 장치.And a request message conversion unit converting the received request message into a different type of web service call statement according to conversion rule information stored in the conversion rule storage unit and executing the converted request message. 제 1 항에 있어서, The method according to claim 1, 상기 요청 메시지 변환부는 REST(REpresentational State Transfer) 기반의 서비스 요청 메시지를 SOAP(Simple Object Access Protocol) 기반의 서비스를 호출할 수 있는 웹 서비스 호출문으로 변환하고 실행하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the request message conversion unit converts a service request message based on a REST (REpresentational State Transfer) to a web service invocation statement capable of invoking a service based on a SOAP (Simple Object Access Protocol), and executes the web service invocation statement. 제 1 항에 있어서, The method according to claim 1, 상기 요청 메시지 변환부는 상기 변환 규칙 저장부에 저장된 변환 규칙 정보에 따라 상기 웹서버로부터 수신되는 웹 서비스 결과값을 상이한 형태의 웹 서비스 응답 메시지로 변환하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the request message conversion unit converts a web service result value received from the web server into a different type of web service response message according to the conversion rule information stored in the conversion rule storage unit. 제 2 항에 있어서, 3. The method of claim 2, 상기 변환 규칙 정보는 상이한 형태의 웹 서비스 요청 메시지로의 변환을 위한 데이터 변환 규칙 테이블과 상기 수신되는 웹 서비스 결과값에 오류가 발생한 경우에 오류 발생 메시지 생성을 위한 오류 메시지 변환 규칙 테이블을 포함하는 것을 특징으로 하는 웹 서비스 중개 장치.The transformation rule information includes a data transformation rule table for transformation into a different type of web service request message and an error message transformation rule table for generating an error occurrence message when an error occurs in the received web service result value Characterized by a web service intermediary device. 제 4 항에 있어서, 5. The method of claim 4, 상기 데이터 변환 규칙 테이블은 메시지 식별 정보 필드, 입력 파라미터 변환 규칙 필드 및 결과값 변환 규칙 필드를 포함하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the data conversion rule table includes a message identification information field, an input parameter conversion rule field, and a result value conversion rule field. 제 5 항에 있어서,6. The method of claim 5, 상기 입력 파라미터 변환 규칙 필드는 토큰 인덱스 정보, 변환 데이터 유형 정보, 파라미터 인덱스 정보를 포함하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the input parameter conversion rule field includes token index information, conversion data type information, and parameter index information. 제 6 항에 있어서, The method according to claim 6, 상기 요청 메시지 변환부는 상기 수신된 서비스 요청 메시지의 적어도 일부를 토큰 단위로 분리하고, 상기 입력 파라미터 변환 규칙 필드에 기초하여 상기 토큰 단위로 매핑(mapping)되는 파라미터 정보 및 데이터 유형을 파악하여 상이한 형태의 웹 서비스 요청 메시지로 변환하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the request message conversion unit separates at least a part of the received service request message in units of tokens and identifies parameter information and data types mapped in the token unit based on the input parameter conversion rule field, To the Web service request message. 제 5 항에 있어서, 6. The method of claim 5, 상기 메시지 식별 정보 필드는 HTTP 메소드 필드 및 URL 리소스 필드를 포함하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the message identification information field includes an HTTP method field and a URL resource field. 제 5 항에 있어서, 6. The method of claim 5, 상기 결과값 변환 규칙 필드는 응답 메시지의 헤더 및 바디에 대한 기본 템플릿 정보를 포함하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the result conversion rule field includes basic template information for a header and a body of a response message. 제 4 항에 있어서, 5. The method of claim 4, 상기 오류 메시지 변환 규칙 테이블은 오류 식별 정보 필드와 오류 메시지의 헤더 및 바디에 대한 기본 템플릿 정보를 포함하는 것을 특징으로 하는 웹 서비스 중개 장치.Wherein the error message conversion rule table includes an error identification information field, a header of the error message, and basic template information for the body. 웹서버로부터 웹 서비스 요청 메시지를 수신하는 단계;Receiving a web service request message from a web server; 기 저장된 변환 규칙 정보에 따라 상기 수신된 웹 서비스 요청 메시지를 상이한 형태의 웹 서비스 호출문으로 변환하는 단계; 및Converting the received web service request message into a different type of web service call according to pre-stored conversion rule information; And 상기 변환된 웹 서비스 호출문을 실행하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스 중개 방법.And executing the transformed web service invocation statement. 제 11 항에 있어서, 12. The method of claim 11, 상기 변환하는 단계는 REST(REpresentational State Transfer) 기반의 서비스 요청 메시지를 SOAP(Simple Object Access Protocol) 기반의 서비스를 호출할 수 있는 웹 서비스 호출문으로 변환하는 것을 특징으로 하는 웹 서비스 중개 방법.Wherein the converting step converts a service request message based on a REST (REpresentational State Transfer) to a web service invocation statement capable of invoking a service based on a SOAP (Simple Object Access Protocol). 제 11항에 있어서, 12. The method of claim 11, 웹서버로부터 웹 서비스 결과값을 수신하는 단계; Receiving a web service result value from a web server; 상기 수신된 결과값을 상이한 형태의 웹 서비스 응답 메시지로 변환하는 단계; 및Converting the received result value into a different type of web service response message; And 상기 변환된 응답 메시지를 웹서버로 전달하는 단계;를 더 포함하는 것을 특징으로 하는 웹 서비스 중개 방법.And transferring the converted response message to a web server. 제 13항에 있어서, 14. The method of claim 13, 상기 변환하는 단계는 상기 수신된 결과값에 오류가 발생한 경우에 오류 발생을 알리는 응답 메시지로 변환하는 것을 특징으로 하는 웹 서비스 중개 방법.Wherein the converting step converts the received response value into a response message indicating that an error occurs when an error occurs in the received result value. 제 11항에 있어서, 상기 변환하는 단계는,12. The method of claim 11, 상기 수신된 웹 서비스 요청 메시지로부터 HTTP 메소드를 추출하는 단계; Extracting an HTTP method from the received web service request message; 상기 수신된 웹 서비스 요청 메시지로부터 URL 자원 정보를 추출하는 단계; Extracting URL resource information from the received web service request message; 상기 추출된 HTTP 메소드와 URL 자원 정보에 기초하여 기 저장된 변환 규칙 정보들 중 적용 규칙을 파악하는 단계; 및Determining an application rule of pre-stored conversion rule information based on the extracted HTTP method and URL resource information; And 상기 파악된 적용 규칙에 따라 수신된 웹 서비스 요청 메시지를 상이한 형태의 웹 서비스 호출문으로 변환하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스 중개 방법.And converting the received web service request message into a different type of web service invocation statement according to the identified application rule. 제 15 항에 있어서, 파악된 적용 규칙에 따라 수신된 웹 서비스 요청 메시지를 상이한 형태의 웹 서비스 호출문으로 변환하는 단계는, 16. The method of claim 15, wherein transforming the received web service request message into a different type of web service invocation statement according to the identified application rule comprises: 수신된 웹 서비스 요청 메시지의 적어도 일부를 토큰 단위로 분리하는 단계; 및Separating at least a portion of the received web service request message in token units; And 상기 파악된 적용 규칙에 따라 상기 분리된 토큰 단위로 매핑(mapping)되는 데이터로 변환하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스 중개 방법.And transforming the data into data mapped in the separated token unit according to the identified application rule. 제 16항에 있어서, 상기 분리하는 단계는, 17. The method of claim 16, 수신된 웹 서비스 요청메시지로부터 URL 쿼리 스트링을 추출하는 단계; 및Extracting a URL query string from the received web service request message; And 상기 추출된 URL 쿼리 스트링을 토큰 단위로 분리하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스 중개 방법.And separating the extracted URL query string in token units.
KR1020090112737A 2009-11-20 2009-11-20 Apparatus and Method for mediating web service KR101270746B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090112737A KR101270746B1 (en) 2009-11-20 2009-11-20 Apparatus and Method for mediating web service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090112737A KR101270746B1 (en) 2009-11-20 2009-11-20 Apparatus and Method for mediating web service

Publications (2)

Publication Number Publication Date
KR20110056058A true KR20110056058A (en) 2011-05-26
KR101270746B1 KR101270746B1 (en) 2013-06-03

Family

ID=44364692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090112737A KR101270746B1 (en) 2009-11-20 2009-11-20 Apparatus and Method for mediating web service

Country Status (1)

Country Link
KR (1) KR101270746B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101352256B1 (en) * 2011-12-30 2014-01-17 주식회사 포스코아이씨티 System and method for interfacing between mobile service server and web server
CN106294761A (en) * 2016-08-11 2017-01-04 浙江大学 A kind of senile chronic disease management service platform supporting Heterogeneous Information to input

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009455A (en) 2007-06-29 2009-01-15 Osaka Prefecture Univ Service cooperation support system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101352256B1 (en) * 2011-12-30 2014-01-17 주식회사 포스코아이씨티 System and method for interfacing between mobile service server and web server
CN106294761A (en) * 2016-08-11 2017-01-04 浙江大学 A kind of senile chronic disease management service platform supporting Heterogeneous Information to input

Also Published As

Publication number Publication date
KR101270746B1 (en) 2013-06-03

Similar Documents

Publication Publication Date Title
CN106254423B (en) The method for realizing Restful service release quickly based on micro services framework
JP3943543B2 (en) System and method for providing dialog management and arbitration in a multimodal environment
US8205007B2 (en) Native format tunneling
KR101004576B1 (en) Concatenation discovery web service
US7934252B2 (en) Filtering technique for processing security measures in web service messages
US7904111B2 (en) Mobile exchange infrastructure
US7607136B2 (en) Method and apparatus for interfacing with a distributed computing service
Blair et al. Interoperability in complex distributed systems
KR20090046940A (en) Discovery web service
US8332467B2 (en) Lightweight RRD extension framework
KR20060042393A (en) System and method for building wireless applications with intelligent mapping between user interface and data components
KR101602099B1 (en) System for Service inter-working based REST in Internet of Things and Method thereof
JP2005285105A (en) Method and apparatus for generating communication message instance, and method for generating data instance
JP4852906B2 (en) Cooperation processing system and apparatus
KR101270746B1 (en) Apparatus and Method for mediating web service
KR101910031B1 (en) Cached wadl execution engine and method for calling web services using the theory
Bennaceur et al. Towards an architecture for runtime interoperability
KR100947114B1 (en) Method for collecting quality data of web service using dummy message
EP2101474A1 (en) Service bindings for web services
JP4363752B2 (en) Reverse proxy system
Frantz et al. Semantic Web Services and Semantic Service-Oriented Architectures
KR100786504B1 (en) Session managing apparatus and method for knowledge-based home network service in ubiquitous situation
KR100895526B1 (en) Search service offering method based on agent platform and system there of
Kang et al. Semantic Web services in clouds for semantic computing
CN115062018A (en) Method, unit and system for exporting excel universally

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: 20160427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180426

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 7