KR20150077100A - System of automatic mash-up by reflecting Open API update - Google Patents

System of automatic mash-up by reflecting Open API update Download PDF

Info

Publication number
KR20150077100A
KR20150077100A KR1020130165983A KR20130165983A KR20150077100A KR 20150077100 A KR20150077100 A KR 20150077100A KR 1020130165983 A KR1020130165983 A KR 1020130165983A KR 20130165983 A KR20130165983 A KR 20130165983A KR 20150077100 A KR20150077100 A KR 20150077100A
Authority
KR
South Korea
Prior art keywords
mashup
block
mesh
service
open api
Prior art date
Application number
KR1020130165983A
Other languages
Korean (ko)
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 KR1020130165983A priority Critical patent/KR20150077100A/en
Publication of KR20150077100A publication Critical patent/KR20150077100A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to generation of mesh-up service for generating and providing a new service by combining services providing an open API. According to an aspect of the present invention, an automatic mesh-up system employing an open API update includes: a resource history unit that searches a mesh-up block to be updated with changes among the mesh-up blocks being managed if receiving notification that changes occur in an open API specification from a service specification registry wherein a service provider, who provides the open API, registers open API specification; a resources management unit that searches a substitute mesh-up block to substitute a searched mesh-up block or modifies the searched mesh-up block according to the open API specification with changes, substitutes the searched mesh-up block with the substitute mesh-up block or the modified mesh-up block, and generates a mesh-up projects to which the API specification with the changes is reflected; and an authoring engine unit which generates a code by using the mesh-up project.

Description

공개 API 업데이트를 반영한 자동 매쉬업 시스템{System of automatic mash-up by reflecting Open API update}An automatic mashup system that reflects public API updates {System of automatic mash-up by reflecting open API update}

본 발명은 공개 API를 제공하는 서비스들을 결합하여 새로운 서비스를 생산, 제공하기 위한 매쉬업 서비스 생성에 관한 것이다.
The present invention relates to generation of a mashup service for producing and providing a new service by combining services providing a public API.

매쉬업 서비스는 기업내 혹은 인터넷상에서 공개적으로 제공되는 데이터나 서비스들을 조합하여 새로운 서비스를 만드는 기술이다. 예를 들면, 공개된 지도 서비스(다음맵, 구글맵 등)와 사진 공유 커뮤니티 서비스(Flickr, Panoramio 등)를 연계하여, 특정 위치 상에 사진을 태깅하여 보여주는 매쉬업 서비스를 제공할 수 있다. 도 1은 매쉬업 서비스의 한 예를 도시한 예시도이다. 도 1에 도시된 바와 같이, 구글(Google)의 지도 서비스에 파노라미오(Panoramio)의 사진 서비스가 합쳐진 매쉬업 서비스로서, 매쉬업 결과화면(100)을 특정 위치와 관련된 사진이 지도상에 표시되도록 구성한 것이다. 이러한 매쉬업의 결과는 HTML 문서(110)에 포함되어 나타난다. 이와 같이, 많은 애플리케이션들이 다양한 공개 API를 조합, 결합하여 새로운 서비스로 만드는 매쉬업 기술을 통해 동작되고 있다. 기업 혹은 공공기관에서 제공하고 있는 공개 API는 시간이 흐름, 사용자의 요구, 시스템 개선, 기능의 추가/변경에 따라 그 명세가 업데이트되고 있다. 인터넷상에서 공개된 수많은 공개 API의 상태를 관리해야 할 필요성이 증가하고 있다. A mashup service is a technique for creating new services by combining data or services publicly provided in the enterprise or on the Internet. For example, it is possible to provide a mashup service in which a public map service (next map, Google map, etc.) is linked with a photo sharing community service (Flickr, Panoramio, etc.) 1 is an exemplary diagram illustrating an example of a mashup service. As shown in FIG. 1, a mashup service in which a photograph service of Panoramio is integrated with a map service of Google is provided. In the mashup result screen 100, a photograph related to a specific location is displayed on a map will be. The result of this mashup appears in the HTML document 110. As such, many applications are being operated through mashup techniques that combine and combine various public APIs into new services. The public APIs provided by enterprises or public institutions are updated as time passes, user demands, system improvements, and addition / changes of functions. There is a growing need to manage the state of a large number of public APIs published on the Internet.

기존에는, 공개 API를 포함하고 있는 매쉬업 자원들의 관계를 관리하여 미리 정의된 컨텐츠를 제공하는 도중 공개 API에 변경이 발생하면, 매쉬업 엔진이 변경을 감지하여 자원들간의 관계를 갱신하는 기술이 이용되고 있다. 하지만, 많은 경우 공개 API를 제공하는 주체가 변경이나 갱신에 대한 별다른 정보를 제공하고 있지 않는다. 따라서, 공개 API를 가지고 매쉬업하는 개발자나 이용자들은 매쉬업 서비스가 오작동을 일으키는 결과 혹은 에러 메시지를 접하고 나서야 공개 API 서비스가 변경 되었음을 인지할 수 있고, 이 수정된 명세를 해당 웹 페이지를 방문하여 확인할 수 있는 실정이다. 즉, 공개 API를 활용한 애플리케이션들은 공개 API 명세의 변경에 따라, 기능이 멈추거나 오작동을 일으키는 등의 문제가 발생할 수 있다. 종래기술에 따르면, 이러한 경우를 대비하여 매쉬업에 사용되는 자원들의 최신성을 데이터베이스에 유지하거나, 자원들의 관계를 기록해 둠으로써 장애를 극복할 수는 있지만, 실시간적이고 동적으로 장애를 극복하지 못하는 문제점이 있다.
In the past, when a change is made to the open API while managing the relationship of the mashup resources including the open API and providing predefined contents, a technique of updating the relation between the resources by detecting the change is used have. However, in many cases, the subject providing the public API does not provide much information about changes or updates. Therefore, developers and users who mash up with public APIs can recognize that the public API service has changed only after seeing the malfunctioning result or error message of the mashup service, and can check the modified specification by visiting the corresponding web page It is true. In other words, applications that use public APIs may experience problems such as stopping or malfunctioning due to changes in public API specification. According to the related art, it is possible to overcome the obstacle by keeping the latestness of the resources used in the mashup in the database or by recording the relation of the resources in contrast to this case, but it is difficult to overcome the obstacle in real time and dynamically have.

미국 특허공개번호 제2009/0210481호United States Patent Application Publication No. 2009/0210481 한국 특허공개번호 제10-2009-0015574호Korean Patent Publication No. 10-2009-0015574

본 발명은 앞에서 설명한 기존기술의 문제점을 해결하기 위하여, 공개 API를 제공하는 서비스 서버가 공개 API의 명세를 기록 유지하고 이력정보를 정형화되게 제공하고, 정형화된 명세를 반영하여 매쉬업 저작 시스템이 매쉬업의 자동 생성과 업데이트를 반영하기 위해 애플리케이션을 재빌드(rebuild)함으로써 동작을 유지할 수 있도록 한다.
In order to solve the problems of the prior art described above, the present invention provides a service server providing a public API to record and maintain a specification of an open API, to provide historical information in a format, and to reflect a formal specification, Allows the application to be maintained by rebuilding the application to reflect automatic generation and update.

