说明:本篇文章基于对论文“Toward the Next Wave of Services: linked services for the web of data”,仅作学习和参考之用。
1.前言
web服务和SOA作为企业应用集成、跨组织商业流程的实施甚至分布式应用开发通用方案提供了强有力的工具,但是非常遗憾的是web服务并没有在web上流行起来,针对此问题,将从web服务自身出发,结合web的发展,指出其中的原因并提出service的趋势,即service与linked data的结合linked services。
2.web service
定义:在互联网上通过独立于平台和语言的一系列标准例如XML、SOAP和WSDL提供对服务系统的使用【1】
其中之一的问题就是服务的注册,这关系到对合适服务的访问和发现。很多大公司都成立了相关基于UDDI的集中式注册中心,但很遗憾,这些网站都在06年关闭了,其中主要原因有:复杂且不支持复杂查询【2】;很多企业并不想将自己使用的服务发布到web上。
阻止web服务没有兴起的原因有:
1)绝大多数的web服务都不是基于web技术的(对这句话可以理解为:web服务并不是为了服务在web上的流通的)【3】
2)目前的技术要点集中在服务发现和集成,而不是数据和处理过程的结合
3)复杂的WS-*技术和协议体系
4)web服务本质上是针对企业的,而不是公开的、大数量的web服务
3.目前的重点趋势和发展
3.1 semantic web service-sws
原因:服务的发现、组合、协商和发展需要一定的自动化
解决问题的思路:通过语义标注来丰富web服务,便于发现、组合和执行
发展:
1)对不同表述语言的研究,例如WSMO、OWL-S、SAWSDL等
2)sws在web上的发展成为轻量级的service,有Web APIs、RESTful services【4】、hREST、MiroWSMO
缺点:
1)没有考虑经济成本与效益,很多标注工作都需要手工
2) 很多研究都是针对已有的WSDL和SOAP,而不是在web上的使用【5】
3)高度丰富的概念模型十分复杂,不利于广泛使用
结果:
1)导致SWS沦为一些高级专家的玩物
2)投资远大于回报
3.2 web2.0的发展
3.2.1特点/特色:
1)web上的用户既是数据消费者也是生产者,打破了消费者和生产者之间的界限
2)很多企业和组织将其数据和服务公开化
3)linked data的出现为web上的数据带来了契机,即可以提供基于轻量本体的广泛领域、内部相互连接的大型公开数据集【6】
3.2.2Wep APIs
就是之前所讲的sws在web上的发展,成为一种新的轻量级服务即RESTful服务,包括了URI、HTTP、XML和JSON等,很多网站都提供了相应的接口,例如Flikr和Facebook。随之兴起的就是mashup,从不同站点获得数据形成新的解决方案【7】。
特点:通过纯文本、非结构化的HTML很少使用XML对API进行描述【8】
缺点:没有用于机器处理相关描述
eg:programmable.com(好像进不去)
3.2.3语义web和web data
(1)semantic web:主要关注与对知识在web上的描述语言和工具的研究,方便其共享、重用、合并和处理,相关的标准有RDF(S)【9】、OWL【10】
(2)对web data的研究源于semantic web
主要的目标是建立公开和数据具备连接性的web
遵从的四个简单原则(Berners-Lee在06年提出):
1)每个数据都有分配一个HTTP URI进行标识
2)利用HTTP URI可用于资源的引用和查找
3)利用URI进行查询时,通过相关标准(例如-RDF、SPARQL)提供有用信息
4)数据中包含了其他URIs,这样可以发现更多的信息
相关的project:the Linking Open Data Project throgh DBedia
伴随着web数据的增长,其趋势是挖掘和公开其中的有用信息,提供对web数据的爬虫、索引和智能搜索,例如:Sindice、Waston、Revyu.com、DBPedia Mobile
4.Linked Services
时机:已存在的技术对服务、语义和web 数据的标识,同时在web上prosumer(产销者)的增多【11】
包含两种服务或形式:基于web数据的服务;为处理web数据的服务
基本功能:linked service以web数据的方式提供丰富、有用的数据信息;linked services会消耗来自web数据的RDF,也会产生新的RDF
4.1基于web数据的服务
为了便于服务的发布和发现,考虑其在web上就像web data更确切说是linked data一样被使用
4.1.1 前车之鉴/思想:
1)语义的重要性;2)服务模型的复杂度和开销之间的平衡;3)对广泛采用的服务协议的支持,包括Web APIs、RDF和SPARQL;遵从linked data的原则;在数据集之间建立链接
4.1.2利用WSMO-Lite对WSDL服务进行标注:
1)W3C的标注标准:SAWSDL
2)WSMO-Lite【12】:基于SAWSDL,克服了其中的一些缺点
提供简单的RDF本体,从而对WSDL服务进行功能、非功能的描述
4.1.3利用MicroWSMO对Web APIs进行标注:
1)基于hRESTS微格式【13】(hRESTS--提供了一系列HTML类,从而可以从结构化的API描述中对服务、操作、输入、输出和地址进行标识)
2)对Web APIs进行标注的微格式【14】
上述两种对服务的标注,都需要人工的帮助,伴随着web数据的广泛使用(特别是语义数据的出现)、对已有本体的重用和web 2.0的社会化趋势,为服务的标注提供了新的思路:对领域模型进行排序,选择具备兼容性的;服务领域的标识基于用户的历史使用。一些工作:SWEET、SOWER。
4.1.4基于web数据的服务发布与发现
思路:服务标注作为一种特殊的有用信息,可以通过linked data原则在web上进行发布和发现
已有的工作:iServe【15】
详细工作:
1)minimal service model
该模型通过简单的RDF本体整合对已有的服务概念进行整合形成通用的字典,来支持对不同服务的定位和过滤,包括WSDL、Web APIs和RESTful。
每个服务都有一个可解析的HTTP URI;其中的语义或者说本体包括:SAWSDL标注、WSMO-Lite的扩展、MicroWSMO标注;包含两个链接:一个是对定义文件的链接和一个对文件的链接
4.2 为web data提供处理的服务
定位:这些服务不仅可以提供新的数据资源还能处理已有的资源
实例:
1.对已有系统的整合
通过语义标注形成Web APIs和WSDL服务,相关项目:SOA4ALL和NoTube
2.对linked data的处理
必要条件:大量的web数据提供了可处理的数据集;相关服务提供了较好的功能
消费RDF,对其进行处理,产生结果
可以通过语义对服务进行筛选;对本体和字典的重用保证了兼容性
5.小结
linked services主要是通过语义标注,利用简单的、通用的RDF字典让Web服务和RESTful服务成为基于关联数据(linked data)的linked service,这些服务有利于对linked data处理,从而方便相关应用的开发。
但存在一些问题:最小的通用的RDF的确定与拓展;语言的转换问题
和关联数据相关的权威论文和书籍有:
linked data- the story so far
a report on linked data
a semantic web primer
【1】SOA principles of service design
【2】unified publication and discovery of semantic web services
【3】putting the web into web services
【4】RESTful web services
【5】Towards the open service web
【6】linked data- the story so far
【7】services mashups- the new generation of web applications
【8】web application description language
【9】RDF vocabulary description language 1.0
【10】OWL web language semantics and abstract syntax
【11】services and the web of data: an unexploited symbiosis
【12】WSMO-Lite annotations for web services
【13】hREST: an html microformat for describing RESTful web services
【14】supporting the creation of semantic RESTful service descriptions
【15】iServe:a linked services publishing platform