KR20130103646A - 링크드 데이터와 오픈 api의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법 - Google Patents

링크드 데이터와 오픈 api의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법 Download PDF

Info

Publication number
KR20130103646A
KR20130103646A KR1020120024346A KR20120024346A KR20130103646A KR 20130103646 A KR20130103646 A KR 20130103646A KR 1020120024346 A KR1020120024346 A KR 1020120024346A KR 20120024346 A KR20120024346 A KR 20120024346A KR 20130103646 A KR20130103646 A KR 20130103646A
Authority
KR
South Korea
Prior art keywords
service
mashup
data
execution
standard data
Prior art date
Application number
KR1020120024346A
Other languages
English (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 KR1020120024346A priority Critical patent/KR20130103646A/ko
Publication of KR20130103646A publication Critical patent/KR20130103646A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

본 발명에 따르는 서비스 매쉬업 시스템은, 서비스 저장소와, 서비스 등록요청정보가 수신되면, 그 서비스 등록요청정보로부터 서비스 등록을 위해 유효한 데이터를 획득하는 데이터 파서; 상기 데이터 파서로부터의 데이터를 미리 정해진 표준 데이터 형태로 변환하는 매쉬업 표준 데이터 생성기; 상기 서비스 등록요청정보에 따른 서비스가 단일 서비스이면 상기 표준 데이터 형태로 변환된 데이터를 이용하여 단일 서비스를 발행하여 상기 서비스 저장소에 저장하고, 상기 서비스 등록요청에 따른 서비스가 매쉬업 서비스이면, 그 매쉬업 서비스에 포함되는 단일 서비스들 또는 매쉬업 서비스들에 대한 서비스 클론들을 생성하고, 그 서비스 클론들을 실행순서정보에 따라 연결하여 서비스 매쉬업을 수행하여 매쉬업 서비스를 발행하여 상기 서비스 저장소에 저장하는 서비스 등록기;를 구비함을 특징으로 한다.
또한 상기 서비스 매쉬업 시스템은, 다양한 종류의 서비스를 각각 실행하는 다수의 서비스 실행부; 단위 서비스 또는 매쉬업 서비스를 구성하는 각 항목을 분석하고 그 서비스의 종류에 부합되는 서비스 실행기로 해당 서비스의 실행을 요청하는 서비스 실행부; 상기 서비스의 실행결과를 취합하는 서비스 결과 취합부; 상기 서비스 결과 취합부에 의해 취합된 서비스의 실행결과를 미리 정해둔 표준 데이터 형식으로 변환하여 출력하는 매쉬업 표준 데이터 생성기;를 더 구비할 수 있다.

Description

링크드 데이터와 오픈 API의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법{The Service Mashup System and Method for fusioning OpenAPIs and Linked Data}
본 발명은 링크드 데이터 환경에서의 서비스 매쉬업 기술에 관한 것으로, 더욱 상세하게는 데이터의 이질성과는 무관하게 데이터 및 서비스를 매쉬업할 수 있는 링크드 데이터 환경에서의 서비스 매쉬업 방법 및 시스템에 관한 것이다.
현재의 웹은 잘 가공된 표현 중심적인 웹페이지와 페이지간 연결(Link)를 통해서만 정보의 유통이 가능하다. 그러나 웹페이지에 속하지만 가공되지 않은 원 데이터(raw data)들을 의미관계, 주제관계 등 다양한 관계를 이용하여 관련된 데이터들을 연결할 수 있다면 수백, 수천 건의 다양하고 유익한 결과들로 정보의 재생산이 가능하며, 이를 통해 기존에 가지지 못한 정보의 가치 재창출이 가능하다.
그러나 현재 웹상에 있는 데이터들은 엄청나게 다양한 형태로 저장되어 있으며, 이 데이터들은 문서의 표현을 위한 HTML 형식을 사용하고 있으므로, 연결이 되기 어렵고 모호함을 가지므로 문제점을 표출하고 있다.
이러한 문제점을 해결하기 위한 시맨틱 웹은 인간 중심의 데이터 표현을 위한 HTML을 기반으로 한 기존의 웹과는 달리, 웹에서 데이터의 의미를 표현함으로써 데이터의 상호 교환을 통해 인간과 기계, 기계와 기계 사이의 상호 협력이 가능한 데이터의 웹(The Web of Data)을 제공한다.
상기 시맨틱 웹 기술을 이용하는 링크드 데이터(Linked Data)는 개방형 데이터들을 웹을 통해 발행하고, 융통하여 협업을 가능하게 하는 것으로 웹 상에서 혼재된 데이터를 공유하며 연결하기 위해 추천되는 최고의 방법으로 주목 받고 있다.
한편, 시맨틱 웹 이전의 웹 2.0 시대에서 주요 특징으로 등장한 매쉬업은 오픈API, RSS/ATOM Feed를 이용한 콘텐츠 신디케이션(syndication)으로 특징지을 수 있으며, Ajax, JSON, Flex와 같은 프로그래밍 도구를 이용해 풍부한 사용자 인터페이스를 제공하는 매쉬업 어플리케이션의 생성과 공유가 쉽고 빠르게 이루어질 수 있도록 하였다.
그러나 이러한 웹2.0 수준에서의 매쉬업은 서로 다른 인터페이스를 제공하는 데이터의 표현이 제각각 다른 이질성의 문제를 가지고 있으며, 이로 인하여 데이터 또는 새로운 데이터 형식이 추가될 때마다 개발자에 의해 수동으로 프로그램 코드를 추가해야 하는 문제가 지속적으로 발생하고 있다.
또한 데이터의 표현이 기계가 이해할 수 있는 형태가 아니므로 작업자에 의해 일일이 분석, 작업의 과정을 거쳐야 하며, 매쉬업의 수준 역시 인터페이스간 매쉬업의 수준에 머물러 생산된 데이터의 재사용이 어려운 문제도 지속적으로 제기되고 있다.
그러나 시맨틱 웹 데이터를 기반으로 한 링크드 데이터의 매쉬업의 경우 기계가 이해할 수 있도록 W3C에서 공인한 시맨틱 웹 표준 언어(표현 형식)인 RDF로 데이터를 표현하고 연계함으로써 보다 쉽게 이루어질 수 있다.
또한 웹 상에 공개되는 http://로 시작되는 URI를 통해 데이터의 식별(identify)이 가능하고 웹을 통해 누구나 접근 가능하므로 원래의 데이터가 수정되더라도 수정된 내용이 반영된 매쉬업이 가능하다. 또한 URI로 구별되는 데이터는 재사용이 가능하며, 오픈 API를 이용한 매쉬업보다 쉽게 작성할 수 있기 때문에 그 산업적 가치 또한 뛰어나다 할 수 있다. 또한 매쉬업된 데이터 또한 웹 상에서 기술하는 호환이 가능한 표준 형식으로 다른 형태의 매쉬업을 수행할 경우에도 해당 매쉬업의 입력 데이터가 될 수 있기 때문에 링크드 데이터는 데이터의 생태계를 조성하는데 매우 중요한 역할을 담당한다.
상기한 바와 같은 유용성을 바탕으로 링크드 데이터를 활용한 매쉬업을 수행하고자 하는 연구들 역시 활발히 진행 중에 있다. 대표적으로 탑쿼드란트(TopQuadrant)사의 SPARQLMotion과 DERI의 Pipes가 있다. 상기 탑쿼드란트사의 시맨틱 웹 매쉬업 도구인 SPARQLMotion은 URI를 이용하여 웹에 분산되어있는 RDF 데이터에 접근하고, 이를 통해 데이터들을 조합하여 사용자 요구사항에 맞는 데이터로 가공하기 위한 비주얼 플로우 에디터이다. 이는 RDF/OWL의 표준질의 언어인 SPARQL을 이용하며, 모델링된 직관적인 정보의 플로우 다이어그램을 이용하여 쉽게 매쉬업을 수행할 수 있도록 제공하고 있다. 뿐만 아니라 SPARQLMotion은 XML, RSS Feed, TEXT 문서 등의 다양한 형태의 데이터에 대해 삽입(임포트, Import), 변환, 필터링, 검색 등의 기능을 지원하며, 작성된 데이터 플로우 다이어그램은 RDF로 기술된 스크립트로 저장되어 재사용이 가능하도록 제공되고 있다. 최근에는 외부의 SPARQL 엔드포인트에 접근하여 질의할 수 있도록 하는 기능을 추가로 제공하고 있다. 그러나 상기 SPARQLMotion은 탑쿼드란트사의 온톨로지 모델링 도구에 통합된 제품으로 웹 기반 인터페이스를 제공하고 있지 않아 다양한 사용자에 대한 접근성이 떨어지며, 작성된 매쉬업 역시 탑쿼드란트사의 시맨틱 웹 어플리케이션 서버를 통해서만 발행이 가능하다는 한계점이 있었다.
또 다른 시맨틱 웹 매쉬업 도구인 DERI(Digital Enterprise Research Institute)는 세계적인 시맨틱 웹 연구기관으로 관련 기술 연구 및 산업화, 적용 솔루션을 제공하고 있으며, 이를 바탕으로 전세계 시맨틱 웹 산업을 주도하고 있다. 상기 DERI의 Pipes는 웹 상에 분산되어 있는 링크드 데이터 형식의 데이터를 매쉬업하기 위한 시맨틱웹 플랫폼의 일종으로, 파이프 에디터(Pipe Editor), 파이프 레파지토리(Pipe Repository), 실행 엔진(Execution Engine)으로 구성되어 있으며, 매쉬업된 데이터는 RDF, RDF/JSON, Turtle/N3, TRIG, TRIX, NTriples 형식으로 제공된다. 파이프 에디터는 경량화된 웹 기반의 워크플로우 데이터의 처리 및 흐름에 대한 병합(Merge), 분할(Split) 등의 오퍼레이터와 선택(select), 구성(construct)과 같은 SPARQL 질의를 통해 데이터의 병합과 필터링을 통한 데이터 매쉬업을 설계할 수 있도록 하며, 매쉬업은 XML형식으로 직렬화(serialize)되어 파이프 레파지토리에 저장되어 또 다른 매쉬업에 이용될 수 있다. 상기 Pipes는 REST API를 사용하는 어플리케이션 또는 사용자가 직접 정의하거나 HTTP 요청을 통해 동적으로 제공하므로 동적인 최신 데이터를 매쉬업에 반영할 수 있으며, RDFS 수준의 추론과 SPARQL 질의 처리를 지원하고, 매쉬업의 재사용성을 보장하며, 동적인 데이터 통합이 가능하다는 장점을 가지고 있다.
그러나 위의 대표적인 두 연구들은 시맨틱 웹 형식의 데이터만을 대상으로 매쉬업 기능을 제공하고 있으며 현재 웹 환경에서 일반적인 데이터 유통 방식으로 사용되고 있는 Open API는 고려하지 않고 있다. 또한 데이터끼리의 매쉬업만을 고려함으로써 매쉬업된 융복합 데이터의 활용방법에 대해서는 제공하고 있지 않다.
즉, 이제까지 매쉬업에 대한 대부분의 연구는 대체로 동일한 데이터 형식에 대한 매쉬업, 즉, 링크드 데이터와 링크드 데이터의 매쉬업, 오픈 API와 오픈 API의 매쉬업과 같은 형태로 대부분의 연구가 이루어져왔다. 그러나 이러한 단순한 매쉬업의 형태는 현재 웹 상황의 일부만 고려된, 지극히 일부분에 대해서만 매쉬업이 이루어지고 있는 것으로 간주되고 있으며, 이를 일반적인 경우까지 확대하기 어려우므로, 매쉬업된 결과에 대한 범용성, 재사용성이 현저하게 떨어진다는 문제점을 내포하게 된다.
이와 같은 이유로 링크드 데이터 간의 매쉬업을 연구하는 분야(e.g A.Nikolov, V. Uren, E. Motta, Data Linking: Capturing and Utilising Implicit Schema-level Relation)에서는 DBPdia와 같은 널리 알려진 온톨로지를 중개자(mediator)로 사용하여 범용성 확보를 위한 노력을 수행하였으나, 매쉬업에 필요한 모든 데이터가 링크드 데이터로 발행되어 있지 않은 경우에는 사용이 불가능하다는 한계를 가지고 있다. 따라서 양질의 일반 웹 데이터 및 오픈 API등을 통해 이용 가능한 데이터에 대해서는 매쉬업이 불가능하며, 사용자의 다양한 요구사항을 만족하는데 한계를 가질 수 밖에 없다. 이러한 한계는 다양한 데이터의 사용과 새로운 서비스 창출의 한계로 이어진다. 또한 현재 웹 2.0 환경에서 많이 이용되고 있는 오픈 API간의 매쉬업의 경우에는 사용자가 정보 제공자가 제공하는 방법에 맞춰 매뉴얼하게 프로그래밍을 수행할 경우에만 그 결과를 얻을 수 있다는 한계점을 가지고 있다. 특히 이 경우에는 정보제공자의 통제된 방법에 의해 매쉬업을 이룰 수 있기 때문에 통제된 방법, 통제된 정보를 사용할 수 밖에 없다.
이에따라 웹 상에 존재하는 데이터를 링크드 데이터 형태로 이용하고자 하는 다양한 시도들이 속속 생겨나고 있다. 그러나 이는 대체로 웹 데이터 및 웹 서비스를 링크드 서비스로 변환하여 서비스하는 단계, 즉 변환의 수준에 머물러 있다. 따라서 웹 2.0 단계에서의 순기능인 공유, 참여 등을 시맨틱 웹 환경에서도 계승하고, 발전시키기 위해서는 사용자 참여뿐만 아니라 이를 통한 가치의 재창출이 일어날 수 있어야 한다. 데이터 및 서비스의 다양화 및 이를 기반으로 한 가지의 재창출을 위해서 매쉬업은 필수적이라 할 수 있다. 이를 방해하고 있는 요소로 작용중인 다양한 데이터의 이질적 형태를 극복하고, 데이터의 이질성과는 무관하게 데이터 및 서비스를 매쉬업하여 이를 다시 서비스로 재생산하여 웹에서 이용할 수 있도록 지원하는 도구의 개발이 필요하다.
본 발명은 현재의 웹 환경에서 Open API 또는 링크드 데이터로 발행되는 데이터의 이질성과 무관하게, 사용자의 요구에 따라 데이터 및 서비스 매쉬업을 신속하고 용이하게 지원하는 링크드 데이터와 오픈 API의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명에 따르는 서비스 매쉬업 시스템은, 서비스 저장소와, 서비스 등록요청정보가 수신되면, 그 서비스 등록요청정보로부터 서비스 등록을 위해 유효한 데이터를 획득하는 데이터 파서; 상기 데이터 파서로부터의 데이터를 미리 정해진 표준 데이터 형태로 변환하는 매쉬업 표준 데이터 생성기; 상기 서비스 등록요청정보에 따른 서비스가 단일 서비스이면 상기 표준 데이터 형태로 변환된 데이터를 이용하여 단일 서비스를 발행하여 상기 서비스 저장소에 저장하고, 상기 서비스 등록요청에 따른 서비스가 매쉬업 서비스이면, 그 매쉬업 서비스에 포함되는 단일 서비스들 또는 매쉬업 서비스들에 대한 서비스 클론들을 생성하고, 그 서비스 클론들을 실행순서정보에 따라 연결하여 서비스 매쉬업을 수행하여 매쉬업 서비스를 발행하여 상기 서비스 저장소에 저장하는 서비스 등록기;를 구비함을 특징으로 한다.
또한 상기 서비스 매쉬업 시스템은, 다양한 종류의 서비스를 각각 실행하는 다수의 서비스 실행부; 단위 서비스 또는 매쉬업 서비스를 구성하는 각 항목을 분석하고 그 서비스의 종류에 부합되는 서비스 실행기로 해당 서비스의 실행을 요청하는 서비스 실행부; 상기 서비스의 실행결과를 취합하는 서비스 결과 취합부; 상기 서비스 결과 취합부에 의해 취합된 서비스의 실행결과를 미리 정해둔 표준 데이터 형식으로 변환하여 출력하는 매쉬업 표준 데이터 생성기;를 더 구비할 수 있다.
상기한 본 발명은 이질적인 데이터 형태에 대한 매쉬업을 가능하게 하는 효과를 야기한다.
좀 더 설명하면, 본 발명은 링크드 데이터, OpenAPI, RSS Feed 등의 데이터 및 서비스를 매쉬업하기 위해 다양한 데이터형을 일관적인 하나의 데이터 구조로 표현하며, 이를 시스템에 반영하여 처리할 수 있도록 하여, 이질적인 데이터형에 대한 매쉬업을 가능하도록 하였다.
이러한 이질적인 데이터형 간의 매쉬업은 서로 다른 데이터 형을 가진 양질의 데이터를 매쉬업할 수 있게 함으로써, 데이터의 재사용성을 높이고, 보다 양질의 데이터를 재생산할 수 있는 기반을 조성할 수 있으며, 양질의 데이터들을 기반으로 새로운 또는 발전된 가치를 생산함으로써 가치의 재창출을 실현할 수 있는 효과를 야기한다. 또한 데이터의 형에 관계없이 매쉬업을 수행할 수 있게 됨으로써, 데이터의 확장성을 높이고, 데이터의 다양성을 보다 높일 수 있을 것으로 기대된다. 또한 이종 데이터형 간의 매쉬업이 가능함에 따라 데이터형에 따라 한정적인 기능을 할 수 밖에 없던 데이터들의 활용 범위를 보다 넓힐 수 있게 될 것으로 기대된다.
또한 본 발명은 사용자를 위한 매쉬업 시스템을 제공함으로써, 매뉴얼 프로그래밍에 의존한 매쉬업을 프로그래밍적인 방법에 의존하지 않고 수행할 수 있게 하여 사용자의 편의성을 증대시키는 효과를 야기한다.
즉, 본 발명의 매쉬업 시스템에서는 사용자 화면을 통해 입력한 기본적인 정보를 이용하여 명세, 발행, 실행 등의 과정을 수행할 수 있다. 또한 이 과정에서 단위 서비스, 매쉬업 서비스를 생산하고, 서비스의 융복합 프로세스를 구성하는 등의 전 과정을 저장하고, 이를 사용자가 재사용할 수 있게 한다. 이는 사용자의 편의성을 개선하고, 개선된 편의성에 따라 사용자의 참여 확대를 이끌어 낼 수 있는 계기가 될 것이다. 또한 이러한 사용자 참여 확대는 보다 많은 지성이 참여하게 유도할 수 있으며, 이로써 데이터 및 서비스들은 보다 다양해지고, 새로워질 수 있게 할 수 있다.
또한 본 발명은 매쉬업 수행결과를 화면을 통해서 확인이 가능하며 또한 표준화된 JSON 데이터 형식으로 다운로드할 수 있게 하여 다양한 활용을 가능하게 한다.
또한 본 발명은 서비스 매쉬업 시스템을 통해 매쉬업된 서비스를 동적으로 애플리케이션화하기 위해 매쉬업 서비스를 REST방식의 Web API로 발행하는 기능을 제공한다. 따라서 이용자는 웹을 통해 간단히 파라미터만을 추가하여 웹을 통해 매쉬업 서비스 API의 URL을 호출함으로써 동적으로 매쉬업되는 데이터를 불러오고 이를 애플리케이션 템플릿과 결합하여 최종 사용자를 위한 애플리케이션을 쉽게 생산할 수 있다는 장점이 있다.
또한 본 발명은 다양한 이질적인 데이터를 링크드 데이터(Linked Data)의 서비스로 발행하며, 이 과정에서 일관된 형식으로 명세를 수행하고 이를 발행하므로 데이터 통합적인 측면에서 효율성을 높일 수 있는 효과를 야기한다.
도 1은 본 발명의 바람직한 실시예에 따른 서비스 온톨로지의 기본 명세를 예시한 도면.
도 2는 본 발명의 바람직한 실시예에 따른 서비스 온톨로지의 기본 구조를 도시한 도면.
도 3은 본 발명의 바람직한 실시예에 따른 매쉬업 서비스와 단위 서비스와 서비스 클론 사이의 관계를 도시한 도면.
도 4는 본 발명의 바람직한 실시예에 따른 서비스 매쉬업 시스템의 구조도.
도 5 및 도 6은 본 발명의 바람직한 실시예에 따른 서비스 매쉬업 방법의 흐름도.
<서비스 명세>
본 발명은 웹 상에서 유통되는 이질적인 데이터 및 서비스에 대한 매쉬업을 이행하고, 이를 위한 사용자의 노력을 최소화하기 위해서 데이터 및 서비스를 일관된 방법으로 명세하여 서비스를 발행 및 매쉬업한다.
이에 본 발명에 따른 서비스 매쉬업 시스템은 개별 데이터 및 서비스를 시스템상에서 활용 가능한 하나의 서비스로 간주하고 단일화된 형식과 방법으로 명세를 수행한다.
본 발명에 따른 서비스 매쉬업 시스템에서 서비스는 온톨로지 모델을 기반으로 명세가 이루어지고 서비스의 명세는 링크드 데이터로 발행되어 서비스 저장소(RDF REPOSITORY)에 저장된다.
그리고 OpenAPI 또는 SPARQL 질의는 웹을 통해 개방되는 데이터를 이용하기 위한 단위 서비스로 명세되고, 이후의 서비스 매쉬업을 위해 단위 서비스로 발행된다. 이는 서비스 사이의 매쉬업을 용이하게 만드는 이유가 된다.
본 발명에 따른 서비스 매쉬업 시스템에서 서비스는 단위 서비스(Atomic Service)와 매쉬업 서비스(Mashup Service)로 구분된다. 상기 단위 서비스는 하나의 프로세스만을 가지는 서비스이며, 상기 매쉬업 서비스는 둘 이상의 서비스 클론 또는 둘 이상의 매쉬업 서비스 클론의 조합으로 구성된다.
특히 본 발명에 따른 서비스는 서비스가 매쉬업 서비스인 경우에 해당 서비스를 구성하는 두 개 이상의 서비스에 대한 실행 순서가 서비스 내에 명세된다. 이와같이 서비스의 실행 순서를 명세하는 것은 매쉬업 서비스 실행에 대한 정확성을 향상시키기 위한 것이다.
본 발명에 따른 서비스 매쉬업 시스템의 온톨로지는 링크드 매쉬업 서비스 모델로 명명되며, 이는 기능에 따라 온톨로지를 구조화한다.
상기 서비스의 기능에 대한 명세는 온톨로지 내에 기능적(Functional) 특성(Property), 서비스 자체에 대한 기술은 비기능적(Non-Functional) 특성(Property)으로 구분될 수 있으며, 이 두 가지 기능적 및 비기능적 요소는 혼합되어 구성된다.
상기 서비스의 기능적 요소에 대한 명세는 서비스의 입력(Input), 출력(Output), 서비스의 파라미터(Parameter) 및 해당 서비스 각각의 기능 등을 포함한다. 또 다른 요소인 비기능적 요소에 대한 명세는 서비스의 이름, 등록일, 작성자, 버전정보, 서비스의 목적과 기능에 대한 기술 등을 주로 포함하며, 서비스 분류 체계에 대한 정보 역시 구성 요소로 포함하고 있다.
도 1은 서비스 온톨로지의 기본 명세를 예시한 것이다. 상기한 도 1을 참조하면 상기 서비스는 창작자(creator) 정보 및 제목(title), 목적(goal), 서비스 분류(subject) 등에 대한 정보가 기술되며, 창작자 정보는 dc:creator로 기술된다. 그리고 제목 정보는 dc:title로 기술된다. 그리고 서비스의 목적, 서비스를 통해 획득 가능한 것에 대한 정보는 goal로 기술되며, 서비스 분류는 skos:Subject로 기술된다.
본 발명에서의 서비스 분류는 W3C(World Wide Web Consortium)의 표준 지식어휘 명세(description) 표준인 skos에 따라 서비스에 대한 분류 코드를 skos:Concept의 인스턴스로 생성하고, skos:ConceptSchema에 있는 서비스 분류체계를 플러그-인(Plug-In) 할 수 있도록 구성된다.
또한 본 발명에 따른 서비스 매쉬업 시스템에서 사용되는 온톨로지에서 서비스의 명세는 서비스 구성에 대한 명세와 서비스에 대한 데이터 형식에 대한 명세와 서비스 설명에 대한 명세로 구분된다.
상기 서비스는 하나 이상의 단위 서비스(Atomic Service)와 복합 서비스(Mashup Service)로 구성되며, 이는 rdfs:subClassOf로 기술된다.
그리고 매쉬업 서비스와 단위 서비스에 대한 구성정보는 compose/composeOf관계로 기술되며, 서비스가 매쉬업 서비스인 경우에는 실행 순서 정보가 함께 기술된다. 그리고 단위 서비스의 경우 파라미터(Parameter)를 가지며, 이 파라미터의 입출력은 hasInput/hasOutput으로 기술된다. 상기 파라미터는 name을 통해 이름이 기술되고, 파라미터의 설명은 desc로 기술되며, 프로세스를 호출할 때 필요한 기본 값은 value를 통해 기술된다.
<온톨로지 기본 구조>
도 2는 본 발명의 바람직한 실시예에 따른 온톨로지 기본 구조를 도시한 것으로, 상기 단위 서비스는 SparqlQuery, OpenAPI로 그 형태가 세분된다(rdfs:subClassOf). 상기 SparqlQuery는 다시 그 기능에 따라 Construct 쿼리와 Select 쿼리로 세분된다. 또한 상기 SparqlQuery는 queryContent로 질의문(query)를 기술하고 sparqlEndpointUrl로 질의를 보낼 대상을 기술하며 baseUrl로 웹을 통해 질의를 보내기 위한 패턴을 기술한다. 예를 들어, 링크드 데이터 사이트인 DBPedia 의 Sparql 질의에 대한 baseUrl 이 http://dbpedia.org/sparql?default-graph-uri=http://dbpedia.org&query=#querystring#&type1=xml로 기술되고 queryContent 가 SELECT ?Kfilm ?KoreanTitle ?EngTitle WHERE {?Kfilm <http://purl.org/dc/terms/subject> <http://dbpedia.org/resource/Category:South_Korean_films> . ?Kfilm <http://dbpedia.org/property/hangul> ?KoreanTitle. ?Kfilm <http://dbpedia.org/property/name> ?EngTitle.} 로 기술되면, 실제 서비스 실행시에는 #querystring#이 queryContent로 대체되어 http://dbpedia.org/sparql?default-graph-uri=http://dbpedia.org&query= SELECT ?Kfilm ?KoreanTitle ?EngTitle WHERE {?Kfilm <http://purl.org/dc/terms/subject> <http://dbpedia.org/resource/Category:South_Korean_films> . ?Kfilm <http://dbpedia.org/property/hangul> ?KoreanTitle. ?Kfilm <http://dbpedia.org/property/name> ?EngTitle.} &type1=xml 라는 실행 URL이 만들어지고 실행된 결과를 웹을 통해 얻게 된다.
그리고 OpenAPI도 상기한 바와 유사하게 API 실행을 위해 패턴을 정의하여 baseURL로 기술된다. OpenAPI가 API Key를 필요로 하는 경우 hasAPIKey를 통해 기술한다.
그리고 다수의 단위 서비스가 조합되어 구성된 매쉬업 서비스에 대해서는, 조합된 다수의 서비스 클론에 대한 실행 순서에 대한 선후 관계(next, previous)가 기술되며, 매쉬업 서비스를 구성하고 있는 서비스 중에서 첫 번째(first) 서비스에는 이전(previous)에 대한 명세가 없고, 마지막(last) 서비스는 다음(next)에 대한 명세가 없다.
즉, 상기 매쉬업 서비스를 구성하는 다수의 서비스 클론은 입력(Input)과 출력(Output)과 파라미터(Parameter)를 가지며, 매쉬업 서비스를 구성하는 서비스 중에서 첫 번째(first)로 오는 서비스 클론의 입력 파라미터(input parameter)가 매쉬업 서비스의 입력이고, 첫 번째 서비스 클론의 출력 파라미터는 다음 서비스 클론의 입력 파라미터로 연결된다.
상기 단위 서비스 또는 매쉬업 서비스의 실행결과를 반환하는 내용은 returnType으로 기술되며, 단위 서비스 또는 매쉬업 서비스의 실행결과가 데이터인 경우는 XML, RDF, JSON 등으로 정의되고 시각화 API인 경우는 MAP, CHART 등의 타입이 rdf:type의 형태로 기술된다.
또한 본 발명은 서비스 매쉬업시에 단위 서비스의 재사용을 위해 단위 서비스를 직접 매쉬업 서비스에 연결하지 않고, 그 단위 서비스에 대한 서비스 클론(ServiceClone)을 생성하여 상기 매쉬업 서비스를 구성한다.
이를 도시한 도 3을 참조하면, 상기 서비스 클론(service clone)은 단위 서비스(atomic service)가 가지는 모든 정보를 기술하지 않고 단지 단위 서비스에 대한 링크를 소스로 가짐으로써 해당 단위 서비스를 실행할 때에만 필요한 정보를 가져온다.
또한 상기 서비스 클론은 서비스 실행을 위한 필수적인 정보만을 가진다. 상기 필수적인 정보에는 명칭(dc:title), 다음(next) 프로퍼티, 파라메터 플로우(paramflow), 소스(source)이다. 상기 서비스 클론의 필수적인 정보 중 다음(Next) 프로퍼티는 매쉬업 서비스내의 다음 서비스 클론을 기술하기 위해 사용되며, 파라메터 플로우(paramFlow)는 상위 서비스 클론의 출력(output) 파라미터를 현 서비스의 입력(input) 파라미터와 연결하기 위한 파라미터 흐름을 기술하는 것이다.
<서비스 매쉬업 시스템의 구성>
이제 본 발명의 바람직한 실시예에 따른 서비스 매쉬업 시스템의 구성을 도 4를 참조하여 상세히 설명한다.
상기 서비스 매쉬업 시스템(100)은 서비스 등록부(102)와 서비스 실행부(104)와 서비스 저장소(112), 실행결과 다운로더(128), 웹 API 발행부(130)로 구성된다.
상기 서비스 등록부(102)는 데이터 파서(104)와 제1매쉬업 표준 데이터 생성기(106)와 서비스 등록기(108)와 시맨틱 URI 생성기(110)로 구성된다.
상기 서비스 실행부(104)는 매쉬업 서비스 변환기(114)와 SPARQL 서비스 실행기(116)와 Open API 서비스 실행기(118)와 RSS Feed 서비스 실행기(120)와 매쉬업 결과 취합기(122)와 제2매쉬업 표준 데이터 생성기(124)와 웹 서비스 호출기(126)로 구성된다.
상기 서비스 저장소(112)는 상기 단위 서비스 및 매쉬업 서비스를 등록하며, 이는 RDF 레파지토리이다.
<서비스 등록부(102)>
상기 서비스 등록부(102)의 각 구성의 동작에 대해 설명한다.
상기 서비스 등록부(102)의 데이터 파서(104)는 서비스 등록요청정보가 수신되면, 서비스 등록요청정보로부터 서비스 등록을 위한 유효한 데이터를 획득하여 서비스 매쉬업 시스템(100)이 인식 가능하도록 파싱(parsing)한다. 여기서, 상기 파싱하는 데이터의 형태는 xml, JSON, RSS 등이다.
상기 제1매쉬업 표준 데이터 생성기(106)는 상기 파싱된 데이터는 매쉬업을 용이하게 하기 위해 표준 데이터 형태로 변환한다. 특히 본 발명에 따른 서비스 매쉬업 시스템(100)에서의 표준 데이터 형태는 JSON 형태로 정한다. 참고로, 웹 상에 존재하는 데이터의 형태는 다양하며, 사용자 요구사항에 부응할 수 있는 데이터의 조합은 이질적인 데이터 형식을 조합해야 하는 경우가 다수 발생할 수 있다. 이러한 과정에서 매끄러운 매쉬업을 수행하기 위해서는 단일한 형태로 데이터를 변환한 후에 매쉬업을 수행하는 과정을 거치는 것이 필요하며, 이를 위해 본 발명은 데이터를 단일한 형태로 변환하는 제1매쉬업 표준 데이터 생성기(106)를 구비한다.
상기 서비스 등록기(108)는 사용자가 등록요청한 서비스가 단일 서비스인지 매쉬업 서비스인지 여부를 판단한다.
상기 사용자가 등록요청한 서비스가 단일 서비스이면 상기 서비스 등록기(108)는 이에 대한 시멘틱 URI를 생성하여 표준화된 서비스 명세 데이터에 부가함과 아울러 표준화된 서비스 명세 데이터를 서비스 저장소(112)에 저장한다.
상기 서비스 등록기(108)는 사용자가 등록요청한 서비스가 매쉬업 서비스이면, 단일 서비스들 중 매쉬업할 단위 서비스들 및 그 단위 서비스들에 대한 실행순서정보를 입력받아 서비스 클론들을 생성하여 상기 실행순서정보에 부합되게 연결하여 매쉬업 서비스를 생성하고, 상기 생성된 매쉬업 서비스에 대한 URI를 생성하여 표준화된 서비스 명세 데이터에 부가함과 아울러 표준화된 서비스 명세 데이터를 서비스 저장소(112)에 저장한다.
또한 상기 서비스 등록기(108)는 상기 서비스 클론을 조합한 서비스 플로우및 매쉬업 서비스의 실행 결과를 상기 매쉬업 서비스에 대응되게 저장한다.
또한 상기 시맨틱 URI 생성기(110)는 상기 단위 서비스 및 매쉬업 서비스를 서비스 저장소(112)에 저장하기 위한 시맨틱 URI를 생성하여 상기 서비스 등록기(108)에 제공한다.
<서비스 실행부(104)의 동작>
상기 서비스 실행부(104)의 각 구성의 동작에 대해 설명한다.
상기 서비스 실행부(104)의 매쉬업 서비스 변환기(114)는 사용자 단말기 등을 통해 실행요청된 서비스를 상기 서비스 저장소(112)에서 로딩한 후에 실행이 가능한 형태로 변환한다. 즉, 상기 매쉬업 서비스 변환기(114)는 단위 서비스 또는 매쉬업 서비스의 파라미터 정보, 순서정보, 레벨 정보, 입/출력정보 등을 분석하고 서비스 종류에 부합되는 서비스 실행기로 해당 서비스에 대한 실행을 요청한다.
상기 SPARQL 서비스 실행기(116)는 SPARQL 질의를 제공받아, 해당 질의를 이용할 수 있는 특정 엔드포인트(Endpoint)로 질의를 하게 된다. 상기 엔드포인트(Endpoint) 주소 정보 등 질의를 수행하기 위한 기타 정보는 사용자 혹은 관리자에 의해 단위 서비스 저장시에 미리 저장되어 있는 정보를 이용하며, 해당 데이터의 유용성 및 데이터의 질은 보장하지 않는다.
상기 OpenAPI 서비스 실행기(118)는 OpenAPI의 baseURL 정보에 이용자가 단위 서비스 등록시 정의한 입력 파라미터를 이용해 실행 URL을 동적으로 생성하고 실행을 위해 정보 제공자에게 직접 질의어를 입력하도록 요청하며, 해당 실행을 위한 모든 작업에서 사용자는 입/출력에 대한 내용만을 정의하도록 하고 이 입력 정보를 토대로 실행 요청된 서비스를 처리한다.
상기 OpenAPI 서비스 실행기(118)도 단위 서비스를 저장하는 단계에서 미리 해당 서비스를 실행할 수 있는 실행조건, 인증키 정보 등이 모두 입력받아 저장되며, 이 입력정보를 토대로 실행요청된 서비스를 처리한다. 여기서, 본 발명의 서비스 매쉬업 시스템(100)은 정보 제공자가 아니므로 데이터의 질은 보장하지 않는다. 다만 데이터의 연결, 데이터를 획득하기 위한 주소 정보의 유효성 여부 등에 대해서는 시스템 내에서 유효성 판단을 수행한다.
상기 RSS Feed 서비스 실행기(120)는 RSS Feed 주소를 입력으로 받아, 해당 주소에서 사용자 요청에 맞는 내용을 검색하는 방식으로 질의 처리를 수행한다.
상기 매쉬업 결과 취합기(122)는 SPARQL 서비스 실행기(116)와 Open API 서비스 실행기(118)와 RSS Feed 서비스 실행기(120)의 실행 결과를 웹으로부터 XML, JSON 등의 형태로 전달받는다. 여기서, 상기 실행결과는 매쉬업 서비스의 구성에 따라서 서비스의 개수, 서비스의 순서 등의 정보에 따라 여러번 반복되어 제공된다.
이와 같은 실행결과들을 제공받은 상기 매쉬업 결과 취합기(122)는 해당 단위 또는 매쉬업 서비스에 명세된 내용을 기반으로 상기 실행결과들을 분석하여 취합한다. 즉, 실행 결과들은 단위 서비스 등록시 정의된 출력 파라미터, 즉 hasOutput 으로 정의된 파라미터를 이용하여 해당 출력 파라미터에 대한 값이 실행결과에서 분석된다. 상기 실행결과가 취합되면, 해당 내용은 제2매쉬업 표준 데이터 생성기(124)로 전달된다.
상기 제2매쉬업 표준 데이터 생성기(124)는 상기 매쉬업 실행 결과를 입력받아 본 발명의 서비스 매쉬업 시스템(100)에서 공통의 표준으로 정한 JSON 형식으로 데이터 형식을 변경하여 서비스 실행결과로서 출력함과 아울러 그 서비스에 대응되게 서비스 저장소(112)에 저장한다.
그리고 웹 서비스 호출(126)는 상기 SPARQL 서비스 실행기(116)와 Open API 서비스 실행기(118)와 RSS Feed 서비스 실행기(120)와 웹 사이의 인터페이스를 담당한다.
<서비스 실행결과 다운로더(126)>
상기 서비스 실행결과 다운로더(126)는 사용자 단말기를 통한 사용자의 요청에 따라 상기 서비스 실행부(104)에 의해 실행된 서비스에 대한 실행결과를 서비스 저장소(112)로부터 리드하여 사용자 단말기로 다운로드한다.
이와 같이 본 발명은 매쉬업 수행결과는 화면을 통해서 확인이 가능하며 또한 표준화된 JSON 데이터 형식으로 이용자가 다른 목적으로 재사용할 수 있도록 다운로드 기능을 제공한다.
이를 이용하여 이용자가 직접 매쉬업 결과 데이터 셋에 디자인만 입힘으로써 쉽게 애플리케이션을 다양한 기기(웹, 모바일 등)에서 생성할 수 있다.
<웹 API 발생부(130)>
상기 웹 API 발행부(130)는 서비스 매쉬업 시스템(100)을 통해 매쉬업된 서비스를 동적으로 애플리케이션화하기 위해, 매쉬업 서비스를 API로 발행한다. 이로서 사용자는 사용자 단말기를 통해 웹에서 입력 파라미터만을 추가하여 URL 형태로 호출하면, 서비스를 실시간 실행하여 표준 형식인 JSON형식으로 실행결과를 제공받을 수 있게 된다.
<서비스 클론을 이용한 서비스 매쉬업 과정>
상기한 본 발명에 따르는 서비스 클론은 서비스 매쉬업시에 생성되며, 상기 매쉬업 대상이 되는 단위 서비스들은 사용자에 의해 미리 선택되며, 상기 단위 서비스들은 실행 순서가 존재하며 일부 단위 서비스의 경우에는 이전 단위 서비스의 실행 결과를 입력으로 제공받을 수 있으며, 둘 이상의 단위 서비스가 동시에 실행되도록 선택될 수도 있다.
상기한 서비스 등록기(108)는 상기한 바와 같은 사용자에 의해 선택된 단위 서비스들에 대한 서비스 클론을 생성함과 아울러 상기 서비스 클론을 상기 실행순서에 따라 연결하여 매쉬업 서비스를 생성한다. 특히 상기 서비스 클론은 도 3에 도시한 바와 같이 타이틀(dc:title)과 파라메터 플로우(paramflow) 등의 일부정보는 독립적으로 부여되고 소스(source)는 원래의 단위 서비스가 연결된다.
이러한 서비스 등록기(108)의 동작을 도 5를 참조하여 설명한다.
상기 서비스 등록기(108)는 매쉬업 서비스의 발행이 요청되면, 상기 매쉬업 서비스에 대한 인스턴스를 생성한다(200단계).
이후 상기 서비스 등록기(108)는 첫번째 서비스 클론의 인스턴스를 생성한다(202단계). 즉 매쉬업 서비스 인스턴스의 첫번째 항목으로 첫번째 서비스 클론을 연결함과 아울러 서비스 클론의 소스 항목은 원래의 단위 서비스 또는 매쉬업 서비스의 연결한다.
이후 서비스 등록기(108)는 인스턴스를 생성한 서비스 클론의 다음 항목의 서비스가 존재하는지를 체크한다(204단계).
상기 인스턴스를 생성한 서비스 클론의 다음 항목이 존재하면, 상기 서비스 등록기(108)는 다시 다음 항목으로 두개 이상의 서비스가 선택되었는지를 체크한다(206단계).
상기 인스턴스를 생성한 서비스 클론의 다음 항목이 두개 이상의 서비스로 선택되어 있다면, 상기 두개 이상의 다음 항목의 서비스들 각각에 대한 등록이 완료될 때까지 상기 서비스 등록기(108)는 다음 서비스 클론의 인스턴스를 생성한다(208단계). 즉, 매쉬업 서비스 인스턴스의 이전 항목에 대한 다음 항목으로서 다음 서비스 클론을 연결함과 아울러 소스 항목에 대해서는 원래의 단위 서비스 또는 매쉬업 서비스를 연결하고, 파라메터 플로우를 구성하여 입력 파라메터와 값을 구성하는 과정을 다음 서비스 클론의 수만큼 반복 수행한다.
상기한 바와 달리 상기 다음 항목의 서비스가 하나이면, 상기 서비스 등록기(108)는 다음 서비스 클론의 인스턴스를 생성한다(212단계). 즉, 매쉬업 서비스 인스턴스의 이전 항목에 대한 다음 항목으로서 다음 서비스 클론을 연결함과 아울러 소스 항목에 대해서는 원래의 단위 서비스 또는 매쉬업 서비스를 연결하고, 파라메터 플로우를 구성하여 입력 파라메터와 값을 구성한 후에 상기 204 단계로 복귀한다.
그리고 더 이상의 다음 항목의 서비스가 존재하지 않으면(204), 상기 서비스 등록기(108)는 상기 매쉬업 서비스의 생성과정을 완료한다.
<서비스 실행 절차>
이제 본 발명의 바람직한 실시예에 따른 서비스 실행절차를 도 6을 참조하여 좀더 상세히 설명한다.
상기 서비스 실행부(104)는 사용자로부터 단일 서비스 또는 매쉬업 서비스 중 어느 하나에 대해 실행이 요청되면, 그 실행 요청된 서비스에 대한 RDF 데이터를 로딩한다(300단계).
또한 상기 서비스 실행부(104)는 RDF 데이터를 실행 가능한 상태로 변환하고, 그 서비스의 종류에 부합되는 서비스 실행기로 해당 서비스의 실행을 요청한다(302단계).
상기 서비스 실행부(104)에 의해 서비스 실행이 요청된 SPARQL 서비스 실행기(116) 또는 Open API 서비스 실행기(118) 또는 RSS Feed 서비스 실행기(120)는, 해당 서비스를 실행하며, 이 서비스의 실행은 다음 서비스가 존재하지 않을 때까지 반복하여 수행된다(312단계). 특히 다음 서비스가 존재하는 경우에 상기 서비스 실행부(104)는 선택적으로 현재의 서비스 실행결과를 다음 서비스에 대한 입력 파라메터로 제공함과 다음 서비스의 실행을 요청한다(316단계).
상기한 과정을 거쳐 서비스의 실행이 모두 완료되면, 매쉬업 결과 취합기(122)는 상기 매쉬업 결과들을 취합하여 제2매쉬업 표준 데이터 생성기(124)로 전달한다(312단계).
상기 제2매쉬업 표준 데이터 생성기(124)는 상기 매쉬업 결과에 대한 취합물을 제공받아 미리 정해둔 표준 포맷, JSON으로 변환하여 사용자 단말기를 통해 사용자에게 반환함과 아울러 서비스 저장소(112)에 저장한다.
100 : 서비스 매쉬업 시스템
102 : 서비스 등록부
104 : 서비스 실행부
112 : 서비스 저장소
128 : 실행결과 다운로더
120 : 웹 API 발행부

Claims (14)

  1. 서비스 매쉬업 시스템에 있어서,
    서비스 저장소와,
    서비스 등록요청정보가 수신되면, 그 서비스 등록요청정보로부터 서비스 등록을 위해 유효한 데이터를 획득하는 데이터 파서;
    상기 데이터 파서로부터의 데이터를 미리 정해진 표준 데이터 형태로 변환하는 매쉬업 표준 데이터 생성기;
    상기 서비스 등록요청정보에 따른 서비스가 단일 서비스이면 상기 표준 데이터 형태로 변환된 데이터를 이용하여 단일 서비스를 발행하여 상기 서비스 저장소에 저장하고,
    상기 서비스 등록요청에 따른 서비스가 매쉬업 서비스이면, 그 매쉬업 서비스에 포함되는 단일 서비스들 또는 매쉬업 서비스들에 대한 서비스 클론들을 생성하고, 그 서비스 클론들을 실행순서정보에 따라 연결하여 서비스 매쉬업을 수행하여 매쉬업 서비스를 발행하여 상기 서비스 저장소에 저장하는 서비스 등록기;
    를 더 구비함을 특징으로 하는 서비스 매쉬업 시스템.
  2. 제1항에 있어서,
    어느 한 단일 서비스 또는 매쉬업 서비스에 대한 서비스 클론은 소스에 해당 단일 서비스 또는 매쉬업 서비스의 연결정보가 기입됨을 특징으로 하는 서비스 매쉬업 시스템.
  3. 제1항에 있어서,
    다양한 종류의 서비스를 각각 실행하는 다수의 서비스 실행부;
    단위 서비스 또는 매쉬업 서비스를 구성하는 각 항목을 분석하고 그 서비스의 종류에 부합되는 서비스 실행기로 해당 서비스의 실행을 요청하는 서비스 실행부;
    상기 서비스의 실행결과를 취합하는 서비스 결과 취합부;
    상기 서비스 결과 취합부에 의해 취합된 서비스의 실행결과를 미리 정해둔 표준 데이터 형식으로 변환하여 출력하는 매쉬업 표준 데이터 생성기;를 더 구비함을 특징으로 하는 서비스 매쉬업 시스템.
  4. 제1항 또는 제3항에 있어서,
    상기 미리 정해둔 표준 데이터 형식은 JSON 형식임을 특징으로 하는 서비스 매쉬업 시스템.
  5. 제1항 또는 제3항에 있어서,
    상기 서비스의 종류는 SPARQL 서비스, Open API 서비스, RSS Feed 서비스임을 특징으로 하는 서비스 매쉬업 시스템.
  6. 제3항에 있어서,
    상기 매쉬업 표준 데이터 생성기는 상기 서비스의 실행결과를 상기 서비스 저장소에 저장하며,
    상기 서비스 저장소에 저장된 상기 서비스의 실행결과를 외부로 다운로드하는 다운로더;를 더 구비함을 특징으로 하는 서비스 매쉬업 시스템.
  7. 제1항에 있어서,
    상기 매쉬업 서비스를 API로 발행하는 웹 API 발행부;를 더 구비함을 특징으로 하는 서비스 매쉬업 시스템.
  8. 서비스 매쉬업 방법에 있어서,
    서비스 등록요청정보가 수신되면, 그 서비스 등록요청정보로부터 서비스 등록을 위해 유효한 데이터를 획득하는 단계;
    상기 유효한 데이터를 미리 정해진 표준 데이터 형태로 변환하는 단계;
    상기 서비스 등록요청정보에 따른 서비스가 단일 서비스이면 상기 표준 데이터 형태로 변환된 데이터를 이용하여 단일 서비스를 발행하여 서비스 저장소에 저장하고,
    상기 서비스 등록요청에 따른 서비스가 매쉬업 서비스이면, 그 매쉬업 서비스에 포함되는 단일 서비스들 또는 매쉬업 서비스들에 대한 서비스 클론들을 생성하고, 그 서비스 클론들을 실행순서정보에 따라 연결하여 서비스 매쉬업을 수행하여 매쉬업 서비스를 발행하여 상기 서비스 저장소에 저장하는 단계;
    를 더 구비함을 특징으로 하는 서비스 매쉬업 방법.
  9. 제8항에 있어서,
    어느 한 단일 서비스 또는 매쉬업 서비스에 대한 서비스 클론은 소스에 해당 단일 서비스 또는 매쉬업 서비스의 연결정보가 기입됨을 특징으로 하는 서비스 매쉬업 방법.
  10. 제8항에 있어서,
    실행요청된 단위 서비스 또는 매쉬업 서비스를 구성하는 각 항목을 분석하고 그 서비스의 종류에 부합되는 서비스 실행기로 해당 서비스의 실행을 요청하여 실행하는 단계;
    상기 서비스의 실행결과를 취합하고, 그 취합된 서비스의 실행결과를 미리 정해둔 표준 데이터 형식으로 변환하여 출력하는 단계;를 더 구비함을 특징으로 하는 서비스 매쉬업 방법.
  11. 제8항 또는 제10항에 있어서,
    상기 미리 정해둔 표준 데이터 형식은 JSON 형식임을 특징으로 하는 서비스 매쉬업 방법.
  12. 제8항 또는 제10항에 있어서,
    상기 서비스의 종류는 SPARQL 서비스, Open API 서비스, RSS Feed 서비스임을 특징으로 하는 서비스 매쉬업 방법.
  13. 제10항에 있어서,
    상기 서비스의 실행결과를 상기 서비스 저장소에 저장하는 단계;
    상기 서비스 저장소에 저장된 상기 서비스의 실행결과를 외부로 다운로드하는 단계;를 더 구비함을 특징으로 하는 서비스 매쉬업 방법.
  14. 제8항에 있어서,
    상기 매쉬업 서비스를 API로 발행하는 단계;를 더 구비함을 특징으로 하는 서비스 매쉬업 방법.
KR1020120024346A 2012-03-09 2012-03-09 링크드 데이터와 오픈 api의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법 KR20130103646A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120024346A KR20130103646A (ko) 2012-03-09 2012-03-09 링크드 데이터와 오픈 api의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120024346A KR20130103646A (ko) 2012-03-09 2012-03-09 링크드 데이터와 오픈 api의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20130103646A true KR20130103646A (ko) 2013-09-24

Family

ID=49452765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120024346A KR20130103646A (ko) 2012-03-09 2012-03-09 링크드 데이터와 오픈 api의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20130103646A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020169173A1 (en) * 2019-02-18 2020-08-27 Huawei Technologies Co., Ltd. Entities for providing an external service to a network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020169173A1 (en) * 2019-02-18 2020-08-27 Huawei Technologies Co., Ltd. Entities for providing an external service to a network
EP4300920A3 (en) * 2019-02-18 2024-03-20 Huawei Technologies Co., Ltd. Entities for providing an external service to a network
US11963124B2 (en) 2019-02-18 2024-04-16 Huawei Technologies Co., Ltd. Entities for providing an external service to a network

Similar Documents

Publication Publication Date Title
Platenius-Mohr et al. File-and API-based interoperability of digital twins by model transformation: An IIoT case study using asset administration shell
Brandt et al. Kadi4Mat: A research data infrastructure for materials science
EP2827244A1 (en) Extension mechanism for scripting language compiler
CN104484216A (zh) 服务接口文档和在线测试工具生成方法、装置
US8645913B2 (en) Web-service based generation of business objects
CN103744891A (zh) 一种数据查询方法和系统
Vasiliev SOA and WS-BPEL
Paredes‐Valverde et al. A systematic review of tools, languages, and methodologies for mashup development
Pessoa et al. Enterprise interoperability with SOA: a survey of service composition approaches
Kurtz et al. ASP. NET Web API 2: Building a REST Service from Start to Finish
WO2012100750A1 (en) Business mashup
CN103164221B (zh) 服务建模装置和服务建模方法
Spillner et al. Ad-hoc usage of web services with dynvoker
Daniel et al. Mashups
CN102811257A (zh) 一种网络服务自动发布和组合方法
Nandigam et al. Semantic web services
Zhou et al. A survey on semantic web services and a case study
KR20130103646A (ko) 링크드 데이터와 오픈 api의 매쉬업을 위한 서비스 매쉬업 시스템 및 방법
Lahoud et al. OCEAN: A semantic web service to extract knowledge in E-Groupwares
CN102546599A (zh) 一种实现不同协议数据等价互转的方法
Elfirdoussi et al. Discovery and Visual Interactive WS Engine based on popularity: Architecture and Implementation
KR20120078033A (ko) 링크드 데이터 환경에서의 서비스 매쉬업 방법 및 시스템
Maarouf et al. XML integrated environment for service-oriented data management
Pahl et al. Data integration in mediated service compositions
McCorkle et al. Using the Semantic Web technologies in virtual engineering tools to create extensible interfaces

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application