본 발명의 일 측면에 따르면, 공개 API 업데이트를 반영한 자동 매쉬업 시스템에 있어서, 공개 API를 제공하는 서비스 제공자가 공개 API 명세를 등록하는 서비스 명세 등록소로부터 공개 API 명세에 변경사항이 발생하였음을 통지 받으면, 관리중인 매쉬업 블록중에서 변경사항을 반영할 매쉬업 블록을 검색하는 자원 이력부, 검색된 매쉬업 블록을 대체할 대체 매쉬업 블록을 검색하거나 상기 검색된 매쉬업 블록을 변경사항이 발생한 공개 API 명세에 따라 수정하고, 상기 검색된 매쉬업 블록을 상기 대체 매쉬업 블록 또는 수정된 매쉬업 블록으로 대체하여 상기 변경사항이 발생한 공개 API 명세의 반영된 매쉬업 프로젝트를 생성하는 자원 관리부 및 상기 매쉬업 프로젝트를 이용하여 코드를 생성하여 저작 엔진부를 포함하는 공개 API 업데이트를 반영한 자동 매쉬업 시스템이 제공된다.
According to an aspect of the present invention, in an automatic mashup system that reflects a public API update, when a service provider providing a public API is notified from a service description registry registering a public API specification that a change has occurred in a public API specification A resource history unit for searching for a mashup block to be reflected in the mashup block being managed, an alternative mashup block for replacing the searched mashup block, or modifying the searched mashup block according to the disclosure API specification in which the change occurs, A resource management unit for generating a mashup project reflecting the public API specification in which the change is generated by replacing the searched mashup block with the replacement mashup block or the modified mashup block, and a code generation unit for generating a code using the mashup project, API updates This dynamic mashup system is provided.

본 발명에 따르면, 매쉬업 서비스 도중에 매쉬업 서비스에 포함되어 있는 공개 API의 서비스 명세가 변경되거나 삭제됨에 따라, 해당 매쉬업 서비스가 동작하지 않거나 오동작을 일으키는 것을 능동적으로 대처할 수 있게 된다. 따라서, 매쉬업 서비스의 신뢰성을 유지할 수 있는 이점이 있다.
According to the present invention, as the service description of the open API included in the mashup service is changed or deleted during the mashup service, the mashup service can actively cope with malfunctioning or malfunctioning. Therefore, there is an advantage that the reliability of the mashup service can be maintained.

이하에서, 본 발명은 첨부된 도면에 도시된 실시예를 참조하여 설명된다. 이해를 돕기 위해, 첨부된 전체 도면에 걸쳐, 동일한 구성 요소에는 동일한 도면 부호가 할당되었다. 첨부된 도면에 도시된 구성은 본 발명을 설명하기 위해 예시적으로 구현된 실시예에 불과하며, 본 발명의 범위를 이에 한정하기 위한 것은 아니다.
도 1은 매쉬업 서비스의 일예를 도시한 예시도이다.
도 2는 공개 API 업데이트를 반영한 자동 매쉬업 시스템의 전체 구성을 도시한 도면이다.
도 3은 공개 API 업데이트를 서비스 명세 등록소에 등록하는 과정을 도시한 흐름도이다.
도 4는 자동 매쉬업 시스템이 공개 API 업데이트를 반영하는 과정을 도시한 흐름도이다.
도 5는 공개 API 구현 명세를 담고 있는 스키마에서 해당 공개 API의 버전정보와 릴리즈 시간 등을 기록한 실시예를 도시한 도면이다.
Hereinafter, the present invention will be described with reference to the embodiments shown in the accompanying drawings. For the sake of clarity, throughout the accompanying drawings, like elements have been assigned the same reference numerals. It is to be understood that the present invention is not limited to the embodiments illustrated in the accompanying drawings, but may be embodied in many other specific forms without departing from the spirit or essential characteristics thereof.
1 is an exemplary diagram illustrating an example of a mashup service.
2 is a diagram showing an entire configuration of an automatic mashup system that reflects a public API update.
3 is a flowchart illustrating a process of registering a public API update in a service description registry.
4 is a flowchart illustrating a process in which an automatic mashup system reflects an open API update.
FIG. 5 is a diagram showing an embodiment in which version information and release time of a corresponding public API are recorded in a schema containing a public API implementation specification.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

도 2는 공개 API 업데이트를 반영한 자동 매쉬업 시스템의 전체 구성을 도시한 도면이다.2 is a diagram showing an entire configuration of an automatic mashup system that reflects a public API update.

