KR20130097927A - Method and system for restful web service composition - Google Patents

Method and system for restful web service composition Download PDF

Info

Publication number
KR20130097927A
KR20130097927A KR1020120019587A KR20120019587A KR20130097927A KR 20130097927 A KR20130097927 A KR 20130097927A KR 1020120019587 A KR1020120019587 A KR 1020120019587A KR 20120019587 A KR20120019587 A KR 20120019587A KR 20130097927 A KR20130097927 A KR 20130097927A
Authority
KR
South Korea
Prior art keywords
web service
web
rest
service
server
Prior art date
Application number
KR1020120019587A
Other languages
Korean (ko)
Other versions
KR101324393B1 (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 KR1020120019587A priority Critical patent/KR101324393B1/en
Publication of KR20130097927A publication Critical patent/KR20130097927A/en
Application granted granted Critical
Publication of KR101324393B1 publication Critical patent/KR101324393B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A representational state transfer (REST) based web service combination system and a method thereof are provided to remarkably reduce the burden of a user in a server side program of a client-server distributed application by providing an REST based web service. CONSTITUTION: When a request is transmitted from a client, a web server (230) provides a web service to the client. A web service manager (210) loads an REST web service and processes response for a web service request from the web server. The client and the web server are communicated from each other according to a hyper text transfer protocol (HTTP) regulation and execute a dynamic object binding process. The web server includes and operates an REST web service group combining two or more REST web services. [Reference numerals] (210) Web service manager; (230) Web server; (240) Smartphone; (250) Web browser; (AA) Service developer; (BB) Web service; (CC,FF) Web service combination; (DD) Object 1; (EE) Object 2

Description

REST 기반 웹 서비스 조합 시스템 및 방법 {Method and system for RESTful web service composition}REST-based web service composition system and method {Method and system for RESTful web service composition}

본 발명은 REST 기반 웹 서비스 조합 시스템 및 방법에 관한 것이다.The present invention relates to a REST based web service combination system and method.

인터넷의 발달과 함께 웹을 기반으로 하는 클라이언트-서버 분산 구조의 웹 서비스 시스템 구조가 점차 확산되고 있다. 게다가, 최근에는 스마트폰을 이용한 스마트폰 애플리케이션이 대중화되면서, 웹 서비스의 활용이 점차 확대되는 추세이다. 웹을 기반으로 클라이언트와 서버 사이에 통신을 하기 위해서는 원격 프로시저를 정의한 인터페이스가 규정되어야 하며, 기존에는 W3C에서 정의한 WSDL(Web Services Description Language)를 사용하여 웹서비스를 기술하곤 하였다. 그러나, 이와 같은 기존의 웹서비스 기술 및 사용방법은 그 구성이 복잡하고 오버헤드가 큰 이유로 널리 활용되지 못하였다. 최근에는 REST에 기반한 웹서비스가 대중화되면서 웹 서비스의 활용이 확산되는 추세다.With the development of the Internet, the structure of the web service system of the client-server distributed structure based on the web is gradually spreading. In addition, in recent years, as smart phone applications using smart phones become popular, the use of web services is gradually increasing. In order to communicate between a client and a server based on the web, an interface defining a remote procedure must be defined. In the past, a web service was described using a Web Services Description Language (WSDL) defined by the W3C. However, such a conventional web service technology and method of use have not been widely used because of its complexity and overhead. Recently, as REST-based web services have become popular, the use of web services has been spreading.

REST(representational state transfer)는 확장성 생성 언어(XML) 파일로 된 웹 페이지를 읽어 원하는 정보를 수집하는 기능으로서, 웹 페이지를 만드는 사람은 주기적으로 내용을 개정하고 사용자는 그 페이지의 URL만 알면 웹 브라우저로 읽어 정보를 얻을 수 있다. REST는 하이퍼텍스트 전송 규약(HTTP)과 XML을 포함한 웹 기술 및 프로토콜을 사용하는 구조적 형태로서 단순 객체 접근 프로토콜(SOAP)보다 사용이 간편하고, 사이트 내용을 기술하는 RSS(RDF Site Summary)의 정보 편집 기능과 유사하다.Representational state transfer (REST) is a feature that reads a web page in an Extensible Generation Language (XML) file and gathers the desired information. The creator of the web page periodically revises the content and the user only needs to know the URL of the page. You can get the information by reading it in a browser. REST is a structured form using Web technologies and protocols including Hypertext Transfer Protocol (HTTP) and XML, which is easier to use than Simple Object Access Protocol (SOAP), and edits information in RSS (RDF Site Summary) that describes site content. Similar to function

REST 방식의 웹서비스는 기존의 SOAP 방식 웹서비스를 보완하기 위해서 등장하였다. 즉, 즉 REST 방식의 웹서비스는 기존 SOAP 방식의 메시지 송수신시 헤더와 바디의 인코딩/디코딩 과정에 따른 오버헤드 문제 해결하고, 웹에 개방된 리소스들을 원격에서 또는 지역적으로 보다 쉽게 이용하려는 사상 반영하며, 부수적인 레이어나 세션 관리를 추가하지 않고도 클라이언트/서버 간의 엄격한 분리로 구현은 단순화시키고 확장성과 성능은 높일수 있는 아키텍쳐이다. 그리고, SOAP의 서비스저장소를 통해 리소스를 공유하는 방식에 비해 ROA(Resource Oriented Architecture) 기반으로 리소스를 등록하고 저장해 두는 중간 매체 없이 리소스 제공자가 직접 요청자에게 제공하며, 리소스는 고유한 URI를 가지며, HTTP의 기본 메소드인 GET/PUT/POST/DELETE만으로 접근할 수 있다.REST web services have emerged to complement existing SOAP web services. That is, REST-based web service solves the overhead problem caused by header / body encoding / decoding process when sending / receiving existing SOAP-type message, and reflects the idea of using web-open resources remotely or locally more easily. It is an architecture that can simplify implementation and increase scalability and performance without the need for additional layers or session management. And, compared to the method of sharing resources through SOAP's service repository, the resource provider directly provides the requester without an intermediate medium for registering and storing resources based on Resource Oriented Architecture (ROA), and the resource has a unique URI, HTTP Can only be accessed with GET / PUT / POST / DELETE, the default method of.

SOAP 기반 웹서비스와 REST 기반 웹서비스 비교하면 다음과 같다.The following is the comparison between SOAP-based web service and REST-based web service.

웹 서비스는 네트워크를 통해 기계-기계간의 상호운영 작용을 제공하는 SW 시스템으로서, 일반 웹 기술은 브라우저를 통해 기계-사람간의 상호작용을 제공하고, 주로 SOAP, UDDI, WSDL, WS-* 등 프로토콜을 활용하여 구현된다.Web service is a SW system that provides machine-machine interaction through a network. General web technology provides machine-human interaction through a browser, and mainly uses protocols such as SOAP, UDDI, WSDL, WS- *. Is implemented.

여기서 기계-사람간의 웹 기술을 기계-기계간 웹 서비스에도 활용하도록 제약을 추가한 것이 REST 스타일이다. 기계-기계간의 상호운영은 오류가 허용되지 않아 완벽해야 함으로 매우 복잡하고, 일반인이 접근하기 어렵다는 특징이 있으며, REST 웹 서비스는 주로 웹 페이지 관련 분야를 중심으로 SOAP을 대신하고 있다.The REST style is to add constraints to use machine-to-machine web technology for machine-to-machine web services. Machine-to-machine interoperability is very complex because errors should not be tolerated and is difficult to access by the general public. REST web services replace SOAP mainly in the field of web pages.

기존의 클라이언트-서버 분산 구조에서는 웹 서비스를 통해 서비스 기반 구조(Service Oriented Architecture)를 통해 개발생산성을 향상하는 목적으로 웹서비스를 활용한다. 스마트폰 애플리케이션의 경우는 자체적인 컴퓨팅 파워가 비교적 떨어지기 때문에, 계산시간이 많이 걸리는 작업 혹은 방대한 데이터베이스의 자료를 활용하는 작업의 경우 웹서비스를 통해 기능을 활용할 필요가 있다.In the existing client-server distributed architecture, web services are used for the purpose of improving development productivity through service-oriented architecture through web services. In the case of a smartphone application, its own computing power is relatively low. Therefore, in the case of a calculation-intensive task or a task using a large database of data, it is necessary to utilize a function through a web service.

Figure pat00001
Figure pat00001

[표 1]은 웹 서비스 연관기술 표준화 동향을 정리한 도표이며, 출처는 Service Oriented Architecture, ICT Standardization Strategy Map, 한국정보통신 기술협회 2011이다.[Table 1] is a chart that summarizes web service related technology standardization trend. Sources are Service Oriented Architecture, ICT Standardization Strategy Map, and Korea Information and Communication Technology Association.

표 1에서와 같이 REST 기술(REST 기반 웹서비스)는 TTA(한국정보통신기술협회)에서 표준안 개발을 검토하고 있는 단계이며, 세계적으로도 아직 표준안에 대한 논의가 진행되지 않고 있는 상황이다.As shown in Table 1, REST technology (REST-based web service) is a stage where the Korea Information and Communication Technology Association (TTA) is considering the development of standards, and there is no discussion on standards yet.

SOAP 기반 웹서비스에 대해서는 서비스 조합에 대해서 충분히 다루어 졌으며, 어느정도 정리된 연구분야이다. 애초에, SOAP 웹서비스는 기계가 인식하기 쉽도록 엄격한 규약과 인터페이스를 정의한 것이기 때문이다. 하지만, REST 웹서비스 조합 기술에 대해서는 충분히 다루어 지지 않았다. 왜냐하면, REST 웹서비스는 사람이 사용하기 편리하도록 설계된 기술이고, 그 조합에 대해서는 관여하지 않기 때문이다.SOAP-based web services have been covered in detail about service combinations. In the beginning, SOAP web services defined strict conventions and interfaces to make the machine more readable. However, the techniques for combining REST web services are not fully covered. This is because REST web services are designed to be easy for humans to use, and they are not concerned with the combination.

종래 관련 기술을 몇가지 소개하면 다음과 같다.A few of the related arts are as follows.

Xia Zhao et al, "RESTful Web Service Composition : Extracting a Process Model from Linear Logic Theorem Proving" 2011 IEEE International Conference on Next Generation Web Services Practice (NWeSP) 논문은 2011년 10월 19일-21일 스페인에서 개최된 NWeSP 학술대회에서 발표된 REST 웹서비스 조합 방법에 관한 논문이다. 여기서는 2단계 선형 논리(two-stage linear logic) 기반의 프로그램 합성을 이용한 웹서비스 조합 방법을 제안한다. 그러나, 이 논문은 이론적/논리적으로 잘 기술되었으나, 그 구현 및 성능개선에 대해서는 언급된 바 없다. 따라서, 유사분야 통상의 기술자가 재현하기 불가능하다.Xia Zhao et al, "RESTful Web Service Composition: Extracting a Process Model from Linear Logic Theorem Proving" The 2011 IEEE International Conference on Next Generation Web Services Practice (NWeSP) paper was published in NWeSP, Spain, October 19-21, 2011. This article is about REST web service combination method presented at the conference. Here, we propose a web service combination method using program synthesis based on two-stage linear logic. However, although this paper is well described theoretically and logically, the implementation and performance improvement are not mentioned. Therefore, it is impossible for a person skilled in the art to reproduce.

다음, Haibo Zhao et al, "Towards Automated RESTful Web Service Composition", 2009 International Conference on Web Services (ICWS) 논문은 REST 웹서비스 조합을 위하여 1차 논리(first order logic)을 이용한 형식 모델을 제안한다. 이 논문 역시 이론적/논리적으로 잘 기술되었으나, 그 구현 및 성능개선에 대해서는 언급된 바 없다. 따라서, 유사분야 통상의 기술자가 재현하기 불가능하다고 할 수 있다.Next, Haibo Zhao et al, "Towards Automated RESTful Web Service Composition", 2009 International Conference on Web Services (ICWS) paper propose a formal model using first order logic for REST web service combination. This paper is also well described theoretically and logically, but its implementation and performance improvement are not mentioned. Therefore, it can be said that those skilled in the art cannot reproduce.

이상의 두가지 종래 방법을 공통적으로 요약하면, 1차 논리(first order logic)이나 선형 논리(linear logic) 등을 통해 다수의 웹서비스 조합방법을 논리적으로 기술하여 자동으로 조합된 웹서비스를 생성해주는 방법이다. 그러나, 이와 같은 방법은 매우 제한적인 용도로만 응용할 수 있으며, 위 개념의 발명자들조차 이러한 서비스를 대중적으로 제공하지 않는다는 문제점이 있다.Summarizing the two conventional methods in common, it is a method of logically describing a plurality of web service combination methods through first order logic or linear logic to automatically generate a web service combination. . However, such a method can be applied only for very limited purposes, and there is a problem that even the inventors of the above concept do not provide such a service publicly.

Xia Zhao et al, "RESTful Web Service Composition : Extracting a Process Model from Linear Logic Theorem Proving", 2011 IEEE International Conference on Next Generation Web Services Practice (NWeSP)Xia Zhao et al, "RESTful Web Service Composition: Extracting a Process Model from Linear Logic Theorem Proving", 2011 IEEE International Conference on Next Generation Web Services Practice (NWeSP) Haibo Zhao et al, "Towards Automated RESTful Web Service Composition", 2009 International Conference on Web Services (ICWS)Haibo Zhao et al, "Towards Automated RESTful Web Service Composition", 2009 International Conference on Web Services (ICWS)

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 다수의 REST 웹서비스를 통상의 기술자가 편리하게 조합(composition)할 수 있도록 하는 방법을 제공하는데 그 목적이 있다. 즉, 웹서비스 실행 결과물을 객체(object)로 변환(conversion)하여 일반적인 객체지향 프로그래밍 언어(JAVA, C++ 등)을 사용하여 누구나 편리하게 웹서비스 조합을 프로그래밍할 수 있도록 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object thereof is to provide a method for allowing a person skilled in the art to conveniently combine a plurality of REST web services. In other words, by converting the execution result of the web service into an object, anyone can conveniently program the web service using a general object-oriented programming language (JAVA, C ++, etc.).

둘째로, 본 발명은 객체로 변환된 웹서비스 결과물을 활용하여 조합한 프로그램 바이너리(컴파일 결과물)를 업로드하면, 이를 다시 REST 기반 웹서비스로 제공해주는 시스템을 제공하는데 그 다른 목적이 있다. 즉, REST 웹서비스의 조합/탑재/운용을 제공하는 시스템을 제안한다. 이는 사용자가 매번 별도의 서버를 구축하고 클라이언트-서버 분산 응용의 서버측 프로그램을 탑재하고 운용하는 번거로움을 획기적으로 제거할 수 있다.Secondly, the present invention provides a system that provides a system-based binary service by uploading a combined program binary (compilation result) by utilizing a web service result converted into an object. In other words, we propose a system that provides combination / deployment / operation of REST web services. This can drastically eliminate the hassle of users building a separate server each time and loading and running server-side programs for client-server distributed applications.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

이와 같은 목적을 달성하기 위한 본 발명은 REST(representational state transfer) 기반 웹 서비스를 조합하는 웹 서비스 조합 시스템에서의 웹 서비스 조합 방법에 있어서, 상기 웹 서비스 조합 시스템은 웹 서비스의 수행 결과인 XML(eXtensible MarkUp Language) 데이터를 파싱(Parsing)하는 단계, 상기 웹 서비스 조합 시스템은 상기 XML 데이터로부터 객체를 추출하는 단계 및 상기 웹 서비스 조합 시스템은 상기 추출된 둘 이상의 객체를 조합하는 방식으로 웹 서비스를 제공하는 단계를 포함한다.In order to achieve the above object, the present invention provides a web service combining method in a web service combining system that combines a REST (representational state transfer) based web service, wherein the web service combining system is an XML (eXtensible) result of performing a web service. Parsing MarkUp Language) data, the web service combining system extracts an object from the XML data, and the web service combining system combines the extracted two or more objects to provide a web service. Steps.

상기 객체를 추출하는 단계 후에, 상기 웹 서비스 조합 시스템은 추출된 객체를 데이터 베이스에 저장하는 단계를 더 포함할 수 있고(사용자 선택에 따라), 이때, 상기 웹 서비스 조합 시스템은 상기 데이터베이스에 저장(캐싱)된 객체를 퀴리(query)하여 더욱 빠르게 객체조합을 수행할 수 있다.After the step of extracting the object, the web service combination system may further comprise storing the extracted object in a database (according to user selection), wherein the web service combination system is stored in the database ( You can query the cached objects for faster object combinations.

상기 XML 데이터로부터 객체를 변환하는 단계에서, 상기 웹 서비스 조합 시스템은 XML데이터로부터 객체간 구분을 위해 XML 요소명(element name)을 사용자로부터 입력받을 수 있다.In the step of converting the object from the XML data, the web service combination system may receive an XML element name from the user to distinguish between objects from the XML data.

본 발명에서 REST(representational state transfer) 기반 웹 서비스 조합 시스템에 있어서, 클라이언트로부터의 요청이 있으면, 해당 클라이언트에 웹 서비스를 제공하는 웹 서버 및 사용자가 개발한 REST 웹 서비스를 로딩(loading)하고, 상기 웹 서버로부터의 웹 서비스 요청에 대한 응답을 처리하는 웹 서비스 관리자를 포함한다.In the present invention, a REST (representational state transfer) based web service combination system, if there is a request from a client, loading a web server for providing a web service to the client and a user-developed REST web service, It includes a web service manager that handles responses to web service requests from web servers.

상기 클라이언트와 상기 웹 서버는 HTTP(HyperText Transfer Protocol) 규약에 따라 통신할 수 있다.The client and the web server may communicate in accordance with Hypertext Transfer Protocol (HTTP) protocol.

상기 웹 서비스 관리자는 객체를 동적으로 인스턴스화하고, 이를 조합하여 사용할 수 있도록 동적 바인딩하는 객체 동적 바인딩을 수행할 수 있다.The web service manager may perform object dynamic binding that dynamically instantiates an object and dynamically binds the object to be used in combination.

상기 웹 서버는 2개 이상의 REST 웹 서비스를 조합한 REST 웹 서비스 그룹을 탑재하여 구동할 수 있다.The web server may be driven by mounting a REST web service group combining two or more REST web services.

본 발명에 의하면 다수의 REST 웹서비스를 통상의 기술자가 편리하게 조합(composition)할 수 있도록 하는 방법을 제공할 수 있는 효과가 있다. 즉, 웹서비스 실행 결과물을 객체(object)로 변환(conversion)하여 일반적인 객체지향 프로그래밍 언어(JAVA, C++ 등)을 사용하여 누구나 편리하게 웹서비스 조합을 프로그래밍할 수 있도록 한다.According to the present invention, it is possible to provide a method for allowing a person skilled in the art to conveniently combine a plurality of REST web services. In other words, by converting the execution result of the web service into an object, anyone can conveniently program the web service using a general object-oriented programming language (JAVA, C ++, etc.).

그리고, 본 발명에서 객체로 변환된 웹서비스 결과물을 활용하여 조합한 프로그램 바이너리(컴파일 결과물)를 업로드하면, 이를 다시 REST 기반 웹서비스로 제공해주는 시스템을 제공함으로써, 사용자가 매번 별도의 서버를 구축하고 클라이언트-서버 분산 응용의 서버측 프로그램을 탑재하고 운용하는 번거로움을 획기적으로 제거할 수 있다는 효과가 있다.In addition, in the present invention, when uploading the combined program binary (compilation result) using the web service result converted into an object, by providing a system that provides this again as a REST-based web service, the user builds a separate server every time There is an effect that it is possible to drastically eliminate the trouble of loading and running server-side programs of a client-server distributed application.

본 발명에 의하면 현재 널리 사용되는 스마트폰 환경과 같은 부족한 컴퓨팅 파워와 상대적으로 열악한 무선통신환경(3G, 4G 등)에 매우 효과적으로 적용 가능하다. 왜냐하면, 스마트폰에서 필요로 하는 REST 웹서비스는 일반적으로 2개 이상인 경우가 보통인데, 스마트폰 통신환경에서 2번의 웹서비스 접근을 통해 원하는 데이터를 생성하는 것보다, 이러한 웹서비스에 접근하여 사용자가 원하는 데이터를 만들어 보내주는 웹서비스 조합을 미리 본 발명에서 제공하는 서버에 개발해 두고, 이 웹서비스만 호출하는 방식이 성능 측면에서 월등하게 유리하기 때문이다.According to the present invention, the present invention can be effectively applied to insufficient computing power and relatively poor wireless communication environment (3G, 4G, etc.) such as smartphone environment which is widely used at present. Because there are generally two or more REST web services that a smartphone requires, rather than creating the desired data through two web service accesses in a smartphone communication environment, users access these web services. This is because a web service combination for creating and sending desired data is developed in advance in a server provided by the present invention, and the method of calling only this web service is superior in terms of performance.

도 1은 본 발명의 일 실시예에 따른 REST 기반 웹 서비스 조합을 설명하기 위한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 REST 기반 웹 서비스 조합을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 REST 기반 웹 서비스 조합 방법을 보여주는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 REST 기반 웹 서비스 조합 시스템의 블록도이다.
1 is a view for explaining a REST-based web service combination according to an embodiment of the present invention.
2 is a block diagram illustrating a REST-based web service combination according to another embodiment of the present invention.
3 is a flowchart illustrating a REST-based web service combining method according to an embodiment of the present invention.
4 is a block diagram of a REST based web service combination system according to an embodiment of the present invention.

이하, 첨부된 도면을 참조해서 본 발명의 실시예를 상세히 설명하면 다음과 같다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서 전반에 걸쳐서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used for the same reference numerals even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. Also, throughout this specification, when a component is referred to as "comprising ", it means that it can include other components, aside from other components, .

도 1은 본 발명의 일 실시예에 따른 REST 기반 웹 서비스 조합을 설명하기 위한 도면이다.1 is a view for explaining a REST-based web service combination according to an embodiment of the present invention.

도 1을 참조하면, (가) 단계는 웹서비스(110, 150) 실행 결과인 XML(eXtensible MarkUp Language)(120, 160)과 반환되는 REST 웹 서비스(RESTful Web Service) 실행 상황을 나타낸다.Referring to FIG. 1, step (a) shows an execution state of an eXtensible MarkUp Language (XML) 120, 160, which is a result of executing a web service 110, 150, and a REST web service execution.

본 발명에서 REST 웹 서비스 실행결과를 예시하기 위하여 OpenAPI URL의 예를 들면 다음과 같다.An example of an OpenAPI URL is as follows to illustrate a REST web service execution result in the present invention.

예를 들어, OpenAPI URL이 "http://kr.open.gugi.yahoo.com/service/poi.php?appid=YahooDemo&q=코엑스&encoding=euc-kr&output=xml&results=50"라고 하면, 그 실행 결과는 다음과 같다.For example, if the OpenAPI URL is "http://www.open.gugi.yahoo.com/service/poi.php?appid=YahooDemo&q=COEX&encoding=euc-en&output=xml&results=50", the execution result is As follows.

<?xml version="1.0" encoding="UTF-8" ?><? Xml version = "1.0" encoding = "UTF-8"?>

<ResultSet><ResultSet>

<head><publisher>YahooKorea<Head> <publisher> YahooKorea

GUGI</publisher><Error>0</Error><ErrorMessage>NoGUGI </ publisher> <Error> 0 </ Error> <ErrorMessage> No

Error</ErrorMessage><Found>8</Found>Error </ ErrorMessage> <Found> 8 </ Found>

</head></ Head>

<locations><Locations>

<item><Item>

<num>1</num><Num> 1 </ num>

<latitude>37.511591238542</latitude><Latitude> 37.511591238542 </ latitude>

<longitude>127.05944600764</longitude><Longitude> 127.05944600764 </ longitude>

<name>코엑스몰</name><Name> COEX mall </ name>

<street></street><Street> </ street>

<city>삼성동</city><City> Samsung-dong </ city>

<county>강남구</county><County> Gangnam-gu </ county>

<state>서울특별시</state><State> Seoul City </ state>

<country>South Korea</country><Country> South Korea </ country>

</item></ Item>

<item><Item>

<num>2</num><Num> 2 </ num>

<latitude>37.512302929275</latitude><Latitude> 37.512302929275 </ latitude>

<longitude>127.05963882578</longitude><Longitude> 127.05963882578 </ longitude>

<name>[월드컵응원]코엑스광장</name><Name> [world cup support] COEX square </ name>

<street></street><Street> </ street>

<city>삼성동</city><City> Samsung-dong </ city>

<county>강남구</county><County> Gangnam-gu </ county>

<state>서울특별시</state><State> Seoul City </ state>

<country>South Korea</country><Country> South Korea </ country>

</item></ Item>

</ResultSet></ ResultSet>

<!-- openapil.local.maps.kr3.yahoo.com uncompressed/chunked Fri Jan 623:55:53 UTC 2012 -->〈!-Openapil.local.maps.kr3.yahoo.com uncompressed / chunked Fri Jan 623: 55: 53 UTC 2012->

(나) 단계는 웹 서비스 실행 결과로부터 객체(object)를 추출하는 단계이다. 본 발명에서 (나) 단계는 REST 웹 서비스 실행결과로 얻은 데이터를 객체화하여 필요한 내용을 웹서비스 조합에 활용하는 것이다. REST 웹서비스의 실행결과는 일반적으로 동일한 속성(property)을 갖는 여러개의 데이터 집합(ResultSet)으로 구성되므로, 이러한 데이터 집합을 다수개의 객체 인스턴스로 변환할 수 있다. 이와 같은 방법으로 객체화 하는 것은 일반적인 객체지향 프로그래밍언어(JAVA, C++ 등)를 사용하여 서비스 조합을 가능토록 하기 위함이다. 즉, 종래에는 1차 논리(first order logic)이나 선형 논리(linear logic) 등을 활용하여 웹 서비스 조합을 기술하도록 하고 있으나, 본 발명에서는 대중적인 객체지향 언어를 사용하여 웹 서비스 조합을 가능하도록 함으로써 유사분야 통상의 기술자가 손쉽게 활용할 수 있다.Step (b) is to extract an object from the web service execution result. In the present invention, step (b) is to object the data obtained as a result of executing the REST web service and utilize the necessary contents in the web service combination. Execution results of REST web services generally consist of multiple data sets (ResultSets) with the same properties, so that these data sets can be converted to multiple object instances. The objectification in this way is to enable a combination of services using a general object-oriented programming language (JAVA, C ++, etc.). That is, in the related art, a web service combination is described by using first order logic or linear logic. However, in the present invention, by using a popular object-oriented language, a web service combination is possible. It can be easily used by those skilled in the art.

(다) 단계는 웹 서비스 조합하는 단계로, 웹 애플리케이션을 제작하여 웹서버에 업로드함으로써, 웹서비스 조합/탑재/운용 시스템을 적용하는 방법을 나타낸다.Step (c) is a step of assembling a web service, and shows a method of applying a web service combination / deployment / operation system by creating a web application and uploading it to a web server.

도 2는 본 발명의 다른 실시예에 따른 REST 기반 웹 서비스 조합을 설명하기 위한 블록도이다.2 is a block diagram illustrating a REST-based web service combination according to another embodiment of the present invention.

도 2는 발명에서 제안하는 REST 웹서비스 조합/탑재/운용 시스템으로서, 서비스 개발자로 하여금 서비스를 조합한 웹서비스를 일반적인 객체지향언어를 통해 개발하고 컴파일 후 업로드 하면 손쉽게 서비스를 운용할 수 있도록 하는 시스템을 제안한다.2 is a REST web service combination / deployment / operation system proposed by the present invention, which enables a service developer to easily operate a service by developing, compiling, and uploading a web service combining a service through a general object-oriented language. Suggest.

도 2를 참조하면, 웹 서비스 관리자(Web service Manager)(210)는 사용자(또는 서비스 운용사)가 개발한 REST 웹서비스를 로딩하고, 웹 서버(230)로부터 들어오는 웹 서비스 요청에 대하여 서비스하는 역할을 한다. 이때, 웹 서비스 관리자(210)는 REST 웹 서비스의 조합으로 구성된 웹 서비스에 대한 서비스인 경우, 해당 웹 서비스가 필요로 하는 객체들을 동적으로 바인딩(dynamic binding) 할 수 있다.Referring to FIG. 2, the web service manager 210 loads a REST web service developed by a user (or service operator) and serves to service a web service request from the web server 230. do. In this case, when the web service manager 210 is a service for a web service composed of a combination of REST web services, the web service manager 210 may dynamically bind objects required by the corresponding web service.

서비스 개발자(service developer)는 웹 서비스 관리자(210)가 지정한 특정 디렉토리에 웹 서비스 조합 등으로 개발한 REST 웹서비스를 탑재하고 서비스 운용을 위임할 수 있다. 즉, 자신이 개발한 REST 웹 서비스를 웹 서비스 관리자(210)에 탑재함으로써, 서비스를 운용할 수 있다. 단, 탑재할 REST 웹서비스의 형식이 본 시스템이 규정하는 경로구조 및 설정파일 그리고 파일 포맷에 일치하여야 한다. 그리고, 개발한 REST 웹 서비스는 다양한 형식이 적용될 수 있으며, 가령 native 서비스이거나 다른 REST 웹서비스의 조합으로 생성된 REST 웹 서비스 등이 될 수 있다.A service developer may mount a REST web service developed by a web service combination and the like in a specific directory designated by the web service manager 210 and delegate a service operation. That is, by mounting the REST web service developed by the web service manager 210, the service can be operated. However, the format of the REST web service to be installed must match the path structure, configuration file, and file format specified by this system. The developed REST web service can be applied in various forms. For example, the developed REST web service may be a native service or a REST web service generated by a combination of other REST web services.

웹 서버(230)에 사용자가 업로드한 REST 웹 서비스가 위치한다. 이때, REST 웹 서비스는 웹 서비스 관리자(210)가 관리하는 특정 경로(디렉토리)에 위치한다.The REST web service uploaded by the user is located in the web server 230. In this case, the REST web service is located in a specific path (directory) managed by the web service manager 210.

그리고, 각각의 웹서비스는 웹 서비스 관리자(210)가 지정한 특정 경로에 설정파일이 존재하도록 한다. 이때, 설정파일은 xml, cfg 등 다양한 포맷으로 구성될 수 있다. 예를 들어, 설정 파일은 다음과 같은 내용을 포함한다.Each web service allows a configuration file to exist in a specific path designated by the web service manager 210. At this time, the configuration file may be configured in various formats such as xml, cfg. For example, a configuration file might contain:

<XML요소><XML element>

<이름>웹서비스 패키지</이름><Name> Web service package </ name>

<값>웹서비스 패키지 경로(디렉토리)</값><Value> Web service package path (directory) </ value>

</XML요소></ XML element>

이러한 설정파일은 사용자가 업로드한 웹 서비스 패키지가 어떠한 경로를 가지는 클래스로 구성되는지 서술한다. 즉, 웹 서비스 관리자(210)가 지정한 특정 경로의 특정한 파일에 설정파일을 위치시킴으로써, 사용자가 업로드한 REST 웹 서비스의 실행을 위한 경로를 확인하고 실행할 수 있도록 한다.This configuration file describes what path the user-uploaded web service package consists of. That is, by placing the configuration file in a specific file of a specific path designated by the web service manager 210, the user can check and execute a path for executing the uploaded REST web service.

사용자가 웹 서비스 관리자(210)에 REST 웹 서비스를 탑재하기 위해서는 웹 서비스 관리자(210)가 요청하는 규약에 따라 일반적인 객체지향 프로그래밍 언어를 활용하여 개발하여야 한다. 여기서 규약이란 웹 서비스 실행결과가 객체로 변환되면, 웹 서비스가 수행되는 동안에는 객체정보를 웹 서비스 관리자(210)의 DB(220)상에서 유지관리할 수 있다.In order for a user to mount a REST web service in the web service manager 210, the user should develop using a general object-oriented programming language according to the protocol requested by the web service manager 210. Herein, when the web service execution result is converted into an object, the protocol may maintain the object information on the DB 220 of the web service manager 210 while the web service is performed.

웹 서버(230)는 클라이언트측 웹 브라우저로부터 HTTP 규약에 따른 요청을 받아 문서와 데이터를 제공하는 응용프로그램을 포함하고 있다.The web server 230 includes an application program that receives a request according to the HTTP protocol from a client-side web browser and provides a document and data.

스마트 폰(240)과 웹 브라우저(250)는 공통적으로 HTTP(HyperText Transfer Protocol) 규약에 따라 서버와 통신하는 클라이언트측 응용 프로그램이 내장되어 있다.The smartphone 240 and the web browser 250 have a built-in client-side application program that communicates with the server according to the HTTP (HyperText Transfer Protocol) protocol in common.

웹 서비스는 객체이거나 객체의 묶음(JAR 파일 등)이거나, 플랫폼 독립적인 객체(Javabeans 혹은 COM 등)일 수 있으며, 객체 묶음에는 디렉토리 구조를 포함할 수 있다. 디렉토리 구조의 특정 경로는 웹서비스 관리 시스템이 요구하는 특정 경로(디렉토리)에 필요한 설정파일을 놓을 수 있다.A web service can be an object, a bundle of objects (such as a JAR file), or a platform-independent object (such as Javabeans or COM), and the object bundle can contain a directory structure. The specific path of the directory structure can put configuration files necessary for the specific path (directory) required by the web service management system.

최근 대부분의 스마트폰 웹(App)은 상당수 서버와 통신하는 클라이언트-서버 분산 프로그램 형태로 동작하는 바, 서버측 구현을 위해 일반적으로 소켓 프로그래밍을 별도로 적용하고 서버를 구축하여 프로그램을 탑재한 후 운용해야 한다. 그러나, 도 2에서 도시된 본 발명에서 제안하는 REST 웹서비스 조합/탑재/운용 시스템을 활용하면 서비스 개발자는 서비스를 조합한 웹서비스를 일반적인 객체지향언어를 통해 개발하고 컴파일 후 업로드만 하면 된다.Recently, most smartphone webs (Apps) operate in the form of a client-server distributed program that communicates with a large number of servers. For server-side implementation, socket programming must be applied separately, and a server must be built and operated. do. However, utilizing the REST web service combination / deployment / operation system proposed in the present invention shown in FIG. 2, a service developer only needs to develop a web service combining a service through a general object-oriented language, and compile and upload it.

본 발명의 일 실시예에서 웹 서버(230)는 2개 이상의 REST 웹 서비스를 조합한 REST 웹 서비스 그룹을 탑재하여 구동할 수 있다. 따라서, 본 발명에 의하면, 종래 클라이언트가 여러 개의 REST 웹 서비스를 각각 실행하여 결과를 조합하는 방식에 비해, 클라이언트측의 부하를 감소시키고 성능향상을 취할 수 있다.In an embodiment of the present invention, the web server 230 may be mounted and run with a REST web service group combining two or more REST web services. Therefore, according to the present invention, compared to a conventional client executing several REST web services and combining the results, it is possible to reduce the load on the client side and improve performance.

도 4는 본 발명의 일 실시예에 따른 REST 기반 웹 서비스 조합 시스템의 블록도이다.4 is a block diagram of a REST based web service combination system according to an embodiment of the present invention.

도 4를 참조하면, REST 기반 웹 서비스 조합 시스템은 객체 변환부(410)와 서비스 운용부(420)를 포함하여 이루어진다.Referring to FIG. 4, the REST-based web service combination system includes an object converter 410 and a service operator 420.

객체 변환부(410)는 REST 웹서비스 실행결과 테이터를 객체로 변환하는 역할을 한다.The object converter 410 converts REST web service execution result data into objects.

서비스 운용부(420)는 변환된 객체를 조합하여 생성된 REST 웹서비스를 탑재하고 운용하는 역할을 한다.The service operation unit 420 mounts and operates a REST web service generated by combining the converted objects.

도 3은 본 발명의 일 실시예에 따른 REST 기반 웹 서비스 조합 방법을 보여주는 흐름도이다. 도 3은 웹서비스 조합방법에 대한 상세한 설명을 위한 흐름도이다. 도 3의 각 단계를 수행하는 주체는 객체 변환부(410)와 서비스 운용부(420)로 나뉘며, 객체 변환부(410)는 REST 웹서비스 실행결과 테이터를 객체로 변환하는 과정을 수행하는 주체이며, 서비스 운용부(420)는 변환된 객체를 조합하여 생성된 REST 웹서비스를 탑재/운용하는 주체이다.3 is a flowchart illustrating a REST-based web service combining method according to an embodiment of the present invention. 3 is a flowchart for a detailed description of the web service combination method. The subject performing each step of FIG. 3 is divided into an object converting unit 410 and a service operating unit 420. The object converting unit 410 is a subject performing a process of converting a REST web service execution result data into an object. The service operation unit 420 is a subject that loads / operates a REST web service generated by combining the converted objects.

도 3을 참조하면, 사용자가 REST 웹 서비스를 실행하고(S301), 이에 따라 XML이 파싱(Parsing)되면(S303), 객체 변환부(410)는 객체 구분 요소를 시작한다(S305).Referring to FIG. 3, when a user executes a REST web service (S301), and thus XML is parsed (S303), the object converter 410 starts an object classification element (S305).

그리고, 객체 구분 요소가 시작되면, 객체 구분 요소가 종료될 때까지 XML요소의 객체 변수를 매핑(mapping)한다(S307, S309).When the object classification element starts, the object variables of the XML elements are mapped until the object separation element ends (S307 and S309).

다음, 객체의 임시저장 여부를 판단하고(S311), 객체를 임시저장하는 경우 웹 서비스 관리자(210)의 데이터베이스(220)에 객체를 임시저장한다(S313).Next, it is determined whether the object is temporarily stored (S311), and when the object is temporarily stored, the object is temporarily stored in the database 220 of the web service manager 210 (S313).

본 발명에서 S311 단계에서 객체의 임시저장 여부를 판단하게 되는데, 이는 조합 REST 웹서비스를 서버에서 수행하는 과정에서, 사용자가 선택할 수 있는 옵션(option)이다. 즉, 자신의 웹 서비스에서 필요로 하는 다른 REST 웹 서비스의 데이터를 수행하여 얻은 객체정보를 본 웹 서비스 관리자(210)에 임시저장 하겠는지의 여부를 선택하는 것이다. 다른 REST 웹 서비스 실행결과를 서버측에 저장하였다가, 차회 동일한 서비스 요청시 이를 재활용하는 방법은 일종의 캐싱(caching) 기법과 유사한 것으로 시스템 성능향상에 기여한다. 임시저장 기능을 사용하는 경우, 동일한 REST 웹서비스를 다시 네트워크를 통해 가져올 필요없이, 데이터베이스(220)에서 직접 꺼내어 활용할 수 있으므로 효과적이다. 단, 서버측에 임시저장하는 기능은 사용자가 기능사용을 선택할 경우만 적용하도록 하는 것이 바람직하다. 이때, 데이터베이스(220)에 저장된 객체를 쿼리(query)하여 객체로 변환하는 방식으로 운용할 수 있다.In the present invention, it is determined whether the object is temporarily stored in step S311, which is an option that a user can select in the process of performing a combination REST web service on the server. That is, it is to select whether or not to temporarily store the object information obtained by performing data of another REST web service required by its web service in the web service manager 210. Storing the results of other REST web service execution on the server side and recycling them on the next request for the same service is similar to a caching technique, contributing to system performance improvement. In the case of using the temporary storage function, it is effective because it can be directly taken out from the database 220, without having to bring the same REST web service again through the network. However, it is desirable to apply the temporary storage function to the server side only when the user selects to use the function. In this case, an object stored in the database 220 may be queried and converted into an object.

다음, 서비스 운용부(420)는 사용자의 REST 웹 서비스 패키지를 로딩(loading)한다(S315).Next, the service operation unit 420 loads the user's REST web service package (S315).

그리고, 서비스 운용부(420)는 REST 웹 서비스 패키지에 대한 객체 동적 바인딩을 수행한다(S317).In addition, the service operation unit 420 performs object dynamic binding for the REST web service package (S317).

서비스 운용부(420)는 사용자 REST 웹 서비스 패키지로부터 객체를 참조(Reference)한다(S319).The service operation unit 420 references an object from the user REST web service package (S319).

도 3의 객체 변환부(410)에서 현재의 REST 웹서비스 실행결과가 동일형식에 대한 복수개의 데이터를 담고 있는 경우, 데이터를 복수개 객체로 구분하여 저장해주어야 하는데, SOAP기반 웹서비스와는 다르게 REST 기반 웹서비스에서는 객체 구분 요소를 사용자가 직접 지정할 수 밖에 없다. 왜냐하면, REST 기반 웹서비스에서는 SOAP 기반 웹 서비스에서와 같이 WSDL(Web Service Description Language)에 의해 웹 서비스의 결과물의 형식에 대하여 형식(formal)적으로 기술되지 않기 때문이다.In the object conversion unit 410 of FIG. 3, when the current REST web service execution result includes a plurality of data for the same format, data must be divided into a plurality of objects and stored in a REST-based manner unlike a SOAP-based web service. In the web service, the user must specify the object separation element directly. This is because in REST-based web services, as in SOAP-based web services, the WSDL (Web Service Description Language) does not formally describe the format of the output of the web service.

본 발명의 일 실시예에서는 객체 각각에 대한 정보를 컴퓨터가 자동으로 구분할 수 없으므로, 사용자로부터 객체간 구분을 위한 XML의 특정 요소명(element tag name)을 입력받도록 한다.In an embodiment of the present invention, since the computer cannot automatically distinguish information about each object, a user may receive a specific element name of XML for distinguishing between objects from a user.

객체 변환부(410)에서 REST 웹서비스 수행결과에서 각 요소명(element name)은 변환될 객체의 각각의 속성값에 대응한다. 예를 들면, <num>, <latitude>, <longitude>, <name>, <street>, <city>, <county>, <state>, <country> 등은 각각 객체의 속성변수로 변환된다. 이러한 변환은 XML 파싱과정에서 객체 구분 요소의 시작 태그를 만난 시점부터 종료 태그를 만날때까지 반복적으로 수행된다.In the REST web service execution result in the object conversion unit 410, each element name corresponds to each attribute value of the object to be converted. For example, <num>, <latitude>, <longitude>, <name>, <street>, <city>, <county>, <state>, <country>, etc. are converted into attribute variables of the object, respectively. This conversion is performed repeatedly until the end tag is met until the start tag of the object identification element is met during the XML parsing process.

S317 단계는 서비스 운용부(420)에서 조합된 REST 웹서비스를 로딩하고 실행하는 과정에서 객체를 동적으로 바인딩하는 부분이다. 이는, 다른 REST 웹서비스를 조합함으로써 동작하는 REST 웹서비스의 경우, 객체 변환부(410)를 거치면서 변환된 객체를 동적으로 인스턴스화 하고, 이를 조합 REST 웹 서비스에서 사용할 수 있도록 동적 바인딩하는 것이다. 이러한 작업이 필요한 이유는 다음과 같다. 본 발명의 시스템은 수많은 사용자의 조합 REST 웹서비스를 동시에 실행할 수 있는데, 이 경우 모든 사용자의 웹 서비스가 메모리 상에 올라와 있을 수는 없다. 따라서, 실행 중에 수거(garbage collection)되거나 하는 경우, 객체의 상태를 직렬화(serialization) 등의 방법을 통해 보관하며, 이를 다시 필요로 하는 경우, 메모리에 다시 로딩 및 바인딩하여 사용하여야 하기 때문이다. 따라서, 이와 같이 사용자의 조합 REST 웹 서비스와 그 웹 서비스를 필요로하는 다른 REST 웹서비스의 실행결과(객체)가 바인딩되고 참조(reference)되어 사용될 수 있다.Step S317 is a part of dynamically binding an object in the process of loading and executing the combined REST web service in the service operation unit 420. For REST web services operated by combining different REST web services, the object is dynamically instantiated through the object conversion unit 410 and dynamically bound to be used in the combination REST web service. The reason for this is as follows. The system of the present invention can simultaneously execute a combination REST web service of a large number of users, in which case the web services of all users cannot be loaded in memory. Therefore, when garbage collection is performed during execution, the state of an object is stored through a method such as serialization, and when it is needed again, it must be loaded and bound again in memory and used. Thus, the execution result (object) of the combination REST web service of the user and another REST web service requiring the web service may be bound and referenced.

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.While the present invention has been described with reference to several preferred embodiments, these embodiments are illustrative and not restrictive. Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the invention and the scope of the rights set forth in the appended claims.

110, 150 웹 서비스 120 XML
130 객체 210 웹 서비스 관리자
220 데이터베이스 230 웹 서버
240 스마트 폰 250 웹 브라우저
410 객체 변환부 420 서비스 운용부
110, 150 Web Services 120 XML
130 Object 210 Web Services Manager
220 Database 230 Web Server
240 Smartphone 250 Web Browser
410 Object Conversion Unit 420 Service Operation Unit

Claims (7)

REST(representational state transfer) 기반 웹 서비스를 조합하는 웹 서비스 조합 시스템에서의 웹 서비스 조합 방법에 있어서,
상기 웹 서비스 조합 시스템은 웹 서비스의 수행 결과인 XML(eXtensible MarkUp Language) 데이터를 파싱(Parsing)하는 단계;
상기 웹 서비스 조합 시스템은 상기 XML 데이터로부터 객체를 추출하는 단계; 및
상기 웹 서비스 조합 시스템은 상기 추출된 둘 이상의 객체를 조합하는 방식으로 웹 서비스를 제공하는 단계를 포함하는 웹 서비스 조합 방법.
In the web service combination method in a web service combination system that combines a REST (representational state transfer) based web service,
Parsing the eXtensible MarkUp Language (XML) data that is the result of performing the web service;
The web service combining system extracting an object from the XML data; And
And the web service combining system provides a web service by combining the extracted two or more objects.
제1항에 있어서,
상기 객체를 추출하는 단계 후에,
상기 웹 서비스 조합 시스템은 추출된 객체를 데이터베이스에 저장하는 단계를 더 포함하고,
이때, 상기 웹 서비스 조합 시스템은 상기 데이터베이스에 저장된 객체를 쿼리(query)하여 객체로 변환하는 것을 특징으로 하는 웹 서비스 조합 방법.
The method of claim 1,
After extracting the object,
The web service combination system further includes storing the extracted object in a database,
In this case, the web service combination system is to query the object stored in the database (query) to convert to a web service, characterized in that the object.
제1항에 있어서,
상기 XML 데이터로부터 객체를 추출하는 단계에서,
상기 웹 서비스 조합 시스템은 객체간 구분을 위해 정해진 XML 요소명(element name)을 사용자로부터 입력받는 것을 특징으로 하는 웹 서비스 조합 방법.
The method of claim 1,
Extracting an object from the XML data,
The web service assembling system, the web service assembling method, characterized in that for receiving an XML element name (element element) defined in order to distinguish between objects from the user.
REST(representational state transfer) 기반 웹 서비스 조합 시스템에 있어서,
클라이언트로부터의 요청이 있으면, 해당 클라이언트에 웹 서비스를 제공하는 웹 서버; 및
사용자가 개발한 REST 웹 서비스를 로딩(loading)하고, 상기 웹 서버로부터의 웹 서비스 요청에 대한 응답을 처리하는 웹 서비스 관리자를 포함하는 웹 서비스 조합 시스템.
In a REST (representational state transfer) based web service combination system,
A web server providing a web service to the client when a request from the client is received; And
And a web service manager which loads a REST web service developed by a user and processes a response to a web service request from the web server.
제4항에 있어서,
상기 클라이언트와 상기 웹 서버는 HTTP(HyperText Transfer Protocol) 규약에 따라 통신하는 것을 특징으로 하는 웹 서비스 조합 시스템.
5. The method of claim 4,
And the client and the web server communicate according to the HyperText Transfer Protocol (HTTP) protocol.
제4항에 있어서,
상기 웹 서비스 관리자는 객체를 동적으로 인스턴스화하고, 이를 조합하여 사용할 수 있도록 동적 바인딩하는 객체 동적 바인딩을 수행하는 것을 특징으로 하는 웹 서비스 조합 시스템.
5. The method of claim 4,
And the web service manager dynamically instantiates an object and performs object dynamic binding to dynamically bind the object to be used in combination.
제4항에 있어서,
상기 웹 서버는 2개 이상의 REST 웹 서비스를 조합한 REST 웹 서비스 그룹을 탑재하여 구동하는 것을 특징으로 하는 웹 서비스 조합 시스템.
5. The method of claim 4,
The web server is a web service combination system, characterized in that to operate by mounting a REST web service group combining two or more REST web services.
KR1020120019587A 2012-02-27 2012-02-27 Method and system for RESTful web service composition KR101324393B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120019587A KR101324393B1 (en) 2012-02-27 2012-02-27 Method and system for RESTful web service composition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120019587A KR101324393B1 (en) 2012-02-27 2012-02-27 Method and system for RESTful web service composition

Publications (2)

Publication Number Publication Date
KR20130097927A true KR20130097927A (en) 2013-09-04
KR101324393B1 KR101324393B1 (en) 2013-11-01

Family

ID=49450052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120019587A KR101324393B1 (en) 2012-02-27 2012-02-27 Method and system for RESTful web service composition

Country Status (1)

Country Link
KR (1) KR101324393B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559234A (en) * 2013-10-24 2014-02-05 北京邮电大学 System and method for automated semantic annotation of RESTful Web services
KR101586246B1 (en) 2014-08-22 2016-01-18 경북대학교 산학협력단 Rest-based ieee 11073-20601 standard message transmission method and sytem

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230137512A (en) 2022-03-21 2023-10-05 주식회사 오픈드래프트 Document editing computer and document editing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100982732B1 (en) * 2010-06-08 2010-09-20 이에스이 주식회사 Xforms based automated client-page composition system and the client-page composition method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559234A (en) * 2013-10-24 2014-02-05 北京邮电大学 System and method for automated semantic annotation of RESTful Web services
CN103559234B (en) * 2013-10-24 2017-01-25 北京邮电大学 System and method for automated semantic annotation of RESTful Web services
KR101586246B1 (en) 2014-08-22 2016-01-18 경북대학교 산학협력단 Rest-based ieee 11073-20601 standard message transmission method and sytem

Also Published As

Publication number Publication date
KR101324393B1 (en) 2013-11-01

Similar Documents

Publication Publication Date Title
US9535966B1 (en) Techniques for aggregating data from multiple sources
US7650609B2 (en) Multi-environment document management system access
CN101609415B (en) Universal service calling system and method based on middleware
US20070011274A1 (en) Data transfer in a multi-environment document management system access
US20070162476A1 (en) Using soap messages for inverse query expressions
CN107566477B (en) Method and device for acquiring files in distributed file system cluster
US20130091416A1 (en) Method for establishing a relationship between semantic data and the running of a widget
CN107346320A (en) A kind of data calling method and device
CN103414793A (en) Picture downloading and uploading device and method
Mazzetti et al. RESTful implementation of geospatial services for Earth and Space Science applications
KR101324393B1 (en) Method and system for RESTful web service composition
KR100759186B1 (en) System and method to provide web service that delivers information from semi structured web document and database
Riva et al. Designing web-based mobile services with REST
CN101807204A (en) Dynamic creation method of processing Web service with remote sensing image
CN104980464A (en) Network request processing method, network server and network system
CN101039320A (en) Method and apparatus for providing an interface between a client application and a web service
Zhao et al. Building a web-services based geospatial online analysis system
Lindholm et al. Syxaw: Data synchronization middleware for the mobile web
Sbeyti et al. Scalable extensible middleware framework for context-aware mobile applications (SCAMMP).
Sancho-Jiménez et al. A method to derivate SOAP interfaces and WSDL metadata from the OGC web processing service mandatory interfaces
Rienzi et al. Towards an ESB-Based Enterprise Integration Platform for Geospatial Web Services
Tamayo et al. Sensor observation service client for android mobile phones
Mangler et al. Quo vadis interface definition languages? Towards a interface definition language for RESTful services
KR20140139776A (en) A method for tieringbased virtual network storage interface with cloud documents publishing system
Han et al. Development and Practice of Knowledge Service Platform Based on DSpace

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee