KR101511267B1 - 검색 가능한 웹 서비스들을 위한 방법 및 시스템 - Google Patents

검색 가능한 웹 서비스들을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101511267B1
KR101511267B1 KR20080027063A KR20080027063A KR101511267B1 KR 101511267 B1 KR101511267 B1 KR 101511267B1 KR 20080027063 A KR20080027063 A KR 20080027063A KR 20080027063 A KR20080027063 A KR 20080027063A KR 101511267 B1 KR101511267 B1 KR 101511267B1
Authority
KR
South Korea
Prior art keywords
service
information
web
definition file
module
Prior art date
Application number
KR20080027063A
Other languages
English (en)
Other versions
KR20080110460A (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 삼성전자주식회사
Publication of KR20080110460A publication Critical patent/KR20080110460A/ko
Application granted granted Critical
Publication of KR101511267B1 publication Critical patent/KR101511267B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Abstract

본 발명은 검색 가능한 웹서비스를 위한 방법 및 시스템에 관한 것이다.
본 발명에 의한 방법은 서비스 정보를 수집하는 단계, 수집된 정보를 이용하여 미리 정의된 포맷에 맞춰 서비스 정의 파일을 구성하는 단계, 그리고 하나 이상의 검색 엔진들로 하여금 서비스 정의 파일 내의 정보를 검색할 수 있도록 하는 단계를 포함한다.

Description

검색 가능한 웹 서비스들을 위한 방법 및 시스템{Method and system for searchable Web services}
본 발명은 컴퓨터 네트워크를 이용한 서비스 검색에 관한 것으로, 특히 웹 서비스들을 검색하는 것에 관한 것이다.
인터넷상의 서비스의 확대와 더불어 웹 서비스들(Web services)을 관리해야할 필요성이 증가하고 있다. 웹 서비스들이란 소프트웨어 서비스들이다. 즉 소프트웨어 모듈에 의해 제공되는 서비스로서, 예를 들면, 영문 텍스트 파일을 중국어 텍스트 파일로 번역해주는 번역 서비스 등이 있다.
가장 널리 알려진 웹 서비스 관리 방식으로는 UDDI 기반 레지스트리(Universal Description, Descovery and Integration based registry)가 있다. UDDI는 웹 서비스들에 대한 정보를 공개하고 그 서비스들을 검색하기 위한 표준(standard)의 하나이다. 이 표준은 웹 서비스들과 같은 정보의 서술(descriptions) 및 분류(classifications)를 위한 정보 프레임워크(framework)를 이용하고, 웹서비스들을 위한 인터페이스들을 이용한다.
그러나 UDDI 기반의 웹서비스들은 몇 가지의 문제점들을 가지고 있다.
첫번째, UDDI 기반의 접근 방식은 UDDI 기반 데이터베이스(database)의 이용이 필수적이다. 이로 인해 증가된 비용은 많은 영세 서비스 공급자들로 하여금 UDDI 기반 레지스트리를 이용하는 것을 꺼리게 한다. 더 나아가 UDDI 기반의 웹 서비스들은 범용 검색 엔진들(general purpose search engines)(예: Google)에 의해서는 검출되지 않는다. 왜냐하면 서비스를 공개하기 위해서는 서비스 공급자들은 서비스를 UDDI 기반 레지스트리에 등록하여야 하고, 그러한 서비스를 검색하기 위해 사용자는 레지스트리의 UDDI 데이터베이스 자체를 검색해야하기 때문이다. 비록 이러한 검색을 위해 웹 기반의 인터페이스가 제공되기는 하지만 범용 검색 엔진은 이러한 UDDI 데이터베이스를 직접 접근하거나 검색할 수 없다.
더 나아가 UDDI는 웹서비스에 대한 인터페이스를 서술하기 위해서 웹 서비스 서술 언어(Web Services Description Language; WSDL)을 사용하는데, 이 것은 사용자가 서비스들을 검색하고 선택하는 일을 더욱 어렵게 만든다. 왜냐하면 사용자는 서비스를 이용할 필요가 있을 때 사용자는 일반적으로 서비스의 목적 및/또는 기능을 서술함으로써 서비스를 찾으려고 시도하기 때문이다. 그러나 WDSL를 이용한 서비스 공개는 일반적으로 서비스 인보케이션 인터페이스(service invocation interface)들만을 정의할 뿐 서비스의 목적이나 기능을 서술하지 않기 때문에 사용자의 이용을 어렵게 만든다.
게다가, UDDI를 이용하여 서비스를 선택할 때 사용자는 종종 비용, 안정성, 고객 지원(support), 성능(performance) 및 자원 소비(resource consumption)등의 다른 요인들을 고려해야만 한다. 비록 UDDI 기반 웹 서비스 레지스트리들이 그러한 정보의 일부를 포함하기는 하지만 그들을 액세스하기가 쉽지 않아 이러한 서비스들을 이용/채택(usage/acceptance)을 더욱 방해한다. 더욱이 UDDI 기반 레지스트리는 서비스 공급자에게 서비스의 공개/업로드(publish/upload)를 위한 메커니즘(mechanism)만 제공할 뿐, 사용자가 서비스에 대한 피드백/평가/등급결정(feedback/evaluation/rating)을 할 수 있도록 하는 수단을 제공하지 못한다. 결과적으로 종래(out-of-date)의 서비스들은 종종 사용자들을 실망시키고, UDDI 데이터베이스로부터 유용한 서비스를 선택하는데 상당한 시간과 노력을 필요로 한다.
근래에는 범용 검색 엔진에 의한 WSDL 기반 웹 서비스 검색이 가능하도록 하기 위해 RSS(Really Simple Syndiacate; 콘텐트 배포에 이용됨)를 이용한 시도들이 있어 왔다. 이러한 시도들에서는 서비스 WSDL 파일의 URL이 RSS 피드(feed)의 하나의 항목으로 내장되며, 이것은 범용 검색 엔진들에 의해 검출될 수 있다. 그러나 이러한 RSS 기반 웹 서비스 검색은 사용자로 하여금 액세스 장치상에 RSS 리더기/수집기(reader/aggregator)를 구비할 것을 요구하며, RSS 피드에 가입할 것을 요구한다. 이에 의하면 피드 내에 변경이 생기면 그 변경 사항은 사용자 장치로 공급된다(pushed). 비록 사용자가 RSS 기반 웹서비스 검색에 의해 제공되는 서비스에 대해 피드백(feedback)을 할 수는 있지만, 이러한 접근 방식에 의하면 피드백을 쉽게 구성할 수 없을뿐더러, 원하는/의도한 서비스를 선택하는데 있어서 용이한 액세스가 가능하도록 사용자의 피드백과 대응하는 서비스을 연관시키지 것이 용이하지 못하다. 거기다가 이러한 메커니즘들 아래에서는 사용자는 서비스의 목적/기능을 서 술할 수 없다.
따라서 상기한 문제점들을 해결하기 위한 검색가능한 웹 서비스들을 위한 방법 및 시스템의 개발이 요구된다.
상기한 과제를 해결하기 위해 본 발명은 검색 가능한 웹 서비스들을 위한 방법 및 시스템을 제공하는데, 이 방법 및 시스템은 검색 엔진들을 이용하여 웹서비스들을 검색할 수 있도록 해준다.
본 발명에 의한 일 실시예로서 검색 가능한 웹 서비스들을 위한 프로세스는 서비스 정보를 수집하는 단계; 수집된 정보를 이용하여 미리 정의된 포맷에 맞춰 서비스 정의 파일을 구성하는 단계; 및 하나 이상의 검색 엔진들로 하여금 서비스 정의 파일 내의 정보를 검색할 수 있도록 하는 단계를 포함한다.
본 발명에 의한 다른 실시예에서는 본 발명은 검색 가능한 웹 서비스들 및 웹 서비스들을 평가하기 위한 관련 정보을 공개한다. 웹서비스들 및 관련 정보는 웹 서비스 공급자에 의해 제공될 수도 있고 기존의 웹 서비스 레지스트리로부터 추출될 수 있다.
상기 본 발명의 특징들은 웹 서비스의 공개 및 유지 비용을 낮추고, 사용자의 웹 서비스 피드백을 수집하는 것을 가능하게 해주고 서비스 선택에 있어 피드백 정보를 검색하는 것을 가능하도록 해준다. 기존의 RSS 기반 웹 서비스 검색과는 달 리, 본 발명에 의할 경우 서비스 검색을 위해 검색 엔진 또는 소프트웨어 에이전트만을 필요로 한다.
본 발명에 의할 경우 종래 기술에 비해 웹 서비스의 공개 및 유지에 필요한 비용을 낮추어 주고, 웹 서비스에 대한 사용자들의 피드백을 수집할 수 있도록 해주며, 그리고 상기 사용자에 의한 피드백을 다시 검색할 수 있도록 함으로써 서비스 선택에 이용될 수 있도록 해 준다.
RSS 기반의 웹 서비스 검색과는 달리, 본 발명은 서비스 검색을 위해 검색 엔진이나 소프트웨어 에이전트(software agent)만을 필요로 한다.
본 발명의 이러한 또는 다른 특징들, 측면들 장점들을 이하 발명의 실시를 위한 구체적인 내용, 특허청구범위 및 첨부 도면을 참조하여 보다 구체적으로 설명하기로 한다.
본 발명은 검색 엔진들을 이용하여 웹서비스들을 검색할 수 있도록 해주는 방법 및 시스템을 제공한다. 본 발명은 검색 가능한 웹 서비스들 및 웹 서비스들을 평가하기 위한 관련 정보을 공개한다. 웹서비스들 및 관련 정보는 웹 서비스 공급자에 의해 제공될 수도 있고 기존의 웹 서비스 레지스트리로부터 추출될 수 있다.
도 1은 본 발명의 일 실시예에 의한 웹 서비스들을 검색하기 위한 프로세스(100)의 흐름도를 보여주는데 다음의 단계들을 포함한다.
단계 102: 웹 서버을 구비(providing).
단계 104: 웹서버와 관련된 지속적 저장부(persistent storage)의 구비.
단계 106: 하나 이상의 검색 엔진들로 하여금 상기 웹 서버를 통해 상기 지속적 저장부(persistent storage)로부터 정보를 검색하도록 해줌.
단계 108: 웹 서비스(즉, 소프트웨어 서비스)의 정의(definition) 및 서술(description)을 포함하는 서비스 정보를 수집하는 수집 모듈(gathering module)을 구비.
단계 110: 수집된 정보를 이용하여 미리 설정된 포맷으로 서비스 정의 파일(service definition file)을 구성하는 구성 모듈(construction module)을 구비(providing).
단계 112: 서비스 정의 파일을 저장하기 위해 지속적 저장부 내에 저장 공간(storage area)을 구비함으로써, 검색 엔진이 웹 서버를 통해 상기 지속적 저장부의 저장 공간 내에 저장된 상기 정의 파일에 의해 정의된 서비스들을 검색할 수 있음.
공개자(publisher)는 웹 서비스의 정의 및 서술 정보을 입력하거나 저장 공간 내의 서비스를 공개하기 위해 수집 모듈에 액세스하기 위해 브라우저(browser)를 이용할 수 있다. 그런 다음 사용자는 상기 저장 공간 내의 웹 서비스를 검색하기 위해 검색 엔진(search engine)을 이용할 수 있다. 더 나아가 사용자는 웹 서비스를 평가할 목적으로 서비스에 대한 피드백(feedback)을 입력하거나 다른 사용자들로부터 피드백을 검색할 수 있다.
이러한 웹 서버의 예들은 (본 발명에 따라 동작하도록 구성된)오픈 소스 아파치 서버(open-source Apache server) 또는 보아 서버(Boa server)를 포함한다. 웹 서버와 관련된 지속적 저장부의 예들은 디렉토리(directory) 또는 파일 시스템의 파일 폴더를 포함한다.
상기 지속적 저장부의 주소(예: URL)를 수동으로 또는 도구(tool; 예: NetMechanics's Search Engine Starter)를 이용하여 검색 엔진에 전달하여 줌으로써 상기 검색 엔진이 지속적 저장부를 검색할 수 있도록 해준다.
본 발명의 일실시예에 의하면 수집 모듈(gathering module)은 서비스 공개 도구 모듈(service pulication tools module)(도 2, 202)를 포함하는데, 이 모듈은 서비스 공급자가 웹 서비스와 관련된 정보를 입력할 수 있도록 안내(guide)해주는 사용자 인터페이스(user interface; UI)들을 제공한다. 또한 상기 공개 소프트웨어(publication software)는 다른 소프트웨어가 웹 서비스에 대한 정보를 공급할 수 있도록 인터페이스들을 제공할 수 있다.
서비스 정의 파일을 구성하기 위한 구성 모듈은 소프트웨어 병합/공개 모듈(integrator/publisher module)(도 2, 204)을 포함하는데, 이 소프트웨어 병합/공개 모듈은 공개 소프트웨어(예: 수집 모듈)에 의해 수집된 정보를 이용한다. 또한 미리 설정된 포맷에 따라 수집된 정보들을 함께 엮어 서비스 정의 파일을 생성한다. 그런 다음 병합/공개 모듈은 서비스 정의 파일을 저장 공간에 저장함으로써 검색 엔진이 서비스 정의 파일에 의해 정의된 서비스를 검색할 수 있도록 해 준다. 상기 미리 설정된 포맷의 예들로는 WSDL, 다른 XML 기반 포맷 등이 있 다.
수집 모듈에 의해 수집된 웹 서비스에 대한 정보는 다음과 같은 종류의 정보를 포함한다.
(1) 서비스를 깨우는(invoke) 방법을 정의하기 위한 서비스 정의 정보(예: 서비스 방법들의 기능 프러터타입(function prototypes)); 및
(2) 서비스가 속하는 카테고리를 알려 주는 정보(최소 하나 이상의 카테고리가 포함됨)
바람직하게는 공개자(publisher)는 웹 서비스에 대한 기능 서술(function descriptions)을 제공함으로써, 사용자가 보다 쉽게 검색 엔진을 이용해 서비스를 찾을 수 있도록 도와준다.
또한 웹 서비스에 대해 수집된 정보는 다음의 종류 정보들 중 하나 이상을 포함할 수 있다.
(1) 웹 소프트웨어 서비스가 필요로 하는 서비스 실행 환경을 서술하는 정보(예: 운영체계(OS), 저장부(storage) 및 CPU)
(2) 웹 소프트웨어 서비스에 대한 다른 정보(비용, 성능, 지원, 신뢰도, 이용가능성 및 자원 소모); 및
(3) 다양한 측면에서 이루어진 소프트웨어 서비스에 대한 사용자의 평가/등급결정(비용, 성능, 지원, 신뢰도, 이용가능성 및 자원 소모)
웹 브라우저(Web browser)는 웹 서비스에 대한 정보를 수집하거나 웹 서비스에 대한 정보를 열람하는데 이용될 수 있다. 이 밖에도 본 발명에 의한 다른 실시예들도 가능하다는 것은 당업자에게 있어 자명하다.
프로세스 100은 선택적으로 다음의 것들 중 하나 이상을 제공할 수 있다.
(1) 정보 검색을 위한 브라우저. 여기서 (만약 상기 브라우저가 데이터베이스의 프론트 엔드(front end)로서 만들어진 경우라면) 상기 정보는 선택적 데이터베이스(optional database)에 저장된다.
(2) 서비스에 대한 평가 정보(evaluation information)를 입력하기 위한 소프트웨어 도구들을 동적으로 생성하기 위한 동적 도구 생성기(dynamic tool generator).
서비스 정의 파일을 구성하기 위한 구성 모듈은 선택적으로 다음의 기능들(functions) 중 하나 이상을 지원할 수 있다.
(1) 지속적 저장부 내에 미리 설정된 포맷으로 정보를 저장. 여기서 저장부는 저장된 정보의 질의/검출(querying/retrieving)을 위한 인터페이스를 제공할 수 있다(예: SQL 기반 데이터베이스 및 UDDI 기반 데이터베이스); 및
(2) 입력으로서 사용자 평가 정보를 받아들이거나 상기 평가 정보를 반영하기 위해 대응하는 서비스 서술 파일을 수정 그리고/또는 만약 지속적 저장부가 존재하는 경우 상기 평가 정보를 지속적 저장부에 저장.
동적 도구 생성기에 의해 생성된 평가 소프트웨어는 다음의 기능들을 수행한다.
(1) 서비스에 대한 평가 정보를 수집; 및
(2) (만약 지속적 저장부가 존재할 경우) 상기 지속적 저장부로부터 정보를 가져오기(fetch) 위해 구성된 정의 파일들과 상호 통신(interact)을 하고 사용하기 위해 정보를 출력함.
도 2는 본 발명에 의한 웹 서비스를 검색하기 위한 프로세스(100)를 구현하기 위한 시스템(200)을 보여준다. 시스템(200)은 서비스 공개 도구 모듈(202), 서비스 정보 병합 및 공개 모듈(204), 웹 서버(206) 및 검색 가능한 서비스 정의 파일 저장부(208)를 포함한다.
시스템(200)은 데이터 베이스(210), 서비스 평가 도구 모듈(212) 및 동적 도구 생성기(214)를 선택적으로 포함할 수 있다. 도 2에서 실선의 양 방향 화살표는 상호 통신(interaction) 동작을 나타낸다. 반면 점선 단 방향 화살표는 생성 및/또는 수정 동작들을 나타낸다. 모듈들(202, 204, 206, 208, 210, 212 및 214)은 인터넷에 연결될 수 있는 컴퓨터 시스템 또는 (로컬 또는 분산) 네트워크상에 구현될 수 있다. 따라서 서비스 고객(또는 사용자)은 웹 브라우저를 이용하여 일반 검색 엔진을 통해 서비스를 검색하거나, 저장부(208)(및 선택적 저장부(210))에 저장되어 있는 서비스 정보를 찾을 수 있다. 또한 서비스 공급자는 서비스 정보를 공급하기 위해 웹 브라우저를 이용할 수 있다.
서비스 공급자는 브라우저를 이용해 상기 서비스 공개 도구 모듈(service publication tool module)(202)에 액세스하여 서비스 공개를 위한 서비스 정보를 입력할 수 있다. 서비스 정보 병합 및 공개 모듈(service information integrator & publication module)(204)은 수집된 정보를 이용하여 미리 설정된 포맷에 맞게 서비스 정의 파일을 구성하거나, 구성된 정의 파일을 파일 저장부(208)에 저장한다.
사용자(즉, 웹 서비스를 찾고자 하는 서비스 소비자)는 검색 엔진(207)을 이용하여 웹 서버(206)에 액세스한 후 저장부(208) 내의 서비스 정보(평가 정보 포함)를 검색할 수 있다. 사용자는 더 나아가 서비스 평가 도구 모듈(service evaluation tool module)(212)을 이용해 서비스 평가를 입력하거나 검색할 수 있는데, 상기 서비스 평가 도구 모듈(212)은 수동으로(manually) 개발될 수도 있고 또는 도구 생성기(214)에 의해 자동으로 생성될 수도 있다.
상기한 바와 같이 웹 서버(206)는 아파치(Apache), 보아(Boa) 등과 같은 표준 웹 서버가 될 수 있는데, 이들은 본 발명에 따라 적절하게 동작하도록 구성된다. 이와 같은 방식으로, 웹 서버(206)는 인터넷상의 일반적인 검색 엔진(207)(예: Google, Yahoo)이 검색 가능한 서비스 정의 파일 저장부(208)에 접근하여 정보를 수집하는 것을 가능하게 해준다. 따라서 사용자는 범용(general-purpose) 검색 엔진(207)을 이용하여 저장부(208) 내의 서비스를 검색할 수 있다.
서비스 공개 도구 모듈(202)은 서비스 공급자에게 UI들을 제공함으로써 서비 스 공개를 위해 사용할 수 있도록 한다. 서비스 공개 도구 모듈은 UI들로부터 입력(input)을 수집한 후, 그 수집 정보를 서비스 정보 병합 및 공개 모듈(204)로 출력한다. 바람직하게는 서비스 공개 도구 모듈은 서비스 공급자가 특정한 종류의 정보를 입력할 것을 강제하는 반면 나머지 종류의 정보는 선택적 입력 사항으로 남겨 둔다.
도 3은 서비스 공급자가 서비스 공개에 이용하는 UI(300)의 예를 보여준다. 여기서 서비스 명칭(title), 카테고리 및 URL은 필수적 입력 사항인, 반면 나머지 정보들(서비스 기능 서술(functional description of service), 서비스 실행 환경, 추가 정보 등)은 임의적 입력 사항이다. 정보를 입력한 후 서비스 공급자는 "공개" 버튼을 눌러 서비스를 공개하게 된다. 이 정보는 검색 엔진(207)을 이용하여 정확한 서비스를 검출할 가능성을 높이기 위해 이용된다. 모듈(202)은 더 나아가 서비스 정보 병합 및 공개 모듈(204)과 상호 통신(interaction)을 통해 시스템(200)에 저장된 하나 이상의 서비스들에 관한 정보를 질의하거나 정보를 검출하기 위한 기능을 지원할 수 있다.
서비스 정보 병합 및 공개 모듈(204)은 서비스 공개 도구 모듈(202)로부터 서비스 정보를 수신한 후 미리 정해진 포맷에 맞춰 상기 서비스를 위한 정의 파일을 구성한다. 서비스 정보 병합 및 공개 모듈(204)은 정의 파일을 검색 가능한 서비스 정의 파일 저장부(208)에 저장한다. 선택적 데이터베이스(210)가 이용되는 경우에도 서비스 정보 병합 및 공개 모듈(204)은 그 서비스 정보를 데이터베이스(210)에 저장한다.
서비스 정보 병합 및 공개 모듈(204)은 또한 자동으로 데이터베이스로부터 공개될 서비스에 대한 정보를 가져와(fetch), 미리 정해진 포맷에 따라 정의 파일을 생성하기 위해 서비스 공급자가 입력한 정보와 병합한다. 그런 다음 이 파일을 저장부(208)에 저장한다. 예를 들면, 데이터베이스(210)은 SQL에 기반하거나 UDDI 기반을 둘 수 있다. 서비스 정보 병합 및 공개 모듈(204)은 더 나아가 서비스 정의 파일을 수정하기 위해 서비스 평가 도구 모듈(212)의 출력을 수신할 수 있다. 데이터베이스(210)가 이용되는 경우, 서비스 정보 병합 및 공개 모듈(204)은 서비스 평가 도구 모듈(212)로부터 얻은 상기 정보를 이용하여 데이터베이스(210)을 갱신할 수 있으며, 데이터베이스(210)에 저장된 정보에 대한 질의나 정보의 검출을 지원할 수도 있다.
서비스 평가 도구 모듈(212)는 서비스 정보를 검색(browse)하거나 서비스에 대한 평가 정보를 입력하는 것을 가능하게 해준다. 서비스 평가 도구 모듈(212)는 정적 컴포넌트(static component)와 동적 컴포넌트(dynamic component)를 포함하는데, 동적 컴포넌트는 선택적 동적 도구 생성기(optional dynamic tool generator)(214)에 의해 생성된다. 정적 컴포넌트는 시스템(200) 내의 서비스 정보를 검색(browse)하거나, 하나 이상의 서비스에 대해 질의(query)하거나 대응하는 결과를 표시(display)하는 것을 지원한다. 정적 컴포넌트는 동적 컴포넌트를 깨우기(invoke) 위한 메커니즘(예: URL, 버튼 , 메뉴 입력)을 지원한다. 동적 컴포넌트는 일반적으로 사용자가 평가 정보를 입력하는데 이용된다. 예를 들면, "평가(eval)" 버튼이 활성화된 경우, 도구 모듈(212)은 사용자가 평가 정보를 입력 할 수 있도록 UI를 생성하도록 지시를 받는다(informed).
동적 도구 생성기(214)는 동적 컴포넌트 및 UI를 생성할 필요가 있음을 알려주는 입력을 받게 된다. 이 입력은 또한 서비스를 표시하는데, 이 서비스의 평가 정보가 시스템(200)으로 입력되게 된다. 상기 입력을 수신하게 되면 동적 도구 생성기(214)는 사용자가 평가 정보를 입력할 수 있도록 UI와 관련 코드를 생성한다. 이렇게 생성된 코드는 서비스 정보 병합 및 공개 모듈(204)과 상호 통신을 함으로써 서비스와 관련된 정보를 검출하거나 사용자에 의해 입력된 정보를 시스템(200)에 저장한다.
도 4는 사용자가 서비스에 대한 평가 정보를 입력하는데 이용할 UI 템플릿(template)의 예를 보여준다. 표지 H(high), M(medium) 및 L(low)는 대략적인 레벨(coarse-level) 평가에 이용된다. 이 밖에도 다른 UI들을 이용하여 보다 세밀하게 평가 등급을 매기(fine-grained rating)거나 텍스트 서술(text description)을 입력할 수 있다. 평가를 위해 더 많은 측정치(metrics)들이 이용될 수 있다. 동일한 서비스를 평가한 모든 사용자에 의한 등급결정(rating)을 표시하거나 그 들 중 선택된 서브세트(subset)만에 의한 등급 결정을 표시하기 위해 유사한 UI들이 이용될 수 있다. 이 평가는 추후 서비스 선택을 위해 이용될 수 있다.
웹 브라우저를 사용자로부터 정보를 수집(또는 사용자에게 공급)하기 위해 이용하는 때에는, UI들은 HTML과 같은 표준을 이용하여 인코딩(encoding)되어야만 한다. 그리고 도구들에 의해 이용되는 웹 페이지들은 표준 웹 정의에 따라 구성(organize)하여 시스템에 저장해야지만 다른 장치가 HTTP 기반 프로토콜을 통 해 그 웹 페이지들을 얻을 수 있다.
도 3의 그래픽 UI(300)의 예가 보여주듯이, 사용자는 서비스에 대한 UI(300)의 다양한 필드들(fields)에 정보를 채워넣는다. 서비스 공개 도구(202)(도 2)는 UI(300)의 필드들로부터 서비스 정보(예: 명칭, URL, 카테고리, 기능적 서술 정보(functional description information), 실행 환경 정보 등)를 추출한 후에 서비스 정보 병합 및 공개 모듈(204)에게 전달한다. 이 번엔 서비스 정보 병합 및 공개 모듈(204)은 서비스를 서술하는 WSDL 파일을 획득하기 위해 전달된 URL을 추적한다(follow). 그 다음 서비스 정보 병합 및 공개 모듈(204)은 HTML 페이지를 생성하고 다양한 필드들의 내용을 캡슐화(encapsulation)하기 위해 적절한 태그들(tags)을 이용한다. 예를 들어 제목(title)에 <제목> 태그를 이용하거나, 카테고리, 기능적 서술, 실행 환경 및 추가 정보에 대해서는 <문서(document)> 태그를 이용한다. 그 다음 모듈(204)은 웹 페이지를 파일 저장부(file storage)에 저장한다.
이하, 도 5-6은 각각 서비스 공개 도구 모듈(202) 및 서비스 정보 병합 및 공개 모듈(204)에 의해 수행되는 단계들을 보여주는 흐름도들이다.
도 5는 본 발명에 의한 서비스 공개 도구 모듈(202)(도 2)에 의해 수행되는 예시적인 프로세스(500)의 단계들을 보여주는 흐름도들이다.
단계 501: 서비스 정의 업로드(upload).
단계 502: 서비스 카테고리 업로드.
단계 503: 서비스 서술(description) 업로드.
단계 504: 서비스 실행 환경 사양(execution environment specification) 업로드.
단계 505: 추가적인 서비스 정보 업로드.
도 6는 본 발명에 의한 서비스 정보 병합 및 공개 모듈(204)(도 2)에 의해 수행되는 예시적인 프로세스(600)의 단계들을 보여주는 흐름도들이다.
단계 601: 공개 도구들(publishing tools)로부터 서비스 정의를 수신하거나 선택적 데이터베이스(optional database)로부터 공개된 서비스 정의를 추출.
단계 602: 평가 도구들(evaluation tools)로부터 서비스 평가 수신.
단계 603: 서비스 정의와 평가 정보를 병합(integrate).
단계 604: 병합된 정보를 검색 가능한 서비스 정의 저장부(storage)에 저장.
도 2의 시스템(200)에서 검색 엔진(207)은, 웹 서버(206)를 통하여, 지속적 저장부(208)의 상기 저장 공간 내에 저장된 정의 파일에 의해 정의된 서비스를 검색할 수 있다.
본 발명에 의한 시스템(200)은 사용자에 의한 서비스 정보에 액세스하기 위한 메커니즘을 공급하는 것뿐만 아니라 프로그램밍 인터페이스(programming interface)를 통해 정보를 액세스하는 것도 가능하게 한다. 시스템(200)은 인터넷상의 범용 검색 엔진(general-purpose search engines)에 의해 검색 가능한 웹 서비스들을 공개하는 것을 가능하게 한다. 데이터베이스를 이용할 것인가는 선택적/ 임의적(optional)인 사항이므로, 웹 서비스의 공개 및 공개된 웹 서비스의 유지를 위한 비용을 낮춰 준다.
또한 시스템(200)은 제한 없는 접근(open-ended approaches)은 물론 웹 서비스들에 대한 공개적인 평가(public estimation)를 가능하게 해준다. 이러한 평가는 서비스 검색에 이용될 수 있다. 시스템(200)은 더 나아가 웹 서비스에 대한 사용자 평가를 서비스 정의들과 연관(association)시킨다. 이러한 연관을 통해 서비스 선택 과정에서 평가 정보에 쉽게 접근할 수 있다. 시스템(200)은 더 나아가 기존의 웹 서비스 레지스트리(regustry) 내의 서비스에 대한 정보도 검색하도록 해 준다.
본 발명이 속하는 기술분야의 당업자를 기준으로 보면, 본 발명에 의한 예시적인 아키텍처(architecture)는 다양한 방식으로 구현될 수 있다. 즉 프로세서에 의한 실행을 위한 프로그램 명령어, 논리 회로, ASIC(application specific integrated circuit), 펌웨어 등으로 구현될 수 있다.
위에서는 본 발명은 본 발명에 따른 바람직한 실시예들을 중심으로 구체적으로 설명되어 있지만 다른 실시예들도 가능함은 당연하다. 그러므로 본 발명의 특허청구범위에 나타난 본 발명의 기술적 사상이나 범위는 첨부한 특허청구범위나 바람직한 실시예를 포함하는 발명의 상세한 설명에 국한되지 않는다.
도 1은 본 발명에 의한 일 실시예에 의한 웹 서비스 검색을 위한 프로세스의 단계들을 포함하는 흐름도이다.
도 2은 본 발명에 의한 일 실시예에 의한 웹 서비스 검색을 위한 프로세스를 구현하기 위한 시스템을 보여준다.
도 3은 본 발명에 의한 일 실시예에 의한 서비스 공급자들이 서비스를 공개할 수 있도록 해주는 사용자 인터페이스 템플릿(template)을 보여준다.
도 4는 본 발명에 의한 일 실시예에 의한 사용자가 웹 서비스에 대한 평가 정보를 입력할 수 있도록 해주기 위한 사용자 인터페이스 템플릿을 보여준다.
도 5는 본 발명에 의한 도 2의 서비스 공개 도구 모듈에 의해 구현된 프로세스의 예를 보여주는 흐름도이다.
도 6은 본 발명에 의한 도 2의 서비스 정보 통합 및 공개 모듈에 의해 구현된 프로세스의 예를 보여주는 흐름도이다.

Claims (32)

  1. 시스템이 검색 가능한 웹 서비스를 구현하는 방법에 있어서,
    상기 시스템이, 상기 웹 서비스에 관한 정보를 포함하는 서비스 정보를 수집하는 단계;
    상기 시스템이, 수집된 상기 서비스 정보를 이용하여 미리 정의된 포맷에 맞춰 서비스 정의 파일을 구성하는 단계; 및
    상기 시스템이, 하나 이상의 검색 엔진들로 하여금 서비스 정의 파일 내의 정보를 검색할 수 있도록 하는 단계를 포함하며,
    서비스 정보를 수집하는 단계는 서비스 평가를 획득하는 단계를 더 포함하고,
    상기 서비스 정의 파일을 구성하는 단계는 상기 평가 정보를 반영하기 위해 대응하는 서비스 서술 파일을 수정하는 단계를 더 포함하는 검색 가능한 웹 서비스 구현 방법.
  2. 제 1항에 있어서, 상기 시스템이, 검색 엔진이 상기 정의 파일에 의해 정의된 서비스를 검색할 수 있도록 해주는 서비스 정의 파일을 저장하기 위한 저장 공간을 상기 시스템의 내부에 제공하는 단계를 더 포함하는 웹 서비스 구현 방법.
  3. 제 2항에 있어서, 상기 시스템은 서버를 포함하며, 서비스 정보를 검색하기 위해 검색 엔진은 상기 서버를 통해 상기 저장 공간에 액세스하는 웹 서비스 구현 방법.
  4. 제 3항에 있어서, 상기 서버는 웹 서버를 포함하는 웹 서비스 구현 방법.
  5. 제 1항에 있어서, 상기 서비스 정보를 수집하는 단계는, 상기 시스템이 서비스 공급자로부터 서비스 정보를 수집하는 수집 모듈을 구비하는 단계를 더 포함하는 웹 서비스 구현 방법.
  6. 제 1항에 있어서, 상기 미리 정의된 포맷에 맞춰 서비스 정의 파일을 구성하는 단계는, 상기 시스템이 수집된 정보를 이용하여 미리 정의된 포맷에 맞춰 서비스 정의 파일을 구성하기 위한 구성 모듈을 구비하는 단계를 더 포함하는 웹 서비스 구현 방법.
  7. 제 1항에 있어서,
    서비스 정보를 수집하는 단계는, 상기 시스템이 서비스 공급자로부터 서비스 정보를 획득하기 위한 공개 모듈을 구비하는 단계를 포함하며; 그리고
    서비스 정의 파일을 구성하는 단계는 서비스 정보를 이용하며, 서비스 서술 파일을 생성하기 위해 상기 시스템이 미리 정의된 포맷에 따라 서비스 정보를 병합하는 병합 모듈을 구비하는 단계를 포함하는 웹 서비스 구현 방법.
  8. 제 1항에 있어서, 상기 미리 정의된 포맷은 하나 이상의 WSDL 및 xml 기반 포맷을 포함하는 웹 서비스 구현 방법.
  9. 제 1항에 있어서, 서비스 정보를 수집하는 단계는 서비스에 대한 인보케이션 정보를 획득하는 단계를 더 포함하는 웹 서비스 구현 방법.
  10. 제 1항에 있어서, 서비스 정보를 수집하는 단계는 서비스에 대한 카테고리를 획득하는 단계를 더 포함하는 웹 서비스 구현 방법.
  11. 제 1항에 있어서, 상기 서비스 정보를 수집하는 단계는
    서비스에 대한 실행 환경을 서술하는 정보;
    서비스 비용; 및
    서비스에 대한 사용자의 평가/등급 중 하나 이상을 획득하는 단계를 더 포함하는 웹 서비스 구현 방법.
  12. 삭제
  13. 제 2항에 있어서, 상기 하나 이상의 검색 엔진이 서비스 정의 파일 재의 정보를 검색할 수 있도록 하는 단계는 상기 저장 공간에 액세스할 수 있도록 검색 엔진에 저장 공간의 주소를 전달하는 단계를 더 포함하는 웹 서비스 구현 방법.
  14. 제 1항에 있어서, 서비스 공급자가 서비스 정보를 제공하고 서비스를 공개할 수 있도록 상기 시스템이 상기 서비스 공급자에게 사용자 인터페이스를 제공하는 단계를 더 포함하는 웹 서비스 구현 방법.
  15. 제 1항에 있어서, 서비스 고객들이 서비스에 대한 평가 정보를 입력할 수 있도록 상기 시스템이 상기 서비스 고객들에게 사용자 인터페이스를 제공하는 단계를 더 포함하는 웹 서비스 구현 방법.
  16. 검색 가능한 서비스 정의 파일을 저장하기 위한 저장 공간;
    서비스를 공개하기 위해 서비스 공급자로부터 상기 서비스에 관한 서비스 정보를 수신하고 서비스에 대한 서비스 평가를 획득하도록 구성된 서비스 공개 도구 모듈;
    상기 수신된 서비스 정보로부터 서비스 정의 파일을 미리 정해진 포맷으로 구성하고, 상기 구성된 정의 파일을 상기 파일 저장 공간에 저장하고, 상기 서비스 평가 정보를 반영하기 위해 상기 검색 가능한 서비스 정의 파일 저장 공간 내의 대응하는 서비스 서술 파일을 수정하도록 구성된 서비스 정보 병합 및 공개 모듈; 및
    하나 이상의 검색 엔진으로 하여금 상기 검색 가능한 서비스 정의 파일 저장공간에 저장된 서비스 정의 파일에 의해 정의된 서비스들에 대한 정보에 접근하여 수집할 수 있도록 해주는 웹서버를 포함하는 검색 가능한 웹 서비스를 위한 시스템.
  17. 제 16항에 있어서, 상기 서비스들은 검색 가능한 서비스 정의 파일 저장 공간 내의 서비스 정의 파일에 의해 정의되며, 서비스 고객은 범용 검색 엔진을 이용하여 웹서버를 경유하여 상기 서비스들은 검색할 수 있는 상기 웹 서비스 시스템.
  18. 제 16항에 있어서, 상기 미리 정의된 포맷은 하나 이상의 WSDL 및 XML 기반 포맷을 포함하는 웹 서비스 시스템.
  19. 제 16항에 있어서, 상기 서비스 공개 도구 모듈은 더 나아가 서비스 공급자로부터 서비스에 대한 인보케이션 정보를 획득하도록 구성된 웹 서비스 시스템.
  20. 제 16항에 있어서, 상기 서비스 공개 도구 모듈은 더 나아가 서비스에 대한 카테고리 정보를 획득하도록 구성된 웹 서비스 시스템.
  21. 제 16항에 있어서, 상기 서비스 공개 도구 모듈은 더 나아가
    서비스에 대한 실행 환경을 서술하는 정보;
    서비스 비용; 및
    서비스에 대한 사용자의 평가/등급 중 하나 이상을 획득하도록 구성된 웹 서비스 시스템.
  22. 삭제
  23. 제 16항에 있어서, 상기 웹 서버는 더 나아가 검색 가능한 서비스 정의 파일 저장 공간 내의 대응하는 저장 공간의 주소를 상기 하나 이상의 검색 엔진에 제공함으로써, 상기 하나 이상의 검색 엔진이 검색 가능한 서비스 정의 파일 저장 공간 내의 서비스 정의 파일 내의 정보에 액세스하여 검색하도록 구성된 웹 서비스 시스템.
  24. 제 16항에 있어서, 상기 웹 서비스 시스템은 서비스 공급자가 고객들이 볼 수 있도록 서비스 정보를 제공하고 서비스를 공개할 수 있도록 구성된 사용자 인터페이스를 더 포함하는 웹 서비스 시스템.
  25. 제 16항에 있어서, 상기 웹 서비스 시스템은 서비스 고객들이 상기 서비스 평가 정보를 입력할 수 있도록 구성된 사용자 인터페이스를 더 포함하는 웹 서비스 시스템.
  26. 제 16항에 있어서, 상기 웹 서비스 시스템은 서비스 정보를 열람하고 상기 서비스 평가 정보를 입력할 수 있도록 구성된 서비스 평가 모듈을 더 포함하는 웹 서비스 시스템.
  27. 제 16항에 있어서, 상기 서비스 평가 모듈은 서비스 정보를 열람하고, 하나 이상의 서비스에 대해 질의하고 사용자 인터페이스 상에 대응하는 결과들을 표시하는 것을 지원하도록 구성된 정적 컴포넌트를 포함하는 웹 서비스 시스템.
  28. 제 27항에 있어서, 상기 서비스 평가 모듈은 사용자로 하여금 상기 서비스 평가 정보를 입력할 수 있도록 구성된 동적 컴포넌트를 더 포함하는 웹 서비스 시스템.
  29. 제 28항에 있어서, 상기 웹 서비스 시스템은 입력에 기초하여 서비스 평가 모듈의 동적 컴포넌트를 동적으로 생성하기 위한 동적 도구 생성기를 포함하며, 상기 입력은 동적 컴포넌트를 생성할 필요가 있는지를 표시해 주는 웹 서비스 시스템.
  30. 제 29항에 있어서, 상기 정적 컴포넌트 서비스 평가 모듈은 서비스 평가 모듈의 상기 동적 컴포넌트를 깨우기 위한 메커니즘을 제공하도록 구성된 웹 서비스 시스템.
  31. 제 29항에 있어서, 상기 동적 도구 생성기는 사용자 인터페이스를 생성하고 사용자로부터 서비스 평가 정보를 수신하기 위한 관련 코드를 생성하도록 구성된 웹 서비스 시스템.
  32. 제 31항에 있어서, 상기 생성된 코드는 서비스 정보 병합 및 공개 모듈과 상호 통신하여 서비스에 관련된 정보를 검색하거나 그리고/또는 사용자에 의해 입력된 정보를 저장하도록 구성된 웹 서비스 시스템.
KR20080027063A 2007-06-15 2008-03-24 검색 가능한 웹 서비스들을 위한 방법 및 시스템 KR101511267B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/818,881 2007-06-15
US11/818,881 US7797340B2 (en) 2007-06-15 2007-06-15 Method and system for searchable web services

Publications (2)

Publication Number Publication Date
KR20080110460A KR20080110460A (ko) 2008-12-18
KR101511267B1 true KR101511267B1 (ko) 2015-04-10

Family

ID=40133317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080027063A KR101511267B1 (ko) 2007-06-15 2008-03-24 검색 가능한 웹 서비스들을 위한 방법 및 시스템

Country Status (2)

Country Link
US (1) US7797340B2 (ko)
KR (1) KR101511267B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4963110B2 (ja) * 2008-01-25 2012-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス検索システム、方法及びプログラム
US8515946B2 (en) * 2008-02-28 2013-08-20 Microsoft Corporation Location description for federation and discoverability
US9767159B2 (en) 2014-06-13 2017-09-19 Google Inc. Ranking search results
US10013496B2 (en) * 2014-06-24 2018-07-03 Google Llc Indexing actions for resources
CN106663108B (zh) * 2014-06-25 2020-08-04 谷歌有限责任公司 用于原生应用的深链接
CN105700964B (zh) * 2016-02-23 2019-02-15 浪潮通用软件有限公司 一种实现异构软件系统间远程通讯的方法
US11153400B1 (en) 2019-06-04 2021-10-19 Thomas Layne Bascom Federation broker system and method for coordinating discovery, interoperability, connections and correspondence among networked resources

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193635A1 (en) * 2003-03-27 2004-09-30 Karl Hsu Method and apparatus for automatically providing network services
US20040221017A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation Dynamic generator for fast-client static proxy from service interface definition document
US20050149935A1 (en) * 2003-12-30 2005-07-07 Fabio Benedetti Scheduler supporting web service invocation
KR100759186B1 (ko) 2006-05-29 2007-09-14 주식회사 케이티 비구조 웹문서 및 데이터베이스의 다양한 정보를웹서비스로 제공하기 위한 웹서비스 제공 시스템 및 그방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193635A1 (en) * 2003-03-27 2004-09-30 Karl Hsu Method and apparatus for automatically providing network services
US20040221017A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation Dynamic generator for fast-client static proxy from service interface definition document
US20050149935A1 (en) * 2003-12-30 2005-07-07 Fabio Benedetti Scheduler supporting web service invocation
KR100759186B1 (ko) 2006-05-29 2007-09-14 주식회사 케이티 비구조 웹문서 및 데이터베이스의 다양한 정보를웹서비스로 제공하기 위한 웹서비스 제공 시스템 및 그방법

Also Published As

Publication number Publication date
KR20080110460A (ko) 2008-12-18
US20080313190A1 (en) 2008-12-18
US7797340B2 (en) 2010-09-14

Similar Documents

Publication Publication Date Title
CN101452453B (zh) 一种输入法网址导航的方法和一种输入法系统
US8055685B2 (en) System and method for real-time content aggregation and syndication
US7702675B1 (en) Automated categorization of RSS feeds using standardized directory structures
US7536389B1 (en) Techniques for crawling dynamic web content
US8700682B2 (en) Systems, methods and articles for template based generation of markup documents to access back office systems
US8521732B2 (en) Presentation of an extracted artifact based on an indexing technique
KR101511267B1 (ko) 검색 가능한 웹 서비스들을 위한 방법 및 시스템
JP5133984B2 (ja) 入力候補提供装置、入力候補提供システム、入力候補提供方法、および入力候補提供プログラム
US7734622B1 (en) Media-driven browsing
US20110153590A1 (en) Apparatus and method for searching for open api and generating mashup block skeleton code
US20070288477A1 (en) Information processing apparatus, information processing system, information processing method, and computer program
KR20090016745A (ko) 원격 모듈용 메시지 목록
WO2009081393A2 (en) System and method for invoking functionalities using contextual relations
JP2009037501A (ja) 情報検索装置、情報検索方法およびプログラム
JP2011034399A (ja) Webページの関連性抽出方法、装置、及びプログラム
US7895337B2 (en) Systems and methods of generating a content aware interface
KR101331854B1 (ko) 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법
CN100504877C (zh) 一种Web页面动作收藏方法和装置
KR20070057578A (ko) 인터넷 리소스에 태그 정보를 부가하여 공유 정보를제공하는 시스템, 장치, 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체
US20080059429A1 (en) Integrated search processing method and device
JP2005275488A (ja) 入力支援方法およびプログラム
US20060015578A1 (en) Retrieving dated content from a website
Geel et al. Sift: an end-user tool for gathering web content on the go
JP4715031B2 (ja) 構造化文書変換システム及び構造化文書変換プログラム
KR101084546B1 (ko) 검색 결과 내 추가 검색 모듈 및 그를 이용한 검색 결과 내 추가 검색 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
FPAY Annual fee payment

Payment date: 20180321

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190319

Year of fee payment: 5