공개 API를 제공하는 서비스 제공자(210, 220)는 통신망을 통해 서비스 명세 등록소(300)에 서비스 명세 문서를 등록한다. 공개 API의 명세가 수정되면, 서비스 제공자(210, 220)는 서비스의 이력정보를 포함한 서비스 명세 문서를 생성한다. 여기서, 공개 API의 명세는, 예를 들어, 오퍼레이션, 파라미터 정보 등을 포함할 수 있다. The service providers 210 and 220 providing the open APIs register the service description document in the service description registry 300 through the communication network. When the specification of the open API is modified, the service providers 210 and 220 generate a service specification document including the service history information. Here, the disclosure API specification may include, for example, operation, parameter information, and the like.

서비스 명세 등록소(300)는 서비스 제공자(210, 220)로부터 제공된 서비스 명세 문서를 등록하고 관리한다. 서비스 명세 등록소(300)는 각 공개 API의 서비스 명세 문서와 버전을 저장하고 관리한다. 또한, 서비스 명세 등록소(300)는 공개 API의 명세를 제공하는 서비스 제공자(210, 220)의 서비스 서버 또는 시스템의 변동사항을 감지하거나 통지 받아 그 정보를 저장하고 관리한다. 여기서, 변동사항은 해당 서비스 서버/시스템이 공개 API를 더 이상 제공하지 않거나 서비스 서버/시스템의 오류로 인해 공개 API를 일시적으로 제공하지 못하는 경우일 수 있다.The service description registry 300 registers and manages a service description document provided from the service providers 210 and 220. The service description registry 300 stores and manages the service description document and version of each open API. In addition, the service description registry 300 senses or receives a change in the service server or system of the service provider 210 or 220 providing the specification of the open API, and stores and manages the information. Here, the change may be the case where the service server / system no longer provides the public API or temporarily fails to provide the public API due to an error in the service server / system.

매쉬업 시스템(400)는 공개 API 명세의 수정 또는 서비스 서버/시스템의 변경사항을 서비스 명세 등록소(300)로부터 통보받거나 감지한다. 이를 통해, 매쉬업 시스템(400)은 수정 또는 변경사항이 있는 자원들을 추출하고 변경사항을 반영하여 코드생성 및/또는 리빌드를 수행할 수 있다. 여기서 변경사항은 공개 API의 업데이트 또는 서비스 서버/시스템의 변동사항을 포함할 수 있다.The mashup system 400 is informed of or detects changes in the public API specification or changes in the service server / system from the service description registry 300. In this way, the mashup system 400 can extract resources with modifications or changes and perform code generation and / or rebuilding by reflecting the changes. Where the changes may include updates to the public API or changes to the service server / system.

매쉬업 시스템(400)은 매쉬업을 이루는 매쉬업 자원인 매쉬업 블록, 매쉬업 프로젝트를 저장/관리하고, 애플리케이션의 코드를 생성하여 실행하는 기능을 수행한다. 매쉬업 블록은 웹 페이지에 버튼, 리스트 등과 같은 UI 콘트롤을 포함하는 디스플레이블록, 로직을 수행하는 프로세스블록, 및 판단에 의해 분기를 담당하는 조건블록으로 구분되어 저장된다. 이 중에서 프로세스 블록은 공개 API를 이용하여 특정 작업을 수행한다. 매쉬업 블록은 HTML/CSS, 자바스크립트와 메타정보 문서로 구성될 수 있다. 매쉬업 프로젝트는 매쉬업 블록의 집합과 흐름 그리고 연결정보 등을 포함하고, 애플리케이션 실행코드를 담고 있다.The mashup system 400 stores and manages a mashup block and a mashup project, which are mashup resources forming a mashup, and generates and executes an application code. A mashup block is divided into a display block including a UI control such as a button, a list, etc., a process block for executing logic, and a condition block for branching according to judgment. Among them, the process block performs a specific operation using the open API. A mashup block can consist of HTML / CSS, JavaScript, and meta information documents. A mashup project contains a set of mashup blocks, flow and connection information, and contains application executable code.

이를 위해, 매쉬업 시스템은 자원 이력부(410), 자원 관리부(420), 및 저작 엔진부(430)를 포함한다.To this end, the mashup system includes a resource history unit 410, a resource management unit 420, and an authoring engine unit 430.

자원 이력부(410)는 매쉬업 블록과 매쉬업 프로젝트의 버전, 즉, 이력을 관리한다. 자원 이력부(410)는 서비스 명세 등록소(300)와 통신하여 특정한 공개 API 명세에 변경사항이 있음을 인지한다. 자원 이력부(410)는 공개 API 명세, 오퍼레이션 명세, 파리미터 명세 등이 업데이트 되었을 경우, 해당 공개 API를 포함하는 매쉬업 블록ID를 추출한다. 자원 이력부(410)는 변경사항이 있는 매쉬업 블록ID와 변경된 명세정보를 자원 관리부(420)에 전달한다. 한편, 자원 이력부(410)은 서비스 명세 등록소(300)로부터 공개 API 명세가 더 이상 유효하지 않은 것이라는 메시지를 수신하면, 해당 매쉬업 블록을 대체할 수 있는 매쉬업 블록을 검색하도록 자원 관리부(420)에 통지한다.The resource history unit 410 manages the version of the mashup block and the mashup project, that is, the history. The resource history unit 410 communicates with the service description registry 300 and recognizes that there is a change in the specific public API specification. When the open API specification, the operation specification, the parameter specification, and the like are updated, the resource recorder 410 extracts the mashup block ID including the corresponding open API. The resource history unit 410 transmits the mashup block ID having the change and the changed specification information to the resource management unit 420. On the other hand, when the resource history unit 410 receives from the service description registry 300 a message that the public API specification is no longer valid, the resource history unit 420 searches for a mashup block that can replace the mashup block, .

자원 관리부(420)는 공개 API의 변경사항이 반영한다. 변경사항의 반영은 대체 매쉬업 블록 검색 또는 매쉬업 블록의 메타 데이터에 공개 API 명세를 반영 중 어느 하나에 의해서 이루어진다. 매쉬업 블록에 대한 변경사항의 반영이 완료되면, 자원 관리부(420)는 변경사항이 발생한 매쉬업 블록을 포함한 매쉬업 프로젝트를 검색한다. 검색된 매쉬업 프로젝트의 변경사항이 발생한 매쉬업 블록은 검색된 매쉬업 블록 또는 공개 API 명세가 반영된 매쉬업 블록으로 대체된다. The resource management unit 420 reflects changes in the open API. The change may be reflected in either the search of the alternate mashup block or the reflection of the open API specification in the metadata of the mashup block. When the reflection of the change to the mashup block is completed, the resource manager 420 searches for a mashup project including the mashup block in which the change occurs. The mashup block in which a change in the searched mashup project occurs is replaced with a mashup block that reflects the searched mashup block or a public API specification.

저작엔진부(430)는 자원 관리부(430)로부터 매쉬업 프로젝트를 수신하고 이를 이용하여 코드를 생성하여 저장한다. 이를 통해, 새로운 코드가 생성되며, 매쉬업 서비스는 오류 없이 서비스될 수 있게 된다.
The authoring engine unit 430 receives the mashup project from the resource management unit 430 and generates and stores a code using the mashup project. Through this, a new code is generated, and the mashup service can be serviced without error.

도 3은 공개 API 업데이트를 서비스 명세 등록소에 등록하는 과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of registering a public API update in a service description registry.

단계 S610에서, 공개 API를 제공하는 서비스 제공자(210, 220)는 공개 API의 명세가 수정되었는지 확인한다. In step S610, the service provider 210, 220 providing the public API checks whether the specification of the public API has been modified.

단계 S620에서, 공개 API의 명세가 수정되었을 경우, 단계 S630으로 진행한다.In step S620, if the specification of the open API has been modified, the flow advances to step S630.

단계 S630에서, 서비스 제공자(210, 220)는 서비스의 이력정보를 포함한 서비스 명세 문서를 작성하고, 단계 S640으로 진행한다.In step S630, the service provider 210, 220 creates a service specification document including the service history information, and proceeds to step S640.

단계 S640에서, 서비스 제공자(210, 220)는 작성된 서비스 명세 문서를 서비스 명세 등록소(300)에 전송한다. 서비스 명세 등록소(300)는 각 공개 API의 명세 문서와 버전을 저장하고 관리한다.
In step S640, the service providers 210 and 220 transmit the created service description document to the service description registry 300. [ The service specification registry 300 stores and manages specification documents and versions of each open API.

도 4는 자동 매쉬업 시스템이 공개 API 업데이트를 반영하는 과정을 도시한 흐름도이다.4 is a flowchart illustrating a process in which an automatic mashup system reflects an open API update.

단계 S710에서, 자원 이력부(410)는 서비스 명세 등록소(300)으로부터 공개 API 명세에 변경사항이 발생하였다는 정보를 수신받는다. In step S710, the resource history unit 410 receives from the service description registry 300 information indicating that a change has occurred in the open API specification.

단계 S720에서, 자원 이력부(410)는 변경사항이 발생한 공개 API를 포함하는 매쉬업 블록이 존재하는지 판단한다. 변경사항이 발생한 공개 API를 포함하는 매쉬업 블록이 존재하면, 단계 S730으로 진행한다.In step S720, the resource history unit 410 determines whether there is a mashup block including the open API in which the change occurs. If there is a mashup block including the open API in which the change occurs, the flow advances to step S730.

단계 S730에서, 자원 인력부(410)는 변경사항이 발생한 공개 API 명세를 포함하고 있는 매쉬업 블록을 검색하여 이력을 비교한다. In step S730, the resource attraction unit 410 searches the mashup blocks including the public API specification in which the change occurred, and compares the history.

단계 S740에서, 자원 이력부(410)은 변경사항이 발생한 공개 API 명세가 더 이상 유효하지 않은 것이라는 메시지를 담고 있는 경우, 단계 S760으로 진행하여 자원 관리부(420)에 해당 매쉬업 블록을 대체할 수 있는 매쉬업 블록을 검색하도록 통지한다.In step S740, if the resource history unit 410 contains a message that the public API specification in which the change has occurred is no longer valid, the resource history unit 410 proceeds to step S760 to replace the mashup block with the resource management unit 420 Notify to search for a mashup block.

변경사항이 발생한 공개 API 명세가 유효하고, 공개 API 명세, 오퍼레이션 명세, 파리미터 명세 등이 업데이트 되었을 경우, 자원 이력부(410)는 해당 공개 API를 포함하는 매쉬업 블록 ID를 추출한다. 자원 이력부(410)는 변경사항이 발생한 매쉬업 블록ID와 변경된 명세정보를 자원 관리부(420)에 전달한다.When the open API specification in which the change occurs is valid and the open API specification, the operation specification, the parameter specification, and the like are updated, the resource history unit 410 extracts the mashup block ID including the open API. The resource history unit 410 transmits the mashup block ID and the changed specification information in which the change occurred, to the resource management unit 420.

단계 S750에서, 자원 관리부(420)는 자원 이력부(410)에서 받은 매쉬업 블록 ID에 해당하는 자바스크립트와 코드부분을 수정된 공개 API 명세 부분으로 대체한다.In step S750, the resource management unit 420 replaces the Javascript and the code part corresponding to the mashup block ID received from the resource history unit 410 with the modified public API specification part.

단계 S760에서, 자원 관리부(420)는 매쉬업 블록에 변경사항을 반영하기 위해서, 변경사항이 발생한 공개 API와 동일한 형태, 즉, 디스플레이블록, 프로세스블록, 조건블록 중에서 검색한다. 다음으로, 오퍼레이션의 파라미터 입출력 정보가 일치하거나 유사한 것을 찾는다. 파라미터의 입출력 정보는 파라미터의 명칭과 데이터 타입을 매핑하도록 한다. 많은 경우, 공개 API를 제공하는 시스템들은 오퍼레이션의 입출력정보를 서로 다르게 명명하고 있기 때문에, 자원 관리부(420)에서는 파라미터의 명칭과 데이터 타입에 대해, 동의어 또는 유사어 사전을 이용하여 매쉬업 블록 대체(추천) 기능을 지원한다. 예를 들면, 정수형 타입인 "int : integer", 위도를 의미하는 "lat : latitude : y"와 경도인 "longitude : lon : long : x"등을 관리한다.In step S760, the resource management unit 420 searches for a display block, a process block, and a condition block in the same form as the open API in which the change occurred, in order to reflect the change in the mashup block. Next, the parameter input / output information of the operation is matched or similar. The parameter input / output information maps the parameter name and data type. In many cases, the systems providing the open APIs differently name the input / output information of the operation. Therefore, in the resource management unit 420, the mashup block replacement (recommendation) is performed using the synonym or similar dictionary for the parameter name and data type. Function. For example, it manages integer type "int: integer", latitude "lat: latitude: y" and longitude "longitude: lon: long: x".

단계 S770에서, 자원 관리부(420)는 변경된 매쉬업 블록의 메타데이터를 저장하고, 이 매쉬업 블록을 포함하는 매쉬업 프로젝트를 찾아, 같은 방식으로 대체하고 변경한다. In step S770, the resource management unit 420 stores the metadata of the changed mashup block, finds a mashup project including the mashup block, and replaces and changes the same in the same manner.

단계 S780에서, 자원 관리부(420)는 변경된 매쉬업 프로젝트를 저작 엔진부(430)으로 전달하고, 저작 엔진부(430)는 이 매쉬업 프로젝트를 코드를 생성(빌드)하고 저장한다.In step S780, the resource management unit 420 delivers the changed mashup project to the authoring engine unit 430, and the authoring engine unit 430 generates (builds) and stores the code in the mashup project.

단계 S790에서, 자원 이력부(410)는 매쉬업 블록과 매쉬업 프로젝트의 이력정보를 업데이트하고 저장한다.
In step S790, the resource history unit 410 updates and stores the history information of the mashup block and the mashup project.

도 5는 공개 API 구현 명세를 담고 있는 스키마에서 해당 공개 API의 버전정보와 릴리즈 시간 등을 기록한 실시예를 도시한 도면이다.FIG. 5 is a diagram showing an embodiment in which version information and release time of a corresponding public API are recorded in a schema containing a public API implementation specification.

서비스 제공자(210, 220)들은 이러한 방법으로 공개 API의 구현 정보와 업데이트 정보를 제공할 수 있다. 실시예에서, 서비스 명세 등록소(300)은 이 공개 API 구현 정보와 업데이트 정보를 가지고, 어떤 공개 API가 변경되었는지를 XML 형태 등의 문서를 작성하여 매쉬업 시스템(400)으로 전달할 수 있다.
The service providers 210 and 220 can provide the implementation information and the update information of the open API in this way. In the embodiment, the service description registry 300 may generate a document such as an XML form, and transmit the open API to the mashup system 400 with the open API implementation information and the update information.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .

210, 220: 서비스 제공자
300: 서비스 명세 등록소
400: 매쉬업 시스템
410: 자원 이력부
420: 자원 관리부
430: 저작 엔진부
210, 220: Service provider
300: Service Specification Registry
400: Mashup System
410: Resource History Unit
420:
430:

Claims (1)

공개 API 업데이트를 반영한 자동 매쉬업 시스템에 있어서,
공개 API를 제공하는 서비스 제공자가 공개 API 명세를 등록하는 서비스 명세 등록소로부터 공개 API 명세에 변경사항이 발생하였음을 통지 받으면, 관리중인 매쉬업 블록중에서 변경사항을 반영할 매쉬업 블록을 검색하는 자원 이력부;
검색된 매쉬업 블록을 대체할 대체 매쉬업 블록을 검색하거나 상기 검색된 매쉬업 블록을 변경사항이 발생한 공개 API 명세에 따라 수정하고, 상기 검색된 매쉬업 블록을 상기 대체 매쉬업 블록 또는 수정된 매쉬업 블록으로 대체하여 상기 변경사항이 발생한 공개 API 명세의 반영된 매쉬업 프로젝트를 생성하는 자원 관리부; 및
상기 매쉬업 프로젝트를 이용하여 코드를 생성하여 저작 엔진부를 포함하는 공개 API 업데이트를 반영한 자동 매쉬업 시스템.
In an automatic mashup system that reflects a public API update,
When a service provider providing a public API receives a notification that a change has occurred in a public API specification from a service specification register in which a public API specification is registered, a resource history unit for searching a mashup block to reflect a change among mashup blocks under management ;
Up mashup block to replace the searched mashup block or to modify the searched mashup block according to the open API specification in which the change occurs and replace the searched mashup block with the replacement mashup block or the modified mashup block, A resource manager for generating a mashup project reflecting the generated public API specification; And
An automatic mashup system that generates a code using the mashup project and reflects a public API update including an authoring engine.
KR1020130165983A 2013-12-27 2013-12-27 System of automatic mash-up by reflecting Open API update KR20150077100A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130165983A KR20150077100A (en) 2013-12-27 2013-12-27 System of automatic mash-up by reflecting Open API update

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130165983A KR20150077100A (en) 2013-12-27 2013-12-27 System of automatic mash-up by reflecting Open API update

Publications (1)

Publication Number Publication Date
KR20150077100A true KR20150077100A (en) 2015-07-07

Family

ID=53789925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130165983A KR20150077100A (en) 2013-12-27 2013-12-27 System of automatic mash-up by reflecting Open API update

Country Status (1)

Country Link
KR (1) KR20150077100A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019164293A1 (en) * 2018-02-21 2019-08-29 주식회사 팬라인 Information search method and apparatus utilizing non-hierarchical database structure
WO2023162152A1 (en) * 2022-02-25 2023-08-31 日本電信電話株式会社 Mapping device, mapping method, and mapping program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019164293A1 (en) * 2018-02-21 2019-08-29 주식회사 팬라인 Information search method and apparatus utilizing non-hierarchical database structure
WO2023162152A1 (en) * 2022-02-25 2023-08-31 日本電信電話株式会社 Mapping device, mapping method, and mapping program

Similar Documents

Publication Publication Date Title
US11921798B2 (en) Generating a contextual search stream
US11615151B2 (en) Query language for selecting object graphs from application metadata
US10394552B2 (en) Interface description language for application programming interfaces
US8898285B2 (en) Service oriented architecture version and dependency control
US8984396B2 (en) Identifying and representing changes between extensible markup language (XML) files using symbols with data element indication and direction indication
US20110153590A1 (en) Apparatus and method for searching for open api and generating mashup block skeleton code
US7877682B2 (en) Modular distributed mobile data applications
US20150143355A1 (en) Service oriented architecture version and dependency control
US9898260B2 (en) Adaptive function-based dynamic application extension framework
US20180276304A1 (en) Advanced computer implementation for crawling and/or detecting related electronically catalogued data using improved metadata processing
US9274783B2 (en) Dynamic delivery and integration of static content into cloud
US20100001834A1 (en) System and method for a message registry and message handling in a service -oriented business framework
US10452740B2 (en) External content libraries
US20150160814A1 (en) Consumption layer for business entities
KR20090063636A (en) Method and apparatus for sevicing api and creating api mashup, and computer readable medium thereof
EP3289450A1 (en) Developer exchange system
CN103649945A (en) Automatic synchronization of most recently used document lists
US8060586B2 (en) Dynamic web service deployment and integration
CN102096694A (en) Display rendering system with supporting components
CN102722439B (en) Method, device and system for improving running stability of FLASH assembly
US11966384B2 (en) Generating external identifiers for data entities using a data catalog system
CN111966692A (en) Data processing method, medium, device and computing equipment for data warehouse
EP3262535A1 (en) Location-based delivery of structured content
US8813026B1 (en) Methods and apparatus for storing information for components of a system in model component files to provide a world view of the system
KR20150077100A (en) System of automatic mash-up by reflecting Open API update

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination