시맨틱 웹 서비스

Saltlux

Jump to: navigation, 찾기

목차

개요

W3C에 따르면, 웹 서비스는 네트워크상에 있는 컴퓨터들끼리 서로 윤용 가능하도록 디자인 된 소프트웨어 시스템입니다. 웹 서비스는 다른 시스템들과 연동하기 위해 SOAP메시지를 사용하는데, 그것들은 일반적으로 다른 웹 기반의 표준 기술들(HTTP, XML)들과 결합되어 다른 시스템에 전달됩니다.

웹 서비스는 보통 SOA를 기반으로, 서비스 제공자, 서비스 요청자, 서비스 레지스트리로 구성되어 있습니다. 서비스 제공자는 웹 서비스에 대한 명세 정보(서비스 이름, 분류코드, 서비스 인터페이스 정보 등)를 WSDL(Web Service Description Language)과 UDDI(Universal Description Discovery and Integration Protocol)를 이용하여 서비스 레지스트리에 등록하고, 서비스 레지스트리는 서비스 정보들을 등록, 관리하며, 서비스 요청자가 원하는 서비스를 검색하고, 검색된 서비스 정보를 사용자에게 전달하고, 서비스 요청자들은 서비스 레지스트리에 자신이 원하는 서비스를 질의하면, 전달받은 서비스를 이용하여 웹 서비스를 실행합니다.
시맨틱 웹 서비스는 웹 서비스에 시맨틱 웹 기술을 접목시킨 기술로써, 시맨틱 웹 어노테이션, 서비스들간 연동(발견, 합성, 선택, 호출 등) 등에 대한 자동화을 통해 웹 서비스 표현의 확장을 지원합니다.


시맨틱 웹 서비스의 필요성

기존 웹 서비스들 간의 상호 운용을 위한 XML표준은 단순히 구문적인 서비스 명세들을 제공할 뿐, 메시지의 의미를 제공하지는 못합니다. 예를 들면, WSDL은 웹 서비스와 송/수신 데이터들의 구조를 통해 가능한 연산들을 지정하지만, 데이터의 시맨틱한 의미나 적용 가능한 제약들을 표현하기 어렵습니다. 이것은 이질적으로 작성된 서비스들의 발견, 합성, 실행을 자동화하는 것을 어렵게 합니다. 시맨틱 웹 서비스는 웹 서비스에 대한 서비스 온톨로지를 정의함으로써, 웹 서비스의 의미를 동적으로 발견하고, 웹 서비스 기능들의 합성과 실행을 자동으로 가능하게 합니다.

시맨틱 웹 서비스 구성 요소

시맨틱 웹 서비스의 목표는 웹 서비스 발견(Discovery), 호출(Invocation), 합성(Composition), 실행(Execution) 등을 시맨틱 기술을 이용하여 자동화하는 것입니다. 시맨틱 웹 서비스를 위해서 제안된 구조는 다음과 같습니다.


  • 자동화된 웹 서비스 발견

시맨틱 웹 서비스에서는 온톨로지의 클래스간 관계성을 통화여 좀더 자동화된 검색을 가능하게 합니다. 예를 들어 “서울에서 제주까지 왕복 항공권”을 예매하려는 경우, 기존의 웹 서비스에서는 항공 예매 서비스를 찾은 후, 해당 웹 서비스를 바인딩 한 후 추가적인 구매정보를 입력해야만 합니다. 그러나 시맨틱 웹 서비스에서는 “서울에서 제주까지 왕복 항공권 예매” 서비스를 질의할 수 있게 됩니다.

  • 자동화된 웹 서비스 실행

현재, 웹 서비스의 실행은 웹 페이지 상에서 폼의 입력 또는 인터페이스의 입력 파라미터을 통해 수행할 수 있습니다. 그러나, 시맨틱 웹 서비스에서는 “1월 20일 날 서울에서 제주로 출발하는 대한항공 항공권 구매”와 같은 질의를 통해서 서비스 이용에 필요한 입력 파라미터를 자동으로 생성 함으로서 서비스를 자동으로 실행할 수 있습니다.

  • 자동화된 웹 서비스 합성

현재의 웹 서비스에서는 WSFL이나 XLang와 같은 비즈니스 플로우 정의 언어를 이용해 특정 비즈니스 플로우를 정적으로 정의하고 이때 요구 되어지는 웹 서비스의 조합을 수행하고 있습니다. 시맨틱 웹 서비스는 이보다 더 발전된 형태로 비즈니스 플로우의 최종 목적을 입력하고 이를 통해 동적으로 구성된 비즈니스 플로우를 얻을 수 있습니다. 예를 들어, 시맨틱 웹 서비스에서는 “IWSC2009를 위한 여행 계획을 작성하라”라는 질의를 통해 항공권 예매, 학회 등록, 숙박 예약 등과 같은 각 웹 서비스들을 자동으로 합성하여 “여행 계획”이라는 비즈니스 프로세스를 생성, 수행할 수 있는 기능을 가집니다.

시맨틱 웹 서비스 기술 요소

W3C에서는 시맨틱 웹 서비스와 관련하여 SWSL(Semantic Web Services Language), SWSO(Semantic Web Services Ontology), SWSF(semantic Web Services Framework)와 같은 연구들이 진행되고 있으며, ESSI 작업그룹에서는 WSMO(Web Services Modeling Ontology), WSML(Web Services Modeling Language), WSMX(Web Services Modeling Environment)에 대한 연구가 진행 중입니다. 주요한 기술 요소는 아래와 같습니다.

  • WSML(Web Services Modeling Language)

WSML은 ESSI(European Semantic Systems Initiative) 클러스터 작업그룹 중 ESSI WSML 작업그룹이 선도하고 있는 표준안으로서, WSML-Core, WSML-DL, WSML-Flight, WSML-Full버전을 지원하고 있습니다. WSML 버전은 다음과 FOL, Logic Programming, Description Logic의 지원 여부에 따라 달라지며, 각 버전 별 지원 범위는 아래 그림과 같습니다.

  • SWSL(Semantic Web Service Language)

SWSL은 개별적인 웹 서비스들과 SWSO를 명세하기 위한 웹 서비스 표현 언어입니다. SWSL은 First Order Logic을 지원하는 SWSL-FOL과 룰 기반 언어를 지원하는 SWSL-Rules로 나누어져 있습니다. SWSL-FOL은 온톨로지의 정형명세를 위해 주로 사용되며, First Order를 기반으로 프로세스 모델과 서비스 온톨로지 들의 상호운용을 지원하는데 목적이 있습니다. SWSL-Rules는 서비스 명세를 위한 실제 언어로 설계되어있습니다.

 

  • WSMO & WSMF

WSMO는 ESSI(European Semantic Systems Initiative) 클러스터 작업그룹 중 ESSI WSMO 작업그룹이 선도하고 있는 표준안으로서, 시맨틱 웹 서비스와 관련된 다양한 정보들을 표현하기 위한 모델링 언어입니다. 즉, WSMO는 웹 서비스들 사이의 통합 문제를 해결하는데 목적이 있으며, 이를 위한 다양한 상황을 기술하기 위한 온톨로지를 생성하기 위한 언어입니다. WSMO는 개념적 모델을 지원하기 위해 개발된 프레임워크인 WSMF (Web Service Modeling Framework)를 기반으로 하고 있습니다. WSMF는 웹 서비스의 주요 요소를 다음과 같이 4가지로 정의하였습니다. 

- 온톨로지(Ontology) : 다른 요소들(목표, 웹 서비스, 중개자)에서 사용된 용어를 제공합니다.
- 목표(Goal) : 목표는 웹 서비스에 의해 해결되어야 하는 문제에 대해 정의합니다.
- 웹 서비스(Web Service) : 웹 서비스는 웹서비스를 다양한 관점(선행조건, 역할, 인터페이스, 가설, 후행조건 등)에서 정의합니다.
- 중개자(Mediator) : 중개자는 온톨로지 - 온톨로지, 온톨로지 – 웹 서비스, 목표 – 웹 서비스들 간의 연동시 나타날 수 있는 문제를 해결하기 위해 정의합니다.

  • OWL-S

BBN Technologies, Carnegie Mellon 대학, 노키아, Stanford 대학, SRI International, Yale 대학 등이 공동으로 연구를 진행한 OWL-S는 OWL기반 웹 서비스 온톨로지로서, 웹 서비스의 속성과 기능을 모호하지 않고 컴퓨터가 이해할 수 있도록 표현하기 위해 설계된 마크 업 언어입니다.( W3C표준)


  • SWSO & SWSF

SWSO는 W3C에서 표준화가 진행되고 있는 시맨틱 온톨로지로서 웹 서비스의 개념적 모델을 표현하고, 모델들의 공리화(axiomatization)나 일반적 특성화(Characterization)를 정의합니다. 완벽한 공리화는 SWSL-FOL을 이용하여 모델이론과 함께 개념들의 정확한 의미를 명세화함으로써 가능해집니다. 온톨로지는 두가지 형식으로 표현될 수 있는데, 첫 번째는 FLOWS(First Order Logic Ontology for Web Sercies)이고, 두 번째는 ROWS(Rules Ontology for Web Services)입니다. SWSO는 개념적 모델을 지원하기 위해 개발된 프레임워크인 SWSF(Semantic Web Service Framework)를 기반으로 하고 있습니다.

  • IRS-III(Internet Reasoning Service – III)

IRS프로젝트는 인터넷상의 시맨틱 시스템의 자동 또는 반자동 구조를 지원하기 위한 목적에서 시작되었습니다. IRS-I은 UPML 프레임워크를 위한 지식 중심 시스템 구조의 생성을 지원하였고, IRS-II는 웹 서비스 기술과 UPML 프레임워크를 통합하였습니다. IRS-III는 WSMO 온톨로지를 기반으로 한 시맨틱 웹 서비스의 생성과 실행을 지원하는 프레임워크입니다. IRS-III는 시맨틱 웹 서비스와 관련된 3가지 주요 클래스를 구분할 수 있습니다. 첫 번째, 표준 프로그램 코드의 원클릭 출판을 지원합니다. 두 번째, WSMO 목표와 웹서비스 개념을 확장함으로써, IRS-III는 목표를 거쳐 웹 서비스를 직접적으로 호출할 수 있습니다. 마지막으로, IRS-III 서비스들은 웹 서비스와 호환 되며, 표준 웹 서비스들은 기본적으로 IRS-III를 통해서 출판될 수 있습니다.

참고자료

OWL-S: Semantic Markup for Web Services”
OWL Web Ontology Language for Services (OWL-S)
"Web Service Modeling Ontology (WSMO)
Web Service Modeling Language(WSML)
Semantic Web Services Language (SWSL)
Semantic Web Services Framework (SWSF) Overview
IRS-III: A broker-based approach to semantic Web services
Approaches to Semantic Web Services: An Overview and Comparisons
웹 서비스의 표준화 동향과 발전 방향

콘텐트 히스토리


[작성 : 솔트룩스 시맨틱그룹 함영경]