KR101393247B1 - Apparatus and method for automatic annotation and publication of semantic information of web services based soap and rest - Google Patents
Apparatus and method for automatic annotation and publication of semantic information of web services based soap and rest Download PDFInfo
- Publication number
- KR101393247B1 KR101393247B1 KR1020100081434A KR20100081434A KR101393247B1 KR 101393247 B1 KR101393247 B1 KR 101393247B1 KR 1020100081434 A KR1020100081434 A KR 1020100081434A KR 20100081434 A KR20100081434 A KR 20100081434A KR 101393247 B1 KR101393247 B1 KR 101393247B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- semantic information
- annotation
- block
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
SOAP 및 REST에 기반한 웹 서비스의 시맨틱 정보를 자동 어노테이션하여 등록하는 장치 및 방법이 제공된다. 상기 장치 및 방법은 서비스가 등록되어 있는 웹 서비스 포털 및 서비스가 명세되어 있는 URL에서 시맨틱 정보를 자동으로 크롤링하여 서비스에 대한 어노테이션을 수행하고, 어노테이션의 결과를 서비스 레지스트리에 등록한다.There is provided an apparatus and method for automatically annotating and registering semantic information of a web service based on SOAP and REST. The apparatus and method automatically categorize semantic information at a URL where Web service portals and services registered with the service are registered, annotate the service, and register the result of the annotation in the service registry.
Description
아래의 실시예들은 SOAP 및 REST에 기반한 웹 서비스의 시맨틱 정보를 자동 어노테이션하여 등록하는 장치 및 방법에 관한 것이다.The following embodiments relate to an apparatus and method for automatically annotating and registering semantic information of a web service based on SOAP and REST.
웹 서비스에 대한 매쉬업(mashup)이 활성화됨에 따라, SOAP(Simple Object Access Protocol) 및 REST(REpresentational State Transfer) 기반의 웹 서비스를 통합하여 발견 및 조합하는 메커니즘이 더욱 중요해지고 있다.As mashups for Web services become more popular, mechanisms for unifying and discovering and combining Web services based on SOAP (Simple Object Access Protocol) and REST (RESTRESENTAL STATE TRANSFER) are becoming more important.
SOAP 기반의 웹 서비스는 서비스 기반 구조(SOA: Service Oriented Architecture)를 따른다. 상기 서비스 기반 구조는, 서비스 제공자가 WSDL(Web Services Description Language) 형태로 명세된 웹 서비스를 UDDI(Universal Description, Discovery and Integration) 레지스트리에 등록하여(publication) 공개하고, 서비스 이용자의 요청에 따라 서비스를 발견하고(discovery), 바인딩하여(binding) 제공하는 것이다.SOAP-based Web services follow Service Oriented Architecture (SOA). The service infrastructure includes a service provider that publishes and publishes a Web service specified in a Web Services Description Language (WSDL) format in a UDDI (Universal Description, Discovery and Integration) registry, Discovery, binding, and so on.
REST 기반의 웹 서비스는 리소스 기반의 구조(ROA: Resource Oriented Architecture)를 따른다. 리소스 기반의 표현, 전달 및 접근 구조는, 리소스 제공자가 리소스(resource)에 대한 URI를 등록하고, 리소스 제공자가 직접 리소스 요청자에게 리소스 형태의 서비스를 제공하는 것이다. REST-based Web services follow a resource-oriented architecture (ROA). A resource-based representation, delivery, and access structure is one in which a resource provider registers a URI for a resource and the resource provider directly provides a resource-type service to the resource requester.
SOAP 기반 웹 서비스 및 REST 기반 웹 서비스는 각기 다른 구조로 발전하여 왔으나, 매쉬업을 위해 SOAP 기반의 서비스를 REST 기반의 서비스로 변환하거나 REST 기반의 서비스를 SOAP 기반의 서비스로 변환하여 조합하는 기술이 개발되고 있다. SOAP-based Web services and REST-based Web services have evolved into different structures. However, technologies for converting SOAP-based services into REST-based services or converting REST-based services into SOAP-based services for mashup have been developed .
종래의 기술에 따른 웹 서비스 발견은 WSDL로 기술된 SOAP 기반의 웹 서비스에 대해, OWL-S(Semantic Markup for Web Services)나 SAWSDL(Semantic Annotations for WSDL) 형태로 시맨틱 어노테이션을 수행하고, 상기 수행의 결과를 제공한다.The Web service discovery according to the related art performs semantic annotation in the form of Semantic Markup for Web Services (OWL-S) or Semantic Annotations (WSDL) for a SOAP-based Web service described in WSDL, Results.
따라서, SOAP 기반의 서비스와 REST 기반의 서비스를 매쉬업해야 할 경우, 종래의 기술은 REST 기반의 서비스를 SOAP 기반의 서비스로 변환한 후 어노테이션을 수행해야 하는 문제가 있다.Therefore, when a SOAP-based service and a REST-based service are to be mash-up, there is a problem that the conventional technology needs to perform annotation after converting a REST-based service to a SOAP-based service.
본 발명의 일측에 따르면, 정보를 저장하는 레지스트리, 서비스가 등록된 웹 서비스 포탈 및 서비스가 명세된 URL에서 서비스에 대한 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스를 생성하는 어노테이션 블록, 상기 어노테이션된 서비스의 시맨틱 정보를 상기 레지스트리에 등록하는 퍼블리케이션 블록 및 서비스 어노테이션 및 등록 요청을 수신하여 상기 어노테이션 블록을 호출하고, 상기 퍼블리케이션 블록을 호출하는 에디션 블록을 포함하는, SOAP 및 REST에 기반한 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하여 등록하는 장치가 제공된다.According to an aspect of the present invention, there is provided an information processing system including an annotation block for generating an annotated service by crawling semantic information about a service in a URL specifying a service, a web service portal registered with the service, And an edition block for receiving the service annotation and registration request to invoke the annotation block and calling the publication block, wherein the semantic information of the web service based on the SOAP and REST based web service Is automatically annotated and registered.
서비스에 대한 시맨틱 정보는 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보를 포함할 수 있다.The semantic information for the service may include data semantic information, functional semantic information, and non-functional semantic information.
상기 에디션 블록은 서비스 프로파일 정보를 관리 포탈로 전송할 수 있다.The edition block may send the service profile information to the management portal.
상기 어노테이션 블록은 WSDL의 URL 및 서비스 URI에 접근하여 서비스 명세에 기술된 서비스의 데이터 시맨틱 정보 및 기능적 서비스 정보를 추출할 수 있고, 상기 추출된 데이터 시맨틱 정보 및 기능적 서비스 정보에 기반하여 어노테이션을 수행할 수 있다.The annotation block accesses the URL and the service URI of the WSDL to extract data semantic information and functional service information of the service described in the service description, and performs annotation based on the extracted data semantic information and functional service information .
상기 어노테이션 블록은 서비스 정보가 등록되어 있는 웹 서비스 포탈에 접근하여 서비스 제공자가 등록해 놓은 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보를 크롤링하여 자동 어노테이션을 수행할 수 있다.The annotation block accesses a web service portal where service information is registered, and can perform automatic annotation by crawling data semantic information, functional semantic information, and non-functional semantic information registered by a service provider.
상기 웹 서비스 포탈은 Seekda 및 ProgrammableWeb 중 하나 이상을 포함할 수 있다.The web service portal may include one or more of Seekda and ProgrammableWeb.
상기 기능적 시맨틱 정보는 서비스 이름, 서비스 카테고리, 서비스 제공자, 서비스 위치, 서비스 설명, 서비스 제공 국가 중 하나 이상을 포함할 수 있다.The functional semantic information may include at least one of a service name, a service category, a service provider, a service location, a service description, and a service providing country.
상기 비기능적 시맨틱 정보는 서비스에서 사용하는 프로토콜, 가격, 서비스의 가용성, 안전성, 서비스 이용에 대한 선호도, 서비스 타입 및 응답 시간 중 하나 이상을 포함할 수 있다.The non-functional semantic information may include at least one of a protocol used in a service, a price, availability of a service, safety, a preference for service utilization, a service type, and a response time.
본 발명의 다른 일측에 따르면, 서비스 어노테이션 및 등록 요청을 수신하는 단계, 서비스가 등록되어 있는 웹 서비스 포탈 및 서비스가 명세되어 있는 URL에서 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스를 생성하는 단계, 생성된 어노테이션된 서비스를 저장하는 단계 및 관리 포탈로 서비스 프로파일 정보가 전달되는 단계를 포함하는 SOAP 및 REST에 기반한 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하여 등록하는 방법이 제공된다.According to another aspect of the present invention, there is provided a method for providing an annotated service, the method comprising: receiving a service annotation and a registration request; crawling semantic information at a web service portal where a service is registered and a URL specifying the service; A method for automatically annotating and registering semantic information of a web service based on SOAP and REST including a step of storing the generated annotated service and a step of delivering service profile information to a management portal are provided.
본 발명은 서비스가 등록되어 있는 웹 서비스 포털 및 서비스가 명세되어 있는 URL에서 시맨틱 정보를 자동으로 크롤링하여 서비스에 대한 어노테이션을 수행하고, 어노테이션의 결과를 서비스 레지스트리에 등록하는 장치 및 방법을 제공한다.The present invention provides an apparatus and method for automatically registering a Web service portal and a service in which a service is registered, and annotating the service by automatically crawling the semantic information in the URL, and registering the result of the annotation in the service registry.
상기 웹 서비스 포털에는 서비스를 명세하는 포멧이 서로간에 다른 SOAP에 기반한 웹 서비스 및 REST에 기반한 웹 서비스가 제한 없이 등록된다. 따라서, 상기 장치 및 방법은 SOAP 기반의 서비스 및 REST 기반의 서비스에 대한 통합 어노테이션 및 매쉬업을 개시한다.The SOAP-based web service and the REST-based web service are registered in the web service portal unlimitedly in formats in which the service specification is different from each other. Accordingly, the apparatus and method disclose an integrated annotation and mashup for SOAP-based services and REST-based services.
상기 시맨틱 정보는 사용자 목적 기반의 서비스 발견을 위해 유용한 것이다.The semantic information is useful for user-based service discovery.
본 발명의 일 실시예에 따른 장치 및 방법은 일반적인 시맨틱 어노테이션에 이용되는 데이터 시맨틱 정보 및 기능적 시맨틱 정보를 어노테이션하여 제공하며, 비기능적 시맨틱 정보를 어노테이션하여 제공한다. 비기능적 시맨틱 정보는 런타임으로 누적되는 로그형태의 통계정보인 서비스의 가용성(availability), 안전성(security), 서비스 이용에 대한 선호도(rating) 및 응답 시간(response time) 등을 포함한다.The apparatus and method according to an exemplary embodiment of the present invention annotate data semantic information and functional semantic information used in a general semantic annotation and provide non-functional semantic information by annotating it. Non-functional semantic information includes service availability, security, rating for service utilization, and response time, which are statistical information of the log type accumulated in the runtime.
상기의 비기능적 시맨틱 정보는 사용자의 상황에 따라 달라질 수 있는 목적 기반의 서비스 발견에 유용하게 이용될 수 있다.The non-functional semantic information can be usefully used for object-based service discovery, which may vary depending on the user's situation.
본 발명은 종래에 명세되어 있는 SOAP 및 REST 기반 웹 서비스에 대해 서비스를 명세하는 포맷에 제약받지 않은 채 어노테이션을 수행함으로써, 서비스 메쉬업에 이용될 수 있게 한다.The present invention makes it possible to use the SOAP and REST-based web services, which have been specified in the related art, by performing annotation without restriction on the format for specifying a service, thereby enabling service mesh up.
도 1은 본 발명의 일 실시예에 따른 웹 서비스 시스템의 구조도이다.
도 2는 본 발명의 일 실시예에 따른 어노테이션 등록 장치의 구성도이다.
도 3은 본 발명의 일 예에 따른 어노테이션 블록의 세부 구성도이다.
도 4는 본 발명의 일 예에 따른 어노테이션 및 등록을 제공하는 사용자 인터페이스이다.
도 5는 본 발명의 일 예에 따른 서비스의 시맨틱 정보를 도시한다.
도 6은 본 발명의 일 실시예에 따른 어노테이션 등록 방법을 도시한다.1 is a structural diagram of a web service system according to an embodiment of the present invention.
2 is a configuration diagram of an annotation registration apparatus according to an embodiment of the present invention.
3 is a detailed block diagram of an annotation block according to an exemplary embodiment of the present invention.
4 is a user interface that provides annotations and registration in accordance with an example of the present invention.
FIG. 5 illustrates semantic information of a service according to an exemplary embodiment of the present invention.
FIG. 6 illustrates an annotation registration method according to an embodiment of the present invention.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.
도 1은 본 발명의 일 실시예에 따른 웹 서비스 시스템(100)의 구조도이다.1 is a structural diagram of a
웹 서비스 시스템(100)은 관리 포탈(110), 어노테이션 등록 장치(120) 및 웹 서비스 포탈(130)을 포함한다.The
관리 포탈(110)은 어노테이션 등록 장치(120)로 서비스 어노테이션 및 등록 요청을 전송한다. The
어노테이션 등록 장치(120)는 통합 웹 서비스의 시맨틱 정보를 자동으로 어노테이션 하여 등록하는 장치이다.The
어노테이션 등록 장치(120)는 서비스 어노테이션 및 등록 요청을 수신하여, 어노테이션을 수행한 후 관리 포탈(110)로 서비스 프로파일 정보를 전달한다.The
웹 서비스 포탈(130)에는 웹 서비스가 등록되어 있다. 웹 서비스 포탈(130)은 예컨대 Seekda 또는 ProgrammableWeb 웹 서비스 포탈일 수 있다. 웹 서비스 포탈(130)은 어노테이션에 필요한 정보를 어노테이션 등록 장치(120)에게 제공한다.
A Web service is registered in the
도 2는 본 발명의 일 실시예에 따른 어노테이션 등록 장치(120)의 구성도이다.2 is a configuration diagram of an
어노테이션 등록 장치(120)는 에디션(edition) 블록(210), 어노테이션(annotation) 블록(220), 퍼블리케이션(publication) 블록(230) 및 레지스트리(240)를 포함한다.The
에디션 블록(210)은 어노테이션 및 등록을 위한 인터페이스(interface) 기능을 수행한다.The
에디션 블록은 관리 포탈(210)로부터의 서비스 어노테이션 및 등록 요청을 수신하고, 상기 수신에 의해 활성화되는 블록이다.The edition block is a block that receives the service annotation and registration request from the
에디션 블록(210)은 사용자 인터페이스(interface)를 제공한다. 상기 사용자 인터페이스는 서비스 어노테이션 및 등록 요청을 수신하고, 어노테이션을 수행하기 위해 어노테이션 블록(220)을 호출하며, 어노테이션 수행 결과를 레지스트리(240)에 등록하기 위해 퍼블리케이션 블록(230)을 호츨한다.The
에디션 블록(210)은 어노테이션을 수행한 후, 어노테이션된 시맨틱 정보 중 관리 포탈(110)에서 관리되는 서비스 프로파일의 정보를 관리 포탈(110)로 전송한다.The
관리 포탈(210)에서 관리되는 서비스 프로파일은 서비스의 기능적 시맨틱 정보 및 비기능적 시맨틱 정보를 포함한다.The service profile managed at the
기능적 시맨틱 정보는 서비스 이름(service name), 서비스 카테고리(service category), 서비스 제공자(service provider), 서비스 위치(service URL) 및 서비스 설명(description) 중 하나 이상을 포함할 수 있다.The functional semantic information may include one or more of a service name, a service category, a service provider, a service URL, and a service description.
비기능적 시맨틱 정보는 프로토콜(protocol) 및 가격을 포함할 수 있다.The non-functional semantic information may include a protocol and a price.
어노테이션 블록(220)은 실제 어노테이션을 수행하는 블록으로, 서비스에 대한 시맨틱 정보를 어노테이션한다.The
어노테이션 블록(220)은 서비스가 등록된 웹 서비스 포탈 및 서비스가 명세된 URL에서, 서비스에 대한 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보를 크롤링(crawling)함으로써 어노테이션을 수행한다.The
일차적으로, 어노테이션 블록(220)은 SOAP 기반의 서비스에 대한 명세인 WSDL의 URL 및 REST 기반의 서비스 URI에 접근하여 서비스 명세에 기술된 서비스의 데이터 시맨틱 정보 및 기능적 시맨틱 정보를 추출한다.First, the
이차적으로, 어노테이션 블록(220)은 서비스 정보가 등록되어 있는 웹 서비스 포탈(예컨대, Seekda 또는 ProgrammableWeb)에 접근하여 서비스 제공자가 등록해 놓은 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보를 크롤링하여 자동 어노테이션을 수행한다.Secondarily, the
어노테이션 블록(220)의 구성이 도 3을 참조하여 후술된다.The configuration of the
퍼블리케이션 블록(230)은 어노테이션된 서비스의 시맨틱 정보를 레지스트리(240)에 등록한다. 등록된 시맨틱 정보는 서비스 발견 및 조합에 이용된다.The
레지스트리(240)는 어노테이션된 서비스의 시맨틱 정보를 저장한다.
The
도 3은 본 발명의 일 예에 따른 어노테이션 블록의 세부 구성도이다.3 is a detailed block diagram of an annotation block according to an exemplary embodiment of the present invention.
어노테이션 블록은 기본 크롤러(310) 및 부가 크롤러(320)를 포함한다.The annotation block includes a
기본 크롤러(310)는 전술된 시맨틱 정보들 중 기본 고려 대상인(mandatory) 시맨틱 정보를 크롤링하여 자동 어노테이션을 수행한다.The
부가 크롤러(320)는 전술된 시맨틱 정보들 중 선택적인 고려 대상인(optional) 시맨틱 정보를 크롤링하여 자동 어노테이션을 수행한다.
The
도 4는 본 발명의 일 예에 따른 어노테이션 및 등록을 제공하는 사용자 인터페이스이다.4 is a user interface that provides annotations and registration in accordance with an example of the present invention.
임포트 서비스(import service)(410)는 사용자로부터 SOAP 기반의 서비스에 대한 명세인 WSDL의 URL 및 REST 기반의 서비스 URI를 수신하여, 원거리 URL 또는 URI에 등록되어 있는 SOAP 및 REST 기반의 웹 서비스를 로컬(local), 즉 어노테이션 등록 장치(120)로 로드(load)하여 저장한다. 상기의 로드 작업은 어노테이션 블록(220)에 의해 수행될 수 있다. 이 때, 서비스 명세에 기술된 서비스의 시맨틱 정보 및 기능적 시맨틱 정보가 추출된다. 어노테이션 블록(220)은 상기 추출의 결과를 사용하여 자동 어노테이션을 수행한다. 상기 추출의 결과는 인터페이스 화면에 표시될 수 있다.The import service 410 receives a WSDL URL and a REST-based service URI, which are specifications of a SOAP-based service from a user, and stores the SOAP and REST-based web service registered in the remote URL or URI as a local i.e., the
크롤 서비스 정보(crawl service information)(420)는 사용자가 웹 서비스 정보가 등록되어 있는 웹 서비스 포탈(예컨대, Seekda 및 ProgrammableWeb 등)을 선택하면, 상기 선택에 대한 정보를 포함하는 신호를 수신한다. 어노테이션 등록 장치(120)는 상기 신호에 따라, 서비스 정보가 등록되어 있는 선택된 웹 서비스 포탈에 접근하여 서비스 제공자가 등록해 놓은 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보를 추출하여, 자동 어노테이션을 수행한다.The
서비스 정보(430)의 필드(field)는 상기 수행된 어노테이션의 결과에 의해 채워진다.The field of the
따라서 임포트 서비스(410) 및 크롤 서비스 정보(420)를 사용하는 단계를 거침으로써 서비스 정보(430)의 필드가 채워지는 자동 어노테이션이 수행된다.Therefore, an automatic annotation is performed in which fields of the
서비스 정보(430)의 필드는 서비스의 기능에 대한 기능적 시맨틱(Functional Semantics) 정보 필드(440), 비기능적 시맨틱(Non-Functional Semantics) 정보 필드(450) 및 서비스의 입출력 파라미터에 해당하는 데이터 시맨틱 정보 필드(460)을 포함할 수 있다.The fields of the
기능적 시맨틱 정보 필드(440)는 서비스 이름(service name) 필드, 서비스 카테고리(service category) 필드, 서비스 제공자(service provider) 필드, 서비스 위치(service URL) 필드, 서비스 설명(description) 필드, 서비스 효과(effect) 필드, 서비스 제공 국가(country) 필드를 포함할 수 있다.The functional
비기능적 시맨틱 정보 필드(450)는 서비스에서 사용하는 프로토콜(protocol) 필드, 가격(cost) 필드, 서비스의 가용성(availability) 필드, 안전성(security) 필드, 서비스 이용에 대한 선호도(rating) 필드, 서비스 타입 필드 및 응답 시간(response time) 필드를 포함할 수 있다.The non-functional
자동 어노테이션이 완료되고, 이용자가 어노테이션 결과 개시(show annotation result) 항목(470)을 선택하면, 어노테이션 등록 장치(120)는 XML 형태로 생성된 어노테이션 결과를 표시부(도시되지 않음)로 출력한다.When the automatic annotation is completed and the user selects the annotation result entry 470, the
이용자가 퍼블리시(publish) 항목(480)을 선택하면, 어노테이션 등록 장치(120)는 생성된 어노테이션 결과를 레지스트리(240)에 등록한다.
When the user selects the publish
도 5는 본 발명의 일 예에 따른 서비스의 시맨틱 정보를 도시한다.FIG. 5 illustrates semantic information of a service according to an exemplary embodiment of the present invention.
상기 시맨틱 정보는 이용자의 목적에 맞는 서비스 발견 및 조합에 이용될 수 있는 서비스가 정의된 것이다.The semantic information is defined as a service that can be used for service discovery and combination according to the purpose of the user.
데이터 시맨틱 정보(510), 기능적 시맨틱 정보(520) 및 비기능적 시맨틱 정보(530) 각각에 대해, 어노테이션의 대상이 되는 시맨틱 정보들이 정의되었다. 각각의 시맨틱 정보의 필드 이름은 도 5에서 도시된 표의 제2 열(540)에서 표시되었고, 각각의 시맨틱 정보는 도 5에서 도시된 표의 행으로서 표시된다.Semantic information to be annotated is defined for each of the data
상기 표의 제3 열(550) 및 제4 열(560)은, 서비스 정보를 크롤링해 오는 웹 서비스 포탈(Seekda 및 ProgrammableWeb)에서 각각의 시맨틱 정보가 어떤 이름으로 정의되었는를 도시한다. 제3 열(550)은 Seekda에 대한 것이고, 제4 열(560)은 ProgrammableWeb에 대한 것이다.The
상기 표의 제5 열(570)은 시맨틱 정보 중 기본 고려 대상인 것을 'O'로, 선택적인 고려 대상인 것을 '(선택적)'으로 표시하였다. 상기 시맨틱 정보 중 기본 고려 대상인 것은 기본 크롤러(310)에서, 선택적인 고려 대상인 것은 부가 크롤러(320)에서 크롤링될 수 있다.In the fifth column (570) of the table, 'O' is selected as the basic consideration target and '(optional)' as the selective consideration target. In the
데이터 시맨틱(510)은 서비스의 입출력 파라미터에 관한 정보이다. Seekda에서는 입출력 필드 "In/Output"가 정의되었고, "In/Output"를 통해 관련 정보를 제공한다. The
서비스의 기능적 시맨틱 정보(520)는 서비스 이름(service name), 서비스 카테고리(service category), 서비스 제공자(service provider), 서비스 위치(service URL), 서비스 설명(description), 서비스 제공 국가(country) 및 서비스 효과(effect)를 포함할 수 있다.The functional
서비스 이름(service name)은 Seekda에서는 "Title" 필드로, ProgrammableWeb에서는 "API name" 필드로 정의되었다. 서비스 카테고리(service category)는 Seekda에서는 미정의 되었고, ProgrammableWeb에서는 "category" 필드로 정의되었다. 서비스 제공자(service provider)는 Seekda 및 ProgrammableWeb에서 "provider" 필드로 정의되었다. 서비스 위치(service URL)는 Seekda에서는 "WSDL file" 필드로, ProgrammableWeb에서는 "API home" 필드로 정의되었다. 서비스 설명(description)은 Seekda에서는 "description" 필드로, ProgrammableWeb에는 "summary" 필드로 정의되었다. 서비스 제공 국가(country)는 Seekda에서만 정의된 필드이지만, 지역 서비스 제공시에 유용한 시맨틱 정보이므로 선택적인 것으로 정의되었다. 서비스 효과(effect)는 Seekda 및 ProgrammableWeb에서는 필드가 정의되어 있지 않지만, 웹 서비스가 기술되어 있는 URL(URI)에서의 크롤링을 통해 추출될 수 있으며, 서비스 발견에 유용한 시맨틱 정보이므로 선택적인 것으로 정의되었다.The service name is defined as the "Title" field in Seekda and the "API name" field in ProgrammableWeb. The service category is undefined in Seekda and defined in the "category" field in ProgrammableWeb. The service provider is defined in the "provider" field in Seekda and ProgrammableWeb. The service location (service URL) is defined as the "WSDL file" field in Seekda and the "API home" field in ProgrammableWeb. The service description is defined as the "description" field in Seekda and the "summary" field in ProgrammableWeb. The country of service is a field defined only by Seekda, but it is defined as optional since it is semantic information useful in providing local service. The service effect is defined as optional because Seekda and ProgrammableWeb do not define the field but can be extracted through crawling at the URL (URI) where the Web service is described and semantic information useful for service discovery.
전술된 것과 같은 서비스의 기능적 시맨틱 정보(520)는 Seekda 및 ProgrammableWeb에서 대부분 정의가 되어 있는 필드이다. 따라서, 서비스의 기능적 시맨틱 정보는 용이하게 크롤링될 수 있다.The functional
서비스의 비기능적 시맨틱 정보(530)는 서비스에서 사용하는 프로토콜, 가격(cost), 서비스의 가용성(availability), 안전성(security), 서비스 이용에 대한 선호도(rating), 서비스 타입 및 응답 시간(response time) 정보를 포함할 수 있다. 서비스 타입은 서비스가 단순 서비스인지 또는 복합 서비스인지를 명시한다.The non-functional
프로토콜은 Seekda 및 ProgrammableWeb에서 "protocol" 필드로 정의되었다. 프로토콜은 서비스가 SOAP을 이용하는 것인지 또는 REST 기반의 서비스로서 HTTP를 이용하는 것인지를 나타낸다. 가격(cost)은 ProgrammableWeb에서만 "usage fees" 필드로 정의되었다. 서비스의 가용성(availability)은 Seekda에서만 "availability" 필드로 정의되었다. 안전성(security) 필드는 ProgrammableWeb에서만 "security" 필드로 정의되었다. 상기 "security" 필드는 인증 모델(authentication model) 및 SSL 지원(support) 정보를 제공한다. 서비스 이용에 대한 선호도(rating)는 Seekda에서만 "user rating" 필드로 정의되었다. 상기 "user rating" 필드는 이용자의 용법(usage) 및 선호도(rating)에 대한 정보를 제공한다. 서비스 타입(service type) 및 응답 시간(response time)은 Seekda 및 ProgrammableWeb에서는 정의되지 않은 필드지만, 유용한 시맨틱 정보이므로 사용을 위해 정의되었다. 서비스 타입은 서비스가 단순 서비스(atomic service)인지 또는 복합 서비스(composite service)인지를 명시한다. The protocol was defined in the "protocol" field in Seekda and ProgrammableWeb. The protocol indicates whether the service uses SOAP or HTTP as a REST-based service. The cost is defined in the "usage fees" field only in ProgrammableWeb. The availability of the service is defined in the "availability" field only in Seekda. The security field is defined in the "security" field only in ProgrammableWeb. The "security" field provides an authentication model and SSL support information. The rating for service use is defined in the "user rating" field only in Seekda. The "user rating" field provides information on the usage and rating of the user. The service type and response time are undefined fields in Seekda and ProgrammableWeb, but they are defined for use because they are useful semantic information. The service type specifies whether the service is an atomic service or a composite service.
전술된 서비스의 비기능적 정보(530) 중 일부는 Seekda 및 ProgrammableWeb에서 정의되지 않았다. 따라서, 비기능적 시맨틱 정보(530)의 필드들은 대부분이 기본 고려 대상이 아닌 부가 고려 대상 시맨틱으로 정의되었다.
Some of the above
도 6은 본 발명의 일 실시예에 따른 어노테이션 등록 방법을 도시한다.FIG. 6 illustrates an annotation registration method according to an embodiment of the present invention.
단계(S610)에서, 서비스 어노테이션 및 등록 요청을 수신한다.In step S610, a service annotation and a registration request are received.
단계(S620)에서, 서비스가 등록되어 있는 웹 서비스 포탈 및 서비스가 명세되어 있는 URL에서 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스가 생성된다.In step S620, the annotated service is generated by crawling the semantic information at the URL where the service is registered and the Web service portal in which the service is registered and performing annotation.
상기 시맨틱 정보는 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보를 포함할 수 있다.The semantic information may include data semantic information, functional semantic information, and non-functional semantic information.
단계(S630)에서, 생성된 어노테이션된 서비스가 저장된다.In step S630, the generated annotated service is stored.
단계(S640)에서, 관리 포탈로 서비스 프로파일 정보가 전달된다.In step S640, the service profile information is transmitted to the management portal.
서비스 프로파일 정보는 어노테이션된 서비스의 시맨틱 정보 중 관리 포탈에서 관리되는 것이다.The service profile information is managed in the management portal among the semantic information of the annotated service.
앞서 도 1 내지 도 5를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
The technical contents according to one embodiment of the present invention described above with reference to Figs. 1 to 5 may be applied to this embodiment as it is. Therefore, a more detailed description will be omitted below.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention can be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
100: 어노테이션 등록 장치
210: 에디션 블록
220: 어노테이션 블록
230: 퍼블리케이션 블록
240: 레지스트리100: Annotation registration device
210: Edition Block
220: Annotation block
230: publishing block
240: Registry
Claims (11)
서비스가 등록된 웹 서비스 포탈 및 서비스가 명세된 URL에서 서비스에 대한 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스를 생성하는 어노테이션 블록;
서비스 어노테이션 및 등록 요청을 수신하여 상기 어노테이션 블록을 호출하는 에디션 블록; 및
상기 어노테이션된 서비스의 시맨틱 정보를 상기 레지스트리에 등록하는 퍼블리케이션 블록
을 포함하고,
상기 에디션 블록은 상기 서비스 어노테이션 및 등록 요청을 수신하여 상기 퍼블리케이션 블록을 호출하는, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.A registry to store information;
An annotation block for generating an annotated service by performing annotation by crawling semantic information on a service in a URL for which a service is registered and a service specified URL;
An edition block for receiving the service annotation and registration request and calling the annotation block; And
A publishing block for registering the semantic information of the annotated service in the registry,
/ RTI >
Wherein the edition block receives the service annotation and the registration request and invokes the publishing block, automatically annotating the semantic information of the web service.
서비스가 등록된 웹 서비스 포탈 및 서비스가 명세된 URL에서 서비스에 대한 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스를 생성하는 어노테이션 블록; 및
서비스 어노테이션 및 등록 요청을 수신하여 상기 어노테이션 블록을 호출하는 에디션 블록
을 포함하고,
상기 서비스에 대한 시맨틱 정보는 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보 중 하나 이상을 포함하는, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.A registry to store information;
An annotation block for generating an annotated service by performing annotation by crawling semantic information on a service in a URL for which a service is registered and a service specified URL; And
A service annotation and an edition block for receiving the registration request and calling the annotation block
/ RTI >
Wherein the semantic information for the service includes at least one of data semantic information, functional semantic information, and non-functional semantic information.
상기 기능적 시맨틱 정보는 서비스 이름, 서비스 카테고리, 서비스 제공자, 서비스 위치, 서비스 설명 및 서비스 제공 국가 중 하나 이상을 포함하는, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.The method of claim 3,
Wherein the functional semantic information includes at least one of a service name, a service category, a service provider, a service location, a service description, and a service providing country.
상기 비기능적 시맨틱 정보는 상기 서비스에서 사용하는 프로토콜, 상기 서비스의 가격, 상기 서비스의 가용성, 상기 서버스의 안정성, 상기 서버스의 이용에 대한 선호도, 상기 서비스의 서비스 타입 및 상기 서비스의 응답 시간 중 하나 이상을 포함하는, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.The method of claim 3,
The non-functional semantic information includes at least one of a protocol used in the service, a price of the service, availability of the service, stability of the service, preference for use of the service, service type of the service, And automatically annotating the semantic information of the web service.
서비스가 등록된 웹 서비스 포탈 및 서비스가 명세된 URL에서 서비스에 대한 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스를 생성하는 어노테이션 블록; 및
서비스 어노테이션 및 등록 요청을 수신하여 상기 어노테이션 블록을 호출하는 에디션 블록
을 포함하고,
상기 에디션 블록은 서비스 프로파일의 정보를 관리 포탈로 전송하는, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.A registry to store information;
An annotation block for generating an annotated service by performing annotation by crawling semantic information on a service in a URL for which a service is registered and a service specified URL; And
A service annotation and an edition block for receiving the registration request and calling the annotation block
/ RTI >
Wherein the edition block automatically transmits information of a service profile to a management portal, and automatically annotates the semantic information of the web service.
상기 에디션 블록은 상기 관리 포탈로부터 상기 서비스 어노테이션 및 등록 요청을 수신하고, 상기 서비스 어노테이션 및 등록 요청을 수신함에 의해 활성화되는, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.The method according to claim 6,
Wherein the edition block automatically receives the service annotation and registration request from the management portal and is activated by receiving the service annotation and the registration request.
상기 서비스 프로파일의 정보는 어노테이션된 상기 시맨틱 정보 중 상기 관리 포탈에서 관리되는 정보인, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.8. The method of claim 7,
Wherein the service profile information is information managed in the management portal among the annotated semantic information, automatically annotating the semantic information of the web service.
서비스가 등록된 웹 서비스 포탈 및 서비스가 명세된 URL에서 서비스에 대한 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스를 생성하는 어노테이션 블록; 및
서비스 어노테이션 및 등록 요청을 수신하여 상기 어노테이션 블록을 호출하는 에디션 블록
을 포함하고,
상기 어노테이션 블록은 웹 서비스들 설명 언어(Web Services Description Language; WSDL)의 유일 자원 지시기(Uniform Resource Locator; URL) 및 서비스 통합 자원 식별자(Uniform Resource Identifier; URI)에 접근하여 서비스 명세에 기술된 상기 서비스의 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보 중 하나 이상을 크롤링하여 자동 어노테이션을 수행하는, 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 장치.A registry to store information;
An annotation block for generating an annotated service by performing annotation by crawling semantic information on a service in a URL for which a service is registered and a service specified URL; And
A service annotation and an edition block for receiving the registration request and calling the annotation block
/ RTI >
The annotation block accesses a Uniform Resource Locator (URL) and a Uniform Resource Identifier (URI) of a Web Services Description Language (WSDL) And automatically annotates the semantic information of the web service by crawling at least one of the data semantic information, the functional semantic information, and the non-functional semantic information of the web service.
서비스 어노테이션 및 등록 요청을 수신하는 단계; 및
서비스가 등록되어 있는 웹 서비스 포탈 및 상기 서비스가 명세되어 있는 URL에서 시맨틱 정보를 크롤링하여 어노테이션을 수행함으로써 어노테이션된 서비스를 생성하는 단계
를 포함하고
상기 서비스에 대한 시맨틱 정보는 데이터 시맨틱 정보, 기능적 시맨틱 정보 및 비기능적 시맨틱 정보 중 하나 이상을 포함하는, 전자 장치가 웹 서비스의 시맨틱 정보를 자동으로 어노테이션하는 방법.A method of automatically annotating semantic information of a web service in an electronic device,
Receiving a service annotation and a registration request; And
A step of generating an annotated service by performing annotation by crawling semantic information at a web service portal in which a service is registered and a URL in which the service is specified
Including the
Wherein the semantic information for the service includes at least one of data semantic information, functional semantic information, and non-functional semantic information, wherein the electronic device annotates the semantic information of the web service automatically.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100081434A KR101393247B1 (en) | 2010-08-23 | 2010-08-23 | Apparatus and method for automatic annotation and publication of semantic information of web services based soap and rest |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100081434A KR101393247B1 (en) | 2010-08-23 | 2010-08-23 | Apparatus and method for automatic annotation and publication of semantic information of web services based soap and rest |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120018528A KR20120018528A (en) | 2012-03-05 |
KR101393247B1 true KR101393247B1 (en) | 2014-05-22 |
Family
ID=46127761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100081434A KR101393247B1 (en) | 2010-08-23 | 2010-08-23 | Apparatus and method for automatic annotation and publication of semantic information of web services based soap and rest |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101393247B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100068159A (en) * | 2008-12-12 | 2010-06-22 | 한국전자통신연구원 | Semantic service discovery apparatus and method |
KR20100091367A (en) * | 2009-02-10 | 2010-08-19 | 경북대학교 산학협력단 | Method and system for transforming blog posting to ontology-based information |
KR20110051519A (en) * | 2009-11-10 | 2011-05-18 | 한국전자통신연구원 | Semantic annotation apparatus for web services |
-
2010
- 2010-08-23 KR KR1020100081434A patent/KR101393247B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100068159A (en) * | 2008-12-12 | 2010-06-22 | 한국전자통신연구원 | Semantic service discovery apparatus and method |
KR20100091367A (en) * | 2009-02-10 | 2010-08-19 | 경북대학교 산학협력단 | Method and system for transforming blog posting to ontology-based information |
KR20110051519A (en) * | 2009-11-10 | 2011-05-18 | 한국전자통신연구원 | Semantic annotation apparatus for web services |
Also Published As
Publication number | Publication date |
---|---|
KR20120018528A (en) | 2012-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9916355B2 (en) | System and methods for enabling arbitrary developer code consumption of web-based data | |
Patni | Pro RESTful APIs | |
EP2962216B1 (en) | Sharing application states | |
US7870482B2 (en) | Web browser extension for simplified utilization of web services | |
US9723061B1 (en) | Transport protocol independent communications library | |
US20140025725A1 (en) | Method and apparatus for moving web object based on intent | |
Aghaee et al. | Mashup development with HTML5 | |
JP2008021293A (en) | Content management method and apparatus | |
KR20110088274A (en) | Apparatus for providing terminal web service and method thereof | |
US20140026067A1 (en) | Method and apparatus for processing movement of web object based on intent | |
KR100759186B1 (en) | System and method to provide web service that delivers information from semi structured web document and database | |
Kalali et al. | Developing RESTful services with JAX-RS 2.0, WebSockets, and JSON | |
Biörnstad et al. | Let it flow: Building mashups with data processing pipelines | |
KR20120137629A (en) | System for providing shorten url browsing with branding , method thereof, and web client thereof | |
KR101393247B1 (en) | Apparatus and method for automatic annotation and publication of semantic information of web services based soap and rest | |
US10095801B2 (en) | Providing interaction between a first content set and a second content set in a computer system | |
Purushothaman | RESTful Java Web Services | |
Web | Programmable web | |
Tayeh et al. | A dynamically extensible open cross-document link service | |
Goncalves et al. | Soap web services | |
Daniel et al. | Chapter 5: From Mashup Technologies to Universal Integration: Search Computing the Imperative Way | |
Pandey | Spring integration essentials | |
KR101256838B1 (en) | Method, apparatus and system for delivering mutually available information to connect primary screen and second screen | |
CN103186659A (en) | Community-based web service user interface annotations | |
Yang et al. | Incorporating metadata into interoperable OGC WPS architecture for SDI |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20170327 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180406 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190325 Year of fee payment: 6 |