[펌]Web Service, WDSL

ITWeb/스크랩 2008. 3. 5. 15:59
1. Web Service
http://en.wikipedia.org/wiki/Web_service


A Web service (also Web Service) is defined by the W3C as "a software system designed to support interoperable Machine to Machine interaction over a network." Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.

The W3C Web service definition encompasses many different systems, but in common usage the term refers to clients and servers that communicate using XML messages that follow the SOAP standard. Common in both the field and the terminology is the assumption that there is also a machine readable description of the operations supported by the server written in the Web Services Description Language (WSDL). The latter is not a requirement of a SOAP endpoint, but it is a prerequisite for automated client-side code generation in many Java and .NET SOAP frameworks (frameworks such as Spring and Apache CXF being notable exceptions). Some industry organizations, such as the WS-I, mandate both SOAP and WSDL in their definition of a Web service.

2. Web Services Description Language
http://en.wikipedia.org/wiki/Web_Services_Description_Language

The Web Services Description Language (WSDL, pronounced 'wiz-dəl' or spelled out, 'W-S-D-L') is an XML-based language that provides a model for describing Web services.

The current version of the specification is the 2.0; version 1.1 has not been endorsed by the W3C but version 2.0 is a W3C recommendation. [1] WSDL 1.2 was renamed WSDL 2.0 because of its substantial differences from WSDL 1.1. By accepting binding to all the HTTP request methods (not only GET and POST as in version 1.1) WSDL 2.0 specification offers a better support for RESTful web services, much simpler to implement [2][3]. However support for this specification is still poor in software development kits for Web Services which often offer tools only for WSDL 1.1.

The WSDL defines services as collections of network endpoints, or ports. WSDL specification provides an XML format for documents for this purpose. The abstract definition of ports and messages is separated from their concrete use or instance, allowing the reuse of these definitions. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Messages are abstract descriptions of the data being exchanged, and port types are abstract collections of supported operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding, where the messages and operations are then bound to a concrete network protocol and message format. In this way, WSDL describes the public interface to the web service.

WSDL is often used in combination with SOAP and XML Schema to provide web services over the Internet. A client program connecting to a web service can read the WSDL to determine what functions are available on the server. Any special datatypes used are embedded in the WSDL file in the form of XML Schema. The client can then use SOAP to actually call one of the functions listed in the WSDL.

XLang is an extension of the WSDL such that "an XLANG service description is a WSDL service description with an extension element that describes the behavior of the service as a part of a business process" [1].

Resources or services are exposed using WSDL by both Web Services Interoperability (WS-I Basic Profile) and WSRF framework.

:

[펌]Semantic Web 2.0: 웹 사이언스의 기술적 기반

ITWeb/스크랩 2008. 2. 21. 09:49
ref. http://www.ibm.com/developerworks/kr/library/dwclm/20070327/?ca=drs-kr

일반적으로 과학과 공학은 목적과 대상에 차이가 있다. 과학의 목적이 현상(phenomena)에 대한 설명과 새로운 현상을 예측하는 이론을 만들어 가는 것이라면, 공학은 과학적 발견과 이론을 이용하여 인간 삶의 질을 향상시키기 위한 인공물을 만드는 것이라 할 수 있다. 이런 점에서 월드와이드웹은 지금까지 공학적 연구개발의 대상이었지만, 최근 팀 버너스 리를 포함한 몇몇 연구자들이 웹을 과학의 대상으로 새로운 정체성을 만들어 가고 있다.

'웹 사이언스(web science)'의 탄생은 '인지과학'과 같은 융합학문과 비견될 수 있을 것이다. 인지과학이란 학문은 인간의 인지적 현상에 대해 연구하기 위해 전산학, 심리학, 언어학, 철학, 신경과학과 같은 다양한 학문적 방법론을 통합적으로 수용하면서 탄생했다. 웹 사이언스는 웹 자체와 웹을 매개로 이루어지는 다양한 현상에 대해 연구하기 위하여 여러 분야의 학문이 학제적으로 결합되는 것을 의미한다. 웹과 관련한 현상이 워낙 광범하고 공학적 연구와도 밀접히 연관되어 있어서 웹 사이언스는 인지과학보다 더 넓은 스펙트럼의 학문적 융합이 요구될 것이다.

예컨대 언어학, 논리학, 인지심리학, 인공지능과 같은 학문은 시맨틱 웹의 중요한 연구주제인 웹에서의 지식 표현과 의미 전달에 대해 이론적 기반을 제공할 것이다.

사회적 정보 공간(social information space)인 웹의 구조적 복잡성이 늘어날수록 웹 토폴로지(web topology)를 설명하기 위한 수학과 물리학적 모델에 대한 연구도 필요하다. 웹을 통한 지식 공유와 커뮤니케이션은 웹 인식론과 언론정보학의 연구 대상이 될 것이다. 웹에서의 사회현상을 설명하는 사회학자가 필요하며, 미래의 역사학자는 구글의 방대한 자료를 통해 연구하게 될 것이다. 웹 정치학은 웹을 통해 이루어지는 정치적 현상을 연구하고, 법학자는 웹에서의 지적재산권, 사생활, 보안과 관련한 다양한 문제점을 해결하려 할 것이다.

웹은 모든 것이 분산되어(decentralized) 있으면서 모든 것이 연결되는(connected) 것을 목표로 한다. 정보자원이 분산될 뿐만 아니라 권위(authority)도 분산되기를 원한다. 전문가의 개념이 무너지고 있고 집단지성과 피어(peer)의 역할이 더욱 중요해지고 있다.

하지만 권위가 분산됨으로 인해 웹에서 신뢰할만한 정보와 그렇지 못한 정보를 구분하기 어렵게 되었다. 인간관계에서 합리적이고 논리적인 설명은 신뢰의 중요한 근거가 된다. 마찬가지로 신뢰의 웹(web of trust)을 구현하기 위해서도 정보자원 간의 논리적 연결성이 표현되어야 하며, 그 결과로 제시되는 정보에 대한 추론 과정이 논리적으로 증명될 수 있어야 한다. 이러한 정보표현의 합리성과 논리성이 바로 시맨틱 웹 기술이 목표로 삼고 있는 바다.

시맨틱 웹의 자동화된 지식표현 기술 외에도 웹에서의 윤리 문제를 다루는 윤리철학과 법학은 신뢰의 웹을 구현하기 위한 웹 사이언스의 중요한 학문적 요소가 된다.

인공지능의 연구 분야 중 의무논리(deontic logic)란 분야가 있다. 금지, 허용, 의무와 같은 인간행위의 윤리적이고 법적인 부분을 전산언어로 표현하여 에이전트 프로그램으로 구현하는 방법을 연구하는 분야다. 최근 의무논리는 전자상거래나 로봇 에이전트의 행위를 모델링하는 데 응용되고 있고, 복잡한 사회적 네트워크(social network)에서 정보 보안 및 사생활과 관련한 신뢰의 웹을 구현하는 데 사용될 수 있을 것이다.

웹은 정보 간 연결뿐만 아니라 사람들 간의 사회적 연결을 이루게 하는 기술이다. 정보자원 간의 의미적 연결성과 사회적 네트워크를 위한 의미적 정보공간을 만들어가는 것이 바로 Semantic Web 2.0 기술이다. 정보 검색 및 추천, 사람들 간의 커뮤니케이션이 이루어지는 공간인 웹에서 연결 구조를 분석하여 보여주는 그래프 이론은 웹 사이언스에서 매우 중요한 역할을 할 수 있다. 정보와 사람들 사이의 연결을 수학의 그래프 이론으로 분석함으로써 더 효율적으로 정보를 검색하고 인적 관계지도(social path)를 찾는 데 도움을 줄 것이다. 관심분야가 비슷한 사람들을 찾아 새로운 커뮤니티를 형성할 수 있는 일종의 사이버 지도를 그릴 수 있는 기술도 연구되고 있다.

   소셜 북마크

   mar.gar.in mar.gar.in
    digg Digg
    del.icio.us del.icio.us
    Slashdot Slashdot

중앙 집중적 정부도 권력도 없는 웹은 자율적으로 움직이는 거대한 네트워크 시스템이다. 웹에 연결된 각 사람의 행위는 반드시 합리적이라 할 수 없지만 시스템으로서 웹이 만들어 내는 행위는 매우 합리적(rational)이고 사회과학적으로 흥미로운 분석 대상이다. ‘뷰티풀 마인드’란 유명한 영화의 주인공인 존 내시(John Nash)가 큰 업적을 이룬 게임이론(game theory)은 웹이란 거대 시스템의 행위를 분석하는 데 좋은 연구 방법론이 될 수 있다.

우리는 엄청나게 큰 코끼리의 작은 부분만을 만지고 코끼리의 전체 모양을 상상하는 장님과 같다. 진짜 코끼리의 모습을 알 수 있는 방법은 장님들이 각자의 한계를 인정하고 함께 마음을 열고 대화를 하는 것이다. 시맨틱 웹이건 AI건, 어떤 기술도 모든 것을 이룰 수 없다. 할 수 있는 것과 할 수 없는 것을 분명하게 인식하고 함께 협력할 때 기술과 학문의 진보가 이뤄질 수 있다.

:

[펌]Semantic Web 2.0: 지성의 진화를 위한 열린 공간

ITWeb/스크랩 2008. 2. 21. 09:48

ref. http://www.ibm.com/developerworks/kr/library/dwclm/20070220/?ca=drs-kr

현재 웹 기술 분야에서 큰 주목을 받고 있는 두 가지 키워드가 바로 Semantic Web과 Web 2.0이다. 그러나 지금 이 두 기술 주제를 접근하는 방식에는 약간의 문제가 있다.
차세대 웹 기술로 자주 거론되면서 인터넷 세상을 똑똑한 인공지능 세상으로 뒤바꿀 것 같았던 Semantic Web 기술은 범인들로서는 접근하기 어려운 상아탑에 숨어 있는 느낌이 든다. 웹을 기반으로 한 IT 거품이 허상으로 사라지고 난 뒤 새로운 웹 경제와 문화를 만들어 갈 진정한 차세대 웹 기술일 것 같았던 Web 2.0은 개념과 해석만 무성하고 기술의 알맹이가 없는 느낌이다.
이 두 기술 주제를 결합한 ‘Semantic Web 2.0’이 추구하는 열린 정보공간에서 가능한 일이 무엇일까?

‘Semantic Web 2.0’의 중요한 응용 분야로서 Semantic Desktop과 Semantic Social Network에 대한 연구 개발이 활발히 진행되고 있다.
Semantic Desktop은 RDF와 URI 표준 기술을 사용하여 워드프로세스를 비롯한 여러 응용 프로그램의 파일들을 관리하는 데 새로운 패러다임으로 제안되고 있다. 사용자의 컴퓨터에 있는 각종 데이터를 의미적으로 연결할 수 있다면 검색과 관리가 엄청나게 편해질 수 있으며, 나아가 다른 사람들과 협업을 하는 데도 매우 효과적일 수 있다. 시맨틱 위키, 시맨틱 이메일 등이 대표적인 예라 할 수 있다.
Social Network는 이미 대표적 사이트로 싸이월드나 마이스페이스(MySpace) 같은 것을 들 수 있다. 최근에 블로그를 사용하는 사람들이 늘어나고 다양한 사회적 인적 네트워크를 위한 사이트가 늘어나면서 온라인 Social Network도 갈수록 복잡한 양상을 띠게 되었다.
Semantic Social Network는 개인들 간의 의미적 연결 관계를 표준화된 FOAF와 같은 온톨로지로 표현함으로써 네트워크 관리가 효과적으로 이루어질 수 있게 하는 기술이다. 관심 분야가 비슷하거나 어떤 특정 상황에 연결되어야 할 사람을 찾아준다거나 할 때 이러한 기술은 사용될 수 있다. Semantic Desktop과 Semantic Social Network는 온라인에서 새로운 형태의 협업과 집단지성을 만들 수 있는 수단이 된다.

아인슈타인과 같은 한 사람의 천재보다 집단의 창의성과 지성이 더 요구되는 복잡한 현대 사회에서 Semantic Web 2.0은 어떤 역할을 할 수 있을 것인가?
창의성에 대한 시스템 이론을 주창한 저명한 학자인 Csiksentmihalyi에 의하면 창의성이란 한 개인의 인지적 활동의 결과(product)라기보다는 사회문화적 프로세스(process)로 설명될 수 있다. 물론 한 개인의 지성이 창의적 작품을 만드는 시발점이 되지만 작품을 평가하는 다른 사회 구성원들과의 상호작용을 통해 더 나은 작품으로 진화 발전되어 가는 것이다.
즉, 지성과 창의성은 시스템의 세 가지 구성요소인 개인(individual), 창의적 활동의 내용이 되는 영역(domain), 그 분야의 커뮤니티(field) 간의 끊임없는 상호작용에 의해 진화되는 과정으로 정의될 수 있다. 지성의 진화가 효과적으로 진행될수록 지식의 체계인 영역 – 수학, 과학 등과 같은 넓은 영역과 Semantic Web과 같은 더 세분화된 영역 – 은 더욱 발전하게 된다. 영역의 발전으로 더 많은 양의 정보가 개인에게 전달되고 이로써 개인 차원의 지성도 확장될 수 있는 것이다.

Semantic Web 2.0은 집단지성의 진화를 위한 공간이 되고 이를 위한 소프트웨어 기술을 제공할 수 있다. Semantic Desktop은 그 분야에 있는 사람들 간의 협업과 정보 공유를 더욱 효과적으로 해 준다. Semantic Social Network을 통해 다양한 새로운 커뮤니티가 형성될 수 있고, 커뮤니티 활동을 효과적일 수 있게 하는 소프트웨어 기술을 통해 집단지성이 진화하면서 지식의 체계인 영역 또한 발전하게 된다.
오픈 플랫폼(open platform)으로서 위키피디어(Wikipedia)는 새로운 출판과 협업 문화의 좋은 모델이 되고 있다. 몇몇 전문가의 지식보다는 다양한 사람이 모여 상호작용을 하면서 끊임없이 콘텐츠를 진화, 발전시킬 수 있는 효과적인 도구를 제공한다면 그것이 바로 Semantic Web 2.0이 할 수 있는 역할이다.
새로운 차원의 디지털 도서관은 양질의 UCC들을 선택적으로 독자들에게 제공할 수 있고 독자로 하여금 도서의 내용을 제공받고 평가할 수 있게 하는 양방향적 시스템으로 발전할 수 있을 것이다. 새로운 차원의 과학 연구 문화에서는 서너 명의 선택된 리뷰어가 논문을 평가해 출판하는 것이 아니라 그 분야의 수많은 사람들로부터 지속적으로 평가와 발전적 피드백이 이루어질 수 있는 것이다.
출판은 일회적이고 소수에 의해 지배당하는 것이 아니라 진화되고 대중에게 열려있는 것이다. 지식의 권위에 대한 평가와 인정은 관심을 갖고 적극적으로 그 분야에 참여하는 다수에 의해 이루어지는 것이다. 오픈소스 소프트웨어 문화는 이미 열린 참여를 지향하는 문화로 정착되었다. 참여하고 내어 놓는 자들은 그만큼의 것을 가져갈 수 있도록 Social Semantic Information Space를 제공해주는 기술이 바로 Semantic Web 2.0인 것이다.

:

[펌]개인화 기술(personalization technologies)이 웹의 차세대 성장엔진이 되려면

ITWeb/스크랩 2008. 2. 21. 09:46
ref. http://www.ibm.com/developerworks/kr/library/dwclm/20070109/?ca=drs-kr

개인 취향에 따른 정보와 서비스를 제공한다는 개념의 개인화 기술(Personalization Technologies) 기술이 최근 들어 높은 관심을 받고 있다. 개인화를 지원하는(혹은 그렇게 주장하는) 기술 개발이 한창이고, 이를 실제 출시했다는 기업들의 소식도 줄을 잇고 있다.
왜 개인화가 새로운 기술 코드처럼 부각되고 있을까? 필자의 생각으로는 개인화가 최근에 더 중요해진 것이라기보다는, 최근에 와서야 구현 가능하게 되었기 때문이라고 생각한다.
개인화 기술이 성숙해져 이것이 널리 보급되면 웹은 한 단계 업그레이드될 것이고 시스템 개발에 대한 수요도 크게 늘어나는 등, 새로운 성장엔진이 될 가능성이 충분하다.
그런데 컴퓨터로 개인화를 구현하는데 한가지 결정적인 문제가 있다. 그것은 컴퓨터와 인간의 차이에서 비롯된다. 예를 들어 숙달된 판매원(혹은 과거에는 구멍가게 주인)은 손님의 표정이나 행동에서 그들의 상태나 기분 등을 쉽게 파악하고 그에 맞게 적절한 대처를 할 수 있다. 그러나 컴퓨터로는 이러한 정보를 수집하는 것이 쉽지 않고, 정보가 있더라도 이를 판단하기가 어렵다. 다시 말해 컴퓨터로 개인화를 구현하려면 극복해야 할 수많은 기술적 난관이 있다는 것이다.



개인의 취향과 요구를 어떻게 알 수 있을까?

개인화에서 부딪히는 난관은 크게 개인의 취향과 요구를 어떻게 알아내느냐와 각 개인에게 맞는 제품/서비스를 어떻게 제공하느냐 하는 것으로 나눠볼 수 있다. 이 중 IT 입장에서 흥미 있는 것은 개인화된 제품/서비스 제공에 앞서 개인의 취향과 요구를 어떻게 알아내느냐 하는 것이다.
가장 손쉬운 방법은 개인에게 직접 물어 보는 것이다. 예를 들어 요즘 대부분의 사이트는 가입할 때 관심분야를 입력하도록 요구한다. 즉 이러한 관심분야에 대한 정보를 제공하겠다는 의도인데, 문제는 사람들이 정보 입력을 잘 하지 않을뿐더러 정보 자체가 불명확하다는 것이다. 어떤 사람의 관심 분야를 정치, 경제, 스포츠 등의 분류만으로 정확히 파악할 수 있을까? 물론 이러한 정보가 없는 것보다는 낫겠지만 이러한 간단한 분류는 효용이 크지 않다고 생각한다. 거기다가 사람들의 관심분야는 상황에 따라 계속 변한다. 평소에는 스포츠에 거의 관심이 없지만 월드컵, 아시안게임 같은 특별한 이벤트가 있을 때에는 스포츠에 관심을 갖는 사람들이 그 예일 것이다.



사람, 내용, 지식체계를 바탕으로 하는 기술

그래서 직접 물어보지 않고 개개인의 취향을 알아내는 기술이 고안되었다. 대표적으로 사용되는 기술은 크게 사람을 바탕으로 하는 기술, 내용을 바탕으로 하는 기술, 지식체계를 바탕으로 하는 기술 등 세 가지로 나누어 볼 수 있다.
사람을 바탕으로 하는 기술의 기본 아이디어는 어떤 사람과 비슷한 사람들을 찾아내면 이들로부터 그 사람의 선호도를 알아낼 수 있다는 것이다. 가수 A와 B의 노래를 무척 좋아하는 사람이 있다고 하자. 그러면 가수 A와 B를 좋아하는 사람들을 찾아낸 후에 이 사람들이 좋아하는 다른 공통적인 것이 무엇인지 살펴봄으로써 이들의 선호도를 유추해 볼 수 있다. 아마존의 추천 시스템이 이에 근간한 협업 필터링(collaborative filtering)을 사용한다.
내용을 바탕으로 하는 기술은 어떤 정보의 내용을 분석함으로써 개개인의 선호도를 파악한다. 어떤 사람이 아시안 게임에 대한 기사를 읽고 있다고 하자. 이 사람이 어떤 특성의 기사들을 주로 읽었는지를 분석해 보면 이 사람의 선호도에 대한 유추가 가능하다. 문서 내용을 분석하는 기술은 내용 필터링(content filtering, 문헌 정보학에서 오래 전부터 발전되어온 기술)이 대표적이다. 구글에서 검색결과를 보여줄 때 문서 뒤에 꼭 ‘비슷한 페이지(similar documents)’라는 링크가 붙는데, 이때 사용되는 기술 중 하나가 내용 필터링이다.
지식체계를 바탕으로 하는 기술은 주어진 도메인이나 상황에 대한 지식을 컴퓨터 안에 일정 형태로 집어 넣어 이를 이용하는 기술이다. 사람이 컴퓨터보다 우월한 점 중 하나가 애매하고 불확실한 정보라도 이를 바탕으로 맞든 틀리든 나름의 지식체계를 구축할 수 있다는 점이다. 그래서 컴퓨터도 이러한 지식체계 혹은 큰 그림을 갖추면 훨씬 똑똑하게 사람을 이해할 수 있으리라 생각하는 것이다. 시맨틱 웹(semantic web)이나 온톨로지(ontology)라는 개념도 결국 크게 보면 컴퓨터에 지식체계를 적용하기 위한 기술이라고 할 수 있다.



상황에 따라 개인의 취향도 바뀐다

여기에 더하여 최근에 개발되는 기술들은 사용자의 상황 정보(context information)를 활용하려는 추세를 보인다. 상황이라는 것은 같은 사람이라도 그때그때 바뀐다는 특징이 있다. 앞에서 예로 들었던 스포츠를 좋아하지 않는 사람이 아시안 게임이나 올림픽 때문에 스포츠 기사에 관심을 갖는 것이 상황 변화의 좋은 예라고 할 수 있다.
상황 변수를 활용하는 가장 간단한 방법은 사람이 규칙을 만들어 활용하는 방법이다. “밸런타인데이 전날에 꽃에 관계된 정보를 찾는 20대 남자에게는 보석류를 추천하라” 같은 규칙을 만들어 컴퓨터에 입력하는 형태다.
또 다른 방법은 컴퓨터가 스스로 학습해 위와 같은 규칙을 만들 수 있게 하는 것이다. 인공지능 분야에서 개발된 신경망(neural network)이나 생물의 진화를 흉내낸 제네틱 알고리듬(genetic algorithm) 등은 상황 변수에 따른 컴퓨터의 행동 규칙을 학습하는 좋은 기술이 될 수 있다. 하지만 아직 이 기술은 완벽하지 않기 때문에 당분간은 사람의 수작업과 병행될 것으로 보인다.



하이브리드를 고려해보자

필자의 견해로는 개인화는 아주 유망한 분야지만 단기간 내에 완벽한 구현이 이뤄질 만큼 기술 개발이 가능한 성질은 아니다. 개인화 기술에 관심을 갖고 있는 개발자가 있다면 한 가지 기술에 집착하지 말고 여러 가지 기술을 결합하는 것을 권하고 싶다. 여러 가지 기술을 결합한 하이브리드 시스템이 더 정확하기 때문이다.
또한 상황 정보가 중요하므로 이를 어떻게 최대한 수집하고 활용할 수 있을지 그 방법을 찾는 것이 성공의 관건이 될 것으로 생각한다. 개발자의 입장에서 방대한 자료를 어떻게 수집하고 처리하느냐 하는 이슈가 당장에는 중요하겠지만 장기적으로는 이를 어떻게 활용하느냐가 부가가치도 높고 성공을 좌우하는 기술이 될 것이다. 구글 검색이 정확한 이유 중 하나는 기본적인 키워드 검색에다 사람이 생성한 링크 구조(link structure)라는 정보를 추가적으로 활용하기 때문이다. 마찬가지로 사람들이 생성하는 수많은 상황 변수를 적절히 활용하면 훨씬 더 정확한 개인화가 가능할 것이다. 웹의 새로운 변화 가능성을 제시할 수 있는 개인화 기술이 더욱 발전하길 기대해본다.

:

[펌]Semantic Web 2.0의 정체성 : Semantic한 Web 2.0?

ITWeb/스크랩 2008. 2. 21. 09:44
좀 오래된 건데 그래도 내용이 읽을만 해서 스크랩 해 봅니다.. ^^*

ref. http://www.ibm.com/developerworks/kr/library/dwclm/20061205/?ca=drs-kr

2006년 12월 05일


‘Semantic Web 2.0’이라는 용어를 들어보았는가? 말 만들기를 즐겨 하는 누군가가, 차세대 웹 기술의 패러다임을 지칭하는 두 개의 키워드 ‘Semantic Web’과 ‘Web 2.0’을 결합해 새로운 용어를 만들었다. 이 용어를 접하면서, 이에 대한 정체성에 의문이 들었다.

Semantic한 Web 2.0을 의미하는 것일까, 한 단계 업그레이드 된 Semantic Web을 의미하는 것일까? 아니면 Semantic Web과 Web 2.0을 넘어선 그 다음 단계의 웹 기술이란 말인가?

이에 대한 답을 구하기 전에, 한가지 짚고 넘어가야 할 것이 있다. Semantic Web과 Web 2.0은 서로 경쟁 관계에 있는 기술적 패러다임인가, 아니면 동일한 기술에 대한 서로 다른 표현인가?

일단 Semantic Web은 공학적(engineering) 개념으로, 기술 구현을 위한 아키텍처와 언어, 요소기술에 대한 spec을 포함한다. 반면 Web 2.0은 사회과학적(social scientific) 개념으로, 웹의 문화적 요소와 비즈니스적 현상을 분석한 결과로서 제안된 것이다.

또 Web 2.0의 특징으로 주로 거론되는 ‘Long Tail’, ‘Collective Intelligence’ 등의 용어는 웹의 기본정신인 기술의 공개화(Openness), 데이터의 분산화(Decentralization), 사용자의 참여(Participation) 원칙에 근간한다. 반면 Semantic Web은 정보의 분산화를 의미적 연결을 통해 구현하고자 하는 목적에서 태어났다. 상이한 데이터 표현들과 이기종 시스템 간의 상호 운용을 용이하게 하고, 지능적 검색과 인간-컴퓨터 간의 상호작용을 보다 효과적으로 할 수 있게 하는, 그야말로 ‘기술’인 것이다.

현재 Semantic Web은 보편화가 당초 예상보다 더디데 진행되고 있다. 구현의 필수 요소인 온톨로지(ontology), 추론 엔진(inference engine) 등의 난해함과 복잡함이 기술의 보편화를 막는 장애요인인 것으로 판단된다. 이에, 온톨로지를 대체할 수 있는 의미적 태깅 기술로서 Folksonomy가 제안되었고, 최근 블로그나 위키 등에서 활발하게 적용되고 있다.

그렇다면 Semantic Web 구현을 위한 기술적 필요조건인 온톨로지와 추론 기술은 어디에 사용되고 그 운명은 어떻게 될 것인가? 또 Web 2.0이 사회현상에 대한 설명이라면 Web 2.0을 구현하기 위한 필수적인 요소 기술들은 무엇인가? 바로 이러한 질문에서 Semantic Web과 Web 2.0의 만남이 이뤄진다.

온톨로지와 추론은 Semantic Web을 구현하는데 필요하지만, 보다 다양하게 적용될 수도 있다. OWL과 같은 중량급의 온톨로지 언어는 의과학, 법학 등 잘 정리된 학문의 도움을 받아 실제 세계를 개념화할 수 있고, 또 잘 정리된 온톨로지와 추론 규칙은 특별한 목적을 위해, 즉 임상현장에 필요한 의사결정 지원 시스템(Clinical Decision Support System) 등에 사용될 수 있다. 하지만 웹의 일반 사용자들에게는 보다 쉽게 접근할 수 있는 경량급의 온톨로지 구현을 위한 언어로서 RDF(S)나 이보다 더 쉬운 개념화 언어가 필요할 것이다.

Semantic Web 2.0은 중량급의 인공지능적 접근이라기보다는, 보편화된 웹 기술로서 Web 2.0의 정신에 맞는 기술이어야 한다. 예로서, 최근 Semantic Social Network을 구현하기 위한 FOAF(Friend of a Friend)나 SIOC(Semantically-Interlinked Online Communities) 온톨로지 등이 W3C를 통해 제안되고 있다.

기술진보주의(Technoprogressivism)를 주장하는 이들에 의하면 기술의 발전은 중앙집중적인 권력을 가진 소수에 의해서가 아니라 다수의 대중에 의해 주도되고, 기술의 비용과 위험부담뿐만 아니라 결과로 인한 혜택도 함께 나누어 질 때만 의미가 있다고 한다.

즉, 기술의 진보는 대중의 참여에 의해 이뤄져야 하고, 이 기술이 유포되는 것에 있어서도 대중이 소외되지 않아야 한다는 것이다.

웹은 기술과 문화를 동시에 포함하는 개념이다. 이런 측면에서 ‘Semantic web 2.0’이란 개념이 Semantic 한 Web 2.0이 되었건, 한 단계 업그레이드 된 Semantic Web 이건 상관이 없다고 생각된다. 결국 보다 쉽고 보편적으로 응용될 수 있는 기술을 통해 대중의 참여 기회를 넓힐 수 있으면 되는 것이라는 판단에서다.

이쯤에서 필자가 서두에 던진 질문에 대한, 필자의 생각을 정리해보면 Semantic Web 2.0은 기술적 요소와 사회문화적 요소가 잘 결합된 ‘Semantic Web = Web 2.0’이다. 또한 그렇게 되길 바란다.

Google을 포함한 대표 Web 2.0 포탈들이 ‘Long Tail’을 외치지만, 실제 ‘Giant Head’를 위한 허울에 불과하다면 웹 기술의 진정한 진보는 어려울 수 밖에 없기 때문에, Semantic web 2.0 기술 또한 이를 웹에 구현하기 위한 기술진보주의의 틀에서 발전되길 기대한다.

: