KR20110070724A - 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법 - Google Patents

오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR20110070724A
KR20110070724A KR1020100040122A KR20100040122A KR20110070724A KR 20110070724 A KR20110070724 A KR 20110070724A KR 1020100040122 A KR1020100040122 A KR 1020100040122A KR 20100040122 A KR20100040122 A KR 20100040122A KR 20110070724 A KR20110070724 A KR 20110070724A
Authority
KR
South Korea
Prior art keywords
search
metadata
mashup
open api
service
Prior art date
Application number
KR1020100040122A
Other languages
English (en)
Other versions
KR101331854B1 (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 US12/970,310 priority Critical patent/US20110153590A1/en
Publication of KR20110070724A publication Critical patent/KR20110070724A/ko
Application granted granted Critical
Publication of KR101331854B1 publication Critical patent/KR101331854B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30

Landscapes

  • Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

본 발명의 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법은, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치가, 웹 서비스와 오픈 API의 메타데이터를 통합 스키마를 지켜 저장하는 단계; 사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하는 단계; 검색된 웹 서비스 또는 오픈 API의 메타데이터와 매쉬업 블록의 메타데이터의 매핑관계를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드 생성에 필요한 메타데이터를 추출하는 단계; 및 상기 추출된 메타데이터를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드를 생성하는 단계를 포함한다.

Description

오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법{Apparatus and method for search Open API and generation mashup block skeleton code}
본 발명은 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법에 관한 것이다. 보다 상세하게는, 통합 스키마를 이용하여 웹 서비스와 오픈 API를 하나의 검색 시스템에서 통합 검색할 수 있게 하고, 웹 서비스 및 오픈 API에 대한 통합 스키마와 매쉬업 블록의 메타데이터 스키마의 유사성을 이용하여 해당 매쉬업 블록의 메타데이터의 기반코드를 생성할 수 있게 하는 방법 및 그 장치에 관한 것이다.
본 발명은 국토해양부의 첨단도시개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:07국토정보C05, 과제명:u-GIS 핵심 융,복합 기술개발].
인터넷상의 서비스의 확대와 더불어 웹 서비스들(Web services)을 관리해야 할 필요성이 증가하고 있다. 웹 서비스들이란 소프트웨어 서비스들이다. 즉, 소프트웨어 모듈에 의해 제공되는 서비스로서, 예를 들면, 영문 텍스트 파일을 중국어 텍스트 파일로 번역해주는 번역 서비스 등이 있을 수 있다.
가장 널리 알려진 웹 서비스 관리 방식으로는 UDDI 기반 레지스트리(Universal Description, Discovery and Integration based registry)가 있다. UDDI는 웹 서비스들에 대한 정보를 공개하고 그 서비스들을 검색하기 위한 표준(standard)이다. 이 표준은 웹 서비스들과 같은 정보의 서술(descriptions) 및 분류(classifications)를 위한 정보 프레임워크(framework)를 이용하고, 웹 서비스들을 위한 인터페이스들을 이용한다.
그러나, UDDI 기반의 웹 서비스들은 몇 가지의 문제점들이 있다.
첫째, UDDI 기반의 접근 방식은 UDDI기반 데이터베이스의 이용이 필수적이다. 이로 인해 증가된 비용은 많은 영세 서비스 공급자들로 하여금 UDDI기반 레지스트리를 이용하는 것을 꺼리게 한다.
더 나아가 UDDI기반의 웹 서비스들은 범용 검색 엔진들(general purpose search engines)(예컨대, Google)에 의해서는 검출되지 않는다. 왜냐하면 서비스를 공개하기 위해서는 서비스 공급자들은 서비스를 UDDI기반 레지스트리에 등록하여야 하고, 그러한 서비스를 검색하기 위해 사용자는 레지스트리의 UDDI 데이터베이스 자체를 검색해야 하기 때문이다. 비록 이러한 검색을 위해 웹 기반의 인터페이스가 제공되기는 하지만 범용 검색 엔진은 이러한 UDDI 데이터베이스에 직접 접근하거나 검색할 수 없다.
더 나아가 UDDI는 웹 서비스에 대한 인터페이스를 서술하기 위해서 웹 서비스 서술 언어(WSDL:Web Services Description Language)를 사용하는데, 이것은 사용자가 서비스들을 검색하고 선택하는 일을 더욱 어렵게 만든다. 왜냐하면 사용자는 서비스를 이용할 필요가 있을 때 일반적으로 서비스의 목적 및/또는 기능을 서술함으로써 서비스를 찾으려고 시도하기 때문이다.
그러나, WDSL를 이용한 서비스 공개는 일반적으로 서비스 인보케이션 인터페이스(service invocation interface)들만을 정의할 뿐 서비스의 목적이나 기능을 서술하지 않기 때문에 사용자의 이용을 어렵게 만든다.
게다가, UDDI를 이용하여 서비스를 선택할 때 사용자는 종종 비용, 안정성, 고객 지원(support), 성능(performance), 및 자원 소비(resource consumption)등의 다른 요인들을 고려해야만 한다. 비록 UDDI 기반 웹 서비스 레지스트리들이 그러한 정보의 일부를 포함하기는 하지만, 그들을 액세스하기가 쉽지 않아 이러한 서비스들의 이용 및 채택(usage and acceptance)을 더욱 방해한다. 더욱이 UDDI 기반 레지스트리는 서비스 공급자에게 서비스의 공개 및 업로드를 위한 메커니즘만 제공할 뿐, 사용자가 서비스에 대한 피드백, 평가, 및 등급결정을 할 수 있도록 하는 수단을 제공하지 못한다.
결과적으로 종래의 서비스들은 종종 사용자들을 실망시키고, UDDI 데이터베이스로부터 유용한 서비스를 선택하는데 상당한 시간과 노력을 필요로 한다.
근래에는 범용 검색 엔진에 의한 WSDL 기반 웹 서비스 검색이 가능하도록 하기 위해 RSS(Really Simple Syndicate, 콘텐트 배포에 이용됨)를 이용한 시도들이 있어 왔다. 이러한 시도들에서는 서비스 WSDL 파일의 URL이 RSS 피드(feed)의 하나의 항목으로 내장되며, 이것은 범용 검색 엔진들에 의해 검출될 수 있다. 그러나, 이러한 RSS 기반 웹 서비스 검색은 사용자로 하여금 액세스 장치상에 RSS 리더기 및 수집기를 구비할 것을 요구하며, RSS 피드에 가입할 것을 요구한다. 이에 의하면 피드 내에 변경이 생기면 그 변경 사항은 사용자 장치로 공급된다. 비록 사용자가 RSS 기반 웹 서비스 검색에 의해 제공되는 서비스에 대해 피드백(feedback)을 할 수는 있지만, 이러한 접근 방식에 의하면 피드백을 쉽게 구성할 수 없을뿐더러, 원하는 서비스를 선택하는데 있어서 용이한 액세스가 가능하도록 사용자의 피드백과 대응하는 서비스를 연관시키지 것이 용이하지 못하다. 거기다가 이러한 메커니즘들 아래에서는 사용자는 서비스의 목적 및 기능을 서술할 수 없다.
따라서, 상기한 문제점들을 해결하기 위한 검색 가능한 웹 서비스들을 위한 방법 및 시스템의 개발이 요구된다.
특히, 본 발명에서와 같이 웹 서비스와 오픈 API(Open Application Programming Interface)에 대하여 동일한 기술(description) 형식을 이용한 통합 검색 기술은 미비하다. 그리고, 웹 서비스와 오픈 API를 이용한 매쉬업 개발은 종래에 다양한 기술들이 있으나, 웹 서비스와 오픈 API의 검색 결과를 바로 매쉬업에 활용할 수 있도록 하는 본 발명에서와 같은 기반코드 생성 기술 등 또한 미비하다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로서,
본 발명은 통합 스키마를 이용하여 웹 서비스와 오픈 API를 하나의 검색 시스템에서 통합 검색할 수 있는 검색 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 웹 서비스 및 오픈 API에 대한 통합 스키마와 매쉬업 블록의 메타데이터 스키마의 유사성을 이용하여 기반코드를 자동 생성할 수 있도록 하는 블록기반 코드 생성 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 WSDL를 이용한 웹 서비스 및 오픈 API에 대한 통합 검색 결과를 바로 매쉬업 개발에 활용할 수 있도록 하는 블록기반 코드 생성 방법 및 장치를 제공하는 것이다.
본 발명의 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법은, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치가, 웹 서비스와 오픈 API의 메타데이터를 통합 스키마를 지켜 저장하는 단계; 사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하는 단계; 검색된 웹 서비스 또는 오픈 API의 메타데이터와 매쉬업 블록의 메타데이터의 매핑관계를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드 생성에 필요한 메타데이터를 추출하는 단계; 및 상기 추출된 메타데이터를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드를 생성하는 단계를 포함한다.
특히, 상기 생성된 메타데이터의 기반코드를 이용하여 상기 매쉬업 블록의 소스코드의 기반코드를 생성하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 통합 스키마는, 상기 웹 서비스의 기술(description) 언어에 포함되어 있지 않은 오픈 API들에 대한 기술 내용이 기록된 새로운 스키마 엘리먼트가 추가되어 있거나, 기존 스키마 엘리먼트가 수정되어 있는 스키마인 것을 특징으로 한다.
또한, 상기 매쉬업 블록은, 제공 가능한 서비스, 오퍼레이션, 입력, 출력, 속성, 및 이벤트 중 하나 이상을 기술하는 메타데이터와, 호출되어 실행되는 프로그램 로직을 포함하는 소스코드로 저장 및 관리되는 것을 특징으로 한다.
또한, 상기 사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하는 단계는, 상기 통합 스키마에 따라 저장된 웹 서비스와 오픈 API의 메타데이터를 이용하여, 특정 범위 검색, 가중치 부여 검색, 이전 조합 가능 서비스 검색, 다음 조합 가능 서비스 검색, 교차 조합 가능 서비스 검색 중 하나 이상의 검색을 수행하는 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명의 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치는, 통합 스키마를 지켜 작성된 웹 서비스와 오픈 API의 메타데이터를 저장하는 서비스 저장부; 사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하고, 검색된 웹 서비스 또는 오픈 API의 메타데이터와 매쉬업 블록의 메타데이터의 매핑관계를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드 생성에 필요한 메타데이터를 추출하는 검색 처리부; 및 상기 추출된 메타데이터를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드를 생성하는 기반코드 생성부를 구비한다.
특히, 상기 기반코드 생성부는, 상기 생성된 메타데이터의 기반코드를 이용하여 상기 매쉬업 블록의 소스코드의 기반코드를 생성하는 것을 특징으로 한다.
또한, 상기 통합 스키마는, 상기 웹 서비스의 기술(description) 언어에 포함되어 있지 않은 오픈 API들에 대한 기술 내용이 기록된 새로운 스키마 엘리먼트가 추가되어 있거나, 기존 스키마 엘리먼트가 수정되어 있는 스키마인 것을 특징으로 한다.
또한, 상기 검색 처리부는, 상기 통합 스키마에 따라 저장된 웹 서비스와 오픈 API의 메타데이터를 이용하여, 특정 범위 검색, 가중치 부여 검색, 이전 조합 가능 서비스 검색, 다음 조합 가능 서비스 검색, 교차 조합 가능 서비스 검색 중 하나 이상의 검색을 수행하는 것을 특징으로 한다.
또한, 상기 매쉬업 블록을, 제공 가능한 서비스, 오퍼레이션, 입력, 출력, 속성, 및 이벤트 중 하나 이상을 기술하는 메타데이터와, 호출되어 실행되는 프로그램 로직을 포함하는 소스코드로 저장 및 관리하는 매쉬업 관리부를 더 구비하는 것을 특징으로 한다.
본 발명에 따르면 다음과 같은 효과를 기대할 수 있다.
하나의 검색 시스템에서 웹 서비스 및 여러 형식의 오픈 API를 함께 통합 검색할 수 있도록 해줌으로써, 매쉬업 가능한 자원(웹 서비스 및 오픈 API)을 확장할 수 있게 하고, 이를 통해 매쉬업 개발의 범위 및 활용성을 증대시킬 수 있게 된다.
또한, 웹 서비스 및 오픈 API 검색 결과로부터 매쉬업 블록의 기반코드를 자동으로 생성하여 웹 서비스 및 오픈 API 검색 결과가 바로 매쉬업 개발에 활용될 수 있게 해줌으로써, 매쉬업 개발에 소요되는 시간과 비용을 크게 감소시킬 수 있는 효과가 있다.
도 1은 종래 오픈 API 기반의 매쉬업 서비스의 일 예를 도시한 도면이다.
도 2는 도 1과 같은 형태의 매쉬업을 저작하기 위한 기존의 방법을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치의 구성을 설명하기 위한 도면이다.
도 4는 부정형의 웹 페이지(HTML) 형식의 기술 내용을 나타낸 일 예이다.
도 5는 본 발명에서 새롭게 정의한 통합 스키마의 일 예를 나타내는 도면이다.
도 6은 가중치 부여 검색의 일 예를 나타내는 도면이다.
도 7은 이전 조합 가능 서비스 검색의 일 예를 나타내는 도면이다.
도 8은 이후 조합 가능 서비스 검색의 일 예를 나타내는 도면이다.
도 9는 교차 조합 가능 서비스 검색의 일 예를 나타내는 도면이다.
도 10은 매쉬업 블록에 대한 메타데이터의 일 예를 나타내는 도면이다.
도 11은 매쉬업 블록에 대한 소스코드의 일 예를 나타내는 도면이다.
도 12는 매쉬업 블록을 이용해 매쉬업 프로젝트를 저작하는 일 예를 나타내는 도면이다.
도 13은 본 발명에 따른 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법을 설명하기 위한 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
먼저, 매쉬업(Mashup)은 웹으로 제공하고 있는 정보와 서비스를 융합하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 것을 의미하며, 웹 2.0의 구성 요소로 주목을 받고 있다.
미국을 중심으로 다수의 매쉬업 사례가 등장하여, 범죄 통계 정보, 허리케인 정보, 주유소의 가격정보처럼 실용적인 것에서부터, 온천 정보, UFO 목격 정보, 특정위치의 현장정보처럼 취미나 엔터테인먼트에 관한 것까지 여러 종류가 있다. 그리고, 매쉬업의 원천이 되는 API의 개발에도 박차를 가하고 있다.
예를 들어, 구글 지도에 부동산 매물 정보를 결합한 서비스인 구글의 하우징 맵스 등이 있다. 이러한 서비스의 장점은 자료구축의 비용이나 개발비가 거의 들지 않는다는 장점이 있다. 구글이나 야후, 마이크로소프트 등이 제공하는 지도 서비스, 인터넷 서점 아마존이 제공하는 상품정보 등, 자사의 기술을 웹 서비스로서 API를 공개하는 케이스가 늘고 있으며, 이러한 오픈 API들의 기반기술에 독자적인 유저 인터페이스나 컨텐츠 등을 융합하여 새로운 서비스가 제공되고 있다.
매쉬업 서비스는 웹에서 두 가지 이상의 API를 합하여 새로운 API로 만드는 기술을 말한다. 매쉬업 서비스의 장점은 기존의 오픈 API를 활용함으로써 새로운 서비스의 구현을 위한 노력을 절감시키고, 기존의 오픈 API의 활용도를 더욱 극대화할 수 있다는 것이다.
도 1은 종래 오픈 API 기반의 매쉬업 서비스의 일 예를 도시한 도면이다.
도 1을 참조하면, 구글(Google)의 지도 서비스에 플리커(Flickr)의 사진 서비스가 합쳐진 매쉬업(110)이 도시되어 있다.
이 경우, 매쉬업(110)은 사용자가 지도의 특정 위치를 마우스로 클릭하면 관련 위치의 사진들이 지도상에 표시되도록 구성된다. 이러한 매쉬업(110)의 HTML 코드(120)가 도 1의 오른쪽에 도시되어 있다.
도 2는 도 1과 같은 형태의 매쉬업을 저작하기 위한 기존의 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 먼저 매쉬업 개발자는 어떤 형태의 매쉬업을 제작할 것인가를 기획하고(202), 그리고 나서 기획된 매쉬업을 제작하는데 사용될 오픈 API들(210, 216)을 검색 및 선정한다(204).
만일 매쉬업 개발자가 구글맵 오픈 API 및 플리커 오픈 API를 이용한 매쉬업 서비스를 제작하기로 결정했다고 가정하면, 매쉬업 개발자는 구글 맵 오픈 API 및 플리커 오픈 API를 분석하여 각각의 오픈 API 서비스들의 특성(예컨대, 통신 프로토콜, 데이터 포맷, 및 입출력 데이터의 형식 등)을 파악한다(206). 오픈 API 서비스 제공자는 사용자 계좌 정보(212,218) 또는 사용자 인증 키(214)를 생성하여 개발자에게 제공한다.
매쉬업 개발자는 오픈 API를 확보하고, 오픈 API 서비스 제공자들이 제공한 매뉴얼을 참고하여 매쉬업 함수를 구현하며, HTML 페이지의 레이아웃을 결정함으로써 최종 매쉬업 컨텐츠를 완성한다(208).
따라서, 매쉬업 개발자가 통신 프로토콜 및 데이터 포맷 변환(220)과 같은 매쉬업 구현과 관련된 부분을 모두 담당해야 한다는 문제점이 있다.
특히, 오픈 API 서비스를 제공하는 방식이 오픈 API 서비스 제공자마다 다르기 때문에, 개발자는 다양한 오픈 API 서비스에 대한 분석 및 관련 기술을 먼저 습득해야 하며, 매쉬업이 개발자의 능력에 의존하게 되는 문제점이 있다.
또한, 매쉬업을 구성하는 오픈 API의 관련 코드 또는 스크립트가 개발자에 의해 임의로 제작되므로, 매쉬업을 구성하는 오픈 API를 갱신하거나 기존의 매쉬업에 새로운 오픈 API를 추가하기 어렵다는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로, 검색된 웹 서비스 및 오픈 API 통합 검색 결과를 매쉬업 개발에 활용할 수 있도록, 웹 서비스 및 오픈 API에 대한 스키마와 매쉬업 블록 스키마의 유사성을 이용하여 기반코드(skeleton code)를 자동 생성할 수 있도록 하는 방법을 제공한다.
이하에서는 도면을 참조하여, 본 발명에 따른 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법 및 장치를 상세하게 설명하기로 한다.
먼저 본 발명은, 기존의 SOAP 형식 웹 서비스의 기술 형식인 WSDL을 새로운 통합 스키마로 변경한다. 동시에 여러 사이트(예컨대, 구글, 야후 등)에서 서비스되고 있는 REST, Javascript, RSS/ATOM 등과 같은 여러 형식의 오픈 API들에 대한 도 4와 같은 부정형의 웹 페이지(HTML) 형식의 기술(description) 내용들로부터 여러 형식, 여러 사이트의 오픈 API들에 대한 통합 스키마를 정의한다. 여기서, 웹 서비스 기술 형식인 WSDL을 새로운 통합 스키마로 변경하는 과정은, 웹 서비스의 WSDL에 포함되어 있지 않은 여러 형식의 오픈 API들에 대한 기술 내용이 기록된 새로운 스키마 엘리먼트를 추가하거나, 기존 스키마 엘리먼트가 수정하는 과정을 포함한다.
즉, 본 발명에서는 웹 서비스와 오픈 API의 스키마를 하나의 통합된 스키마로 정의하여 줌으로써, 이후 하나의 검색 시스템에서 웹 서비스 및 오픈 API를 모두 검색할 수 있도록 하는 방법을 제공한다. 도 5는 본 발명에 의해 새롭게 정의된 통합 스키마의 일 예를 나타내는 도면이다. 본 발명은 웹 서비스의 스키마와 오픈 API의 스키마가, 제공자, 서비스 분류, 개별 서비스, 오퍼레이션, 입력, 및 출력 등을 정의하는 형식이 상당 부분 유사하다는 점에 기반하여 고안되었다.
도 3은 본 발명에 따른 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치의 구성을 설명하기 위한 도면이다.
도 3을 참조하면, 본 발명에 따른 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치(300)는 서비스 저장부(330), 검색 처리부(340), 기반코드 생성부(350), 및 매쉬업 블록 관리부(320)를 구비한다.
서비스 저장부(330)는 통합 스키마를 지켜 작성된 웹 서비스와 오픈 API의 메타데이터를 저장 및 관리한다. 여기서 웹 서비스와 오픈 API에 대한 통합 스키마는 제공자, 서비스 분류, 개별 서비스, 오퍼레이션, 입력, 및 출력 등을 정의하는 형식 등의 유사성에 기반하여 정의될 수 있다. 예컨대, 도 5와 같이 정의될 수 있으며, 이렇게 정의된 통합 스키마는 매쉬업의 대상이 되는 매쉬업 블록의 메타데이터의 스키마와 상당 부분 유사하다. 그리고, 서비스 저장부(330)에 저장된 웹 서비스와 오픈 API의 메타데이터는, 이후 웹 서비스 또는 오픈 API 검색 시 활용된다.
매쉬업 블록 관리부(320)는 기반코드 생성부(350)를 통해 기반코드가 생성된 매쉬업 블록들을 저장 및 관리한다. 이때, 매쉬업 관리부(320)는 매쉬업 블록을 관리함에 있어, 매쉬업 블록이 제공 가능한 서비스, 오퍼레이션, 입력, 출력, 속성, 및 이벤트를 기술하는 메타데이터와, 호출되어 실행되는 프로그램 로직(logic)을 포함하는 소스코드로 저장 및 관리한다. 도 10 과 도 11은 각각 매쉬업 블록에 대한 메타데이터와 소스코드의 일 예를 나타낸다.
검색 처리부(340)는 사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하고, 검색된 웹 서비스 또는 오픈 API의 메타데이터와 매쉬업 대상이 되는 매쉬업 블록의 메타데이터의 매핑관계를 이용하여 해당 매쉬업 블록의 메타데이터의 기반코드 생성에 필요한 정보(메타데이터)를 서비스 저장부(330)로부터 추출한다.
검색 처리부(340)는 새롭게 정의된 통합 스키마를 이용하여 검색을 수행하기 때문에, 웹 서비스 및 오픈 API의 개별 서비스, 오퍼레이션, 입력 및 출력 등의 하위 단계들에 대한 검색이 가능하다.
따라서, 본 발명의 검색 처리부(340)는, 특정 범위 검색, 가중치 부여 검색(도 6 참조), 이전 조합 가능 서비스 검색(도 7참조), 다음 조합 가능 서비스 검색(도 8), 및 교차 조합 가능 서비스 검색(도 9참조) 등을 수행하는 것이 가능하다.
한편, 기반코드 생성부(350)는 검색 처리부(340)를 통해 추출된 정보를 이용하여 매쉬업 대상이 되는 매쉬업 블록의 메타데이터의 기반코드를 생성한다. 그리고, 기반코드 생성부(350)는 생성된 메타데이터의 기반코드를 이용하여 해당 매쉬업 블록의 소스코드의 기반코드를 생성한다.
상기한 바와 같은 본 발명의 장치에 의하면, 하나의 검색 시스템에서 웹 서비스 및 여러 형식의 오픈 API를 함께 통합 검색할 수 있도록 해줌으로써, 매쉬업 가능한 자원을 확장할 수 있게 하고, 이를 통해 매쉬업 개발의 범위 및 활용성을 증대시킬 수 있게 된다. 또한, 웹 서비스 및 오픈 API 검색 결과로부터 매쉬업 블록의 기반코드를 자동으로 생성하여 웹 서비스 및 오픈 API 검색 결과가 바로 매쉬업 개발에 활용될 수 있게 해줌으로써, 매쉬업 개발에 소요되는 시간과 비용을 크게 감소시킬 수 있게 된다.
도 13은 본 발명에 따른 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법을 설명하기 위한 흐름도이다.
도 13을 참조하면, 먼저, 기존의 SOAP 형식 웹 서비스의 기술 형식인 WSDL의 메타데이터를 통합 스키마를 지켜 저장한다(S300). 동시에, 여러 사이트(예컨대, 구글, 야후 등)에서 서비스되고 있는 REST, Javascript, RSS/ATOM 등과 같은 여러 형식의 오픈 API들에 대한 도 4와 같은 부정형의 웹 페이지(HTML) 형식의 기술(description) 내용들로부터, 여러 형식, 여러 사이트의 오픈 API들의 메타데이터를 통합 스키마를 지켜 저장한다(S310). 전술한 바와 같이 이때의 통합 스키마는, 웹 서비스의 기술(description) 언어에 포함되어 있지 않은 오픈 API들에 대한 기술 내용이 기록된 새로운 스키마 엘리먼트가 추가되어 있거나, 기존 스키마 엘리먼트가 수정되어 있는 스키마를 의미한다.
S300 단계 및 S310 단계를 통해, 통합 스키마를 지켜 작성된 웹 서비스 및 오픈 API의 메타데이터가 저장되고, 사용자로부터 검색 질의가 입력되면(S330), 사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하고, 검색된 웹 서비스 또는 오픈 API의 메타데이터와 매쉬업 블록의 메타데이터의 매핑관계를 이용하여 매쉬업 블록의 메타데이터의 기반코드 생성에 필요한 정보(메타데이터)를 서비스 저장부로부터 추출한다(S340,S350).
S350 단계를 통해 메타데이터가 추출되면, 검색 처리부는 추출된 정보를 기반코드 생성부에 전달하고, 기반코드 생성부는 추출된 정보를 이용하여 해당 매쉬업 블록의 메타데이터의 기반코드를 생성한다(S360).
나아가, 기반코드 생성부는 S310 단계를 통해 생성된 메타데이터의 기반코드를 이용하여 상기 매쉬업 블록의 소스코드의 기반코드를 생성한다(S370).
도 12는 전술한 과정을 통해 생성된 매쉬업 블록을 이용해 매쉬업 프로젝트를 저작하는 실시예를 나타내는 도면이다.
본 발명에 의하면, 기반 내용 위에 추가적인 블록 저작 및 매쉬업 프로젝트 저작을 통해 신규의 매쉬업 서비스를 개발할 수 있을 뿐만 아니라, 하나의 검색 시스템에서 웹 서비스 및 여러 형식의 오픈 API를 함께 통합 검색할 수 있게 된다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
1:UDDI 2:WSDL
10:웹 서비스 2:Open API
320:매쉬업 블록 관리부 330:서비스 저장부
340:검색 처리부 350:기반코드 생성부

Claims (10)

  1. 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치가,
    웹 서비스와 오픈 API의 메타데이터를 통합 스키마를 지켜 저장하는 단계;
    사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하는 단계;
    검색된 웹 서비스 또는 오픈 API의 메타데이터와 매쉬업 블록의 메타데이터의 매핑관계를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드 생성에 필요한 메타데이터를 추출하는 단계; 및
    상기 추출된 메타데이터를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드를 생성하는 단계를 포함하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법.
  2. 청구항 1에 있어서,
    상기 생성된 메타데이터의 기반코드를 이용하여 상기 매쉬업 블록의 소스코드의 기반코드를 생성하는 단계를 더 포함하는 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법.
  3. 청구항 1에 있어서,
    상기 통합 스키마는,
    상기 웹 서비스의 기술(description) 언어에 포함되어 있지 않은 오픈 API들에 대한 기술 내용이 기록된 새로운 스키마 엘리먼트가 추가되어 있거나, 기존 스키마 엘리먼트가 수정되어 있는 스키마인 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법.
  4. 청구항 1에 있어서,
    상기 매쉬업 블록은,
    제공 가능한 서비스, 오퍼레이션, 입력, 출력, 속성, 및 이벤트 중 하나 이상을 기술하는 메타데이터와, 호출되어 실행되는 프로그램 로직을 포함하는 소스코드로 저장 및 관리되는 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법.
  5. 청구항 1에 있어서,
    상기 사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하는 단계는,
    상기 통합 스키마에 따라 저장된 웹 서비스와 오픈 API의 메타데이터를 이용하여, 특정 범위 검색, 가중치 부여 검색, 이전 조합 가능 서비스 검색, 다음 조합 가능 서비스 검색, 교차 조합 가능 서비스 검색 중 하나 이상의 검색을 수행하는 단계를 포함하는 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 방법.
  6. 통합 스키마를 지켜 작성된 웹 서비스와 오픈 API의 메타데이터를 저장하는 서비스 저장부;
    사용자로부터 입력받은 검색 질의에 대응되는 웹 서비스 또는 오픈 API를 검색하고, 검색된 웹 서비스 또는 오픈 API의 메타데이터와 매쉬업 블록의 메타데이터의 매핑관계를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드 생성에 필요한 메타데이터를 추출하는 검색 처리부; 및
    상기 추출된 메타데이터를 이용하여 상기 매쉬업 블록의 메타데이터의 기반코드를 생성하는 기반코드 생성부를 구비하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치.
  7. 청구항 6에 있어서,
    상기 기반코드 생성부는,
    상기 생성된 메타데이터의 기반코드를 이용하여 상기 매쉬업 블록의 소스코드의 기반코드를 생성하는 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치.
  8. 청구항 6에 있어서,
    상기 통합 스키마는,
    상기 웹 서비스의 기술(description) 언어에 포함되어 있지 않은 오픈 API들에 대한 기술 내용이 기록된 새로운 스키마 엘리먼트가 추가되어 있거나, 기존 스키마 엘리먼트가 수정되어 있는 스키마인 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치.
  9. 청구항 6에 있어서,
    상기 검색 처리부는,
    상기 통합 스키마에 따라 저장된 웹 서비스와 오픈 API의 메타데이터를 이용하여, 특정 범위 검색, 가중치 부여 검색, 이전 조합 가능 서비스 검색, 다음 조합 가능 서비스 검색, 교차 조합 가능 서비스 검색 중 하나 이상의 검색을 수행하는 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치.
  10. 청구항 6에 있어서,
    상기 매쉬업 블록을, 제공 가능한 서비스, 오퍼레이션, 입력, 출력, 속성, 및 이벤트 중 하나 이상을 기술하는 메타데이터와, 호출되어 실행되는 프로그램 로직을 포함하는 소스코드로 저장 및 관리하는 매쉬업 관리부를 더 구비하는 것을 특징으로 하는, 오픈 API 통합 검색 및 매쉬업 블록 기반코드 생성 장치.
KR1020100040122A 2009-12-18 2010-04-29 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법 KR101331854B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/970,310 US20110153590A1 (en) 2009-12-18 2010-12-16 Apparatus and method for searching for open api and generating mashup block skeleton code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090127065 2009-12-18
KR20090127065 2009-12-18

Publications (2)

Publication Number Publication Date
KR20110070724A true KR20110070724A (ko) 2011-06-24
KR101331854B1 KR101331854B1 (ko) 2013-11-21

Family

ID=44402195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100040122A KR101331854B1 (ko) 2009-12-18 2010-04-29 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101331854B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348927B1 (ko) * 2012-10-16 2014-01-09 충남대학교산학협력단 WSUN을 위한 OpenAPI 어뎁터
US9329878B2 (en) 2014-01-27 2016-05-03 Electronics And Telecommunications Research Instit Apparatus and method for providing virtual API for mashup service
KR20160089644A (ko) * 2015-01-20 2016-07-28 (주)유미테크 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템
KR20170024778A (ko) * 2015-08-26 2017-03-08 주식회사 케이티 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법
WO2018110735A1 (ko) * 2016-12-12 2018-06-21 주식회사 와이즈넛 복수의 오픈 api로부터 통합적인 데이터 수집방법
KR20220095694A (ko) * 2020-12-30 2022-07-07 주식회사 디케이아이테크놀로지 오픈 에이피아이를 이용한 에이아이 모델 연계 서비스 시스템 및 서비스 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100700626B1 (ko) * 2006-11-02 2007-03-28 주식회사 네오엠텔 매쉬업 서비스 시스템
US20080222237A1 (en) 2007-03-06 2008-09-11 Microsoft Corporation Web services mashup component wrappers
KR101528853B1 (ko) * 2007-12-14 2015-07-01 삼성전자주식회사 Api 서비스 방법과 api 매쉬업 생성 방법, 장치 및기록매체

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348927B1 (ko) * 2012-10-16 2014-01-09 충남대학교산학협력단 WSUN을 위한 OpenAPI 어뎁터
US9329878B2 (en) 2014-01-27 2016-05-03 Electronics And Telecommunications Research Instit Apparatus and method for providing virtual API for mashup service
KR20160089644A (ko) * 2015-01-20 2016-07-28 (주)유미테크 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템
KR20170024778A (ko) * 2015-08-26 2017-03-08 주식회사 케이티 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법
WO2018110735A1 (ko) * 2016-12-12 2018-06-21 주식회사 와이즈넛 복수의 오픈 api로부터 통합적인 데이터 수집방법
KR20220095694A (ko) * 2020-12-30 2022-07-07 주식회사 디케이아이테크놀로지 오픈 에이피아이를 이용한 에이아이 모델 연계 서비스 시스템 및 서비스 방법

Also Published As

Publication number Publication date
KR101331854B1 (ko) 2013-11-21

Similar Documents

Publication Publication Date Title
Aguilera et al. Citizen-centric data services for smarter cities
US20110153590A1 (en) Apparatus and method for searching for open api and generating mashup block skeleton code
KR101175858B1 (ko) 검색 결과 페이지에 인터랙티브 요소를 포함하는 시스템 및 그 방법
US9495429B2 (en) Automatic synthesis and presentation of OLAP cubes from semantically enriched data sources
US20140089786A1 (en) Automated Processor For Web Content To Mobile-Optimized Content Transformation
US9535966B1 (en) Techniques for aggregating data from multiple sources
KR101331854B1 (ko) 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법
US20070288477A1 (en) Information processing apparatus, information processing system, information processing method, and computer program
CN105303501A (zh) 一种基于图片推荐的社区信息服务系统和方法
Tian et al. Enhance discovery and retrieval of geospatial data using SOA and Semantic Web technologies
KR101511267B1 (ko) 검색 가능한 웹 서비스들을 위한 방법 및 시스템
Lisowska Metadata for the open data portals
CN113568923A (zh) 数据库中数据的查询方法和装置、存储介质及电子设备
Zhao et al. Building a web-services based geospatial online analysis system
Zamula et al. MneMojno—Design and deployment of a Semantic web service and a mobile application
US10726076B2 (en) Information acquisition method, and information acquisition device
Kaewmarin et al. Semantic web service discovery and integration using service search crawler
KR100706490B1 (ko) 내용 및 형식 체계로 구현된 인터넷 정보를 제공하는 정보서비스 및 정보 검색 서비스 제공 방법 및 시스템
Tvarozek et al. Reinventing the web browser for the semantic web
Arnicans et al. Intelligent integration of information from semistructured web data sources on the basis of ontology and meta-models
Čeh et al. Geodata–are they Accessible and Useful?
US10819784B1 (en) API mediation for online services
Huang et al. Development of a tourism GIS based on Web2. 0
Telang et al. Information Integration across Heterogeneous Domains: Current Scenario, Challenges and the InfoMosaic Approach
KR20080053657A (ko) 위치정보를 이용한 웹/왑 컨텐츠의 자동 태깅 방법

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee