语义万维网服务的自动发现- -
原文地址:http://meta.blogchina.com/812188.html
我感兴趣的问题实际上就是Ontology based metadata services for information retrieval. 实际上是开发一个或一组智能代理,利用Semantic Web services架构解决异构系统的情报检索互操作问题。前提条件是一定的Semantic Web services架构。首先必须对这个概念解释清楚。这是个很热门的话题了实际上,一篇经典的文章见(2001年的文章,稍早一些,还没有DAML-S):http://www.daml.org/services/ieee01-KSL.pdf,一个作者是越南人,第三作者是个中国留学生,都很年轻啊!
以下主要来自(Katia Sycara, Massimo Paolucci, Anupriya Ankolekar, Naveen Srinivasan, "Automated discovery, interaction and composition of Semantic Web services")
Web services 利用自主的代理在分布的环境中实现自动的"按需"服务,Semantic Web提供服务描述和服务接口的语义支持,目前这方面的标准正在逐步建立起来,然而多个Web service之间的协调和语义一致性是一个关键问题,目前BPEL4WS 和WSCI在这方面作了一些探索,然而最可能的途径是通过DAML-S提供解决框架。
组合多个Web services可以分为三方面的问题:
- "计划"Web服务之间的交互以及其提供的功能如何整合;
-
"发现"Web服务实现的的任务;
-
对Web服务之间的"交互"进行有效的管理。
这三个方面是交织在一起的,计划决定了如何去发现Web服务的类型,却依赖于Web服务的实现。同样,Web服务的交互过程依赖于计划的实施,计划本身又依赖于对交互的需求。
揭示一个Web服务,系统必须提供对于Web服务所能实现功能和能力的描述机制,并且能够识别和比较不同Web服务的功能和能力的异同。另一个挑战是系统还必须支持对不同Web服务的交互的支持。
也就是说需要从语义和语法两个方面提供互操作性,而不是仅仅是目前考虑的重点——从语法上制定协议标准(例如SOAP和WSDL,利用XSD展现消息数据的结构)。语法的互操作性仅仅提供了消息交换的结构,没有提供消息内容的解释。UDDI仅仅是关于Web服务的信息库,并不包含Web服务能力的揭示。WSCI和BPEL4WS描述了多个Web服务可以组合在一起成为一个更复杂的Web服务,但是其重点放在语法的规定上,因此并不支持自动的Web服务的组合。
语义互操作因此成为Web服务协同组合的关键问题。它必须:
-
表达和支持Web服务的任务实现(例如网上卖书或者信用卡认证等),以便通过对于Web服务功能清楚的描述和广告而实现自动发现;
-
表达和支持业务关系和规则(Business relations and rules);
-
表达和支持消息排序(message ordering);
-
理解消息的语义;
-
表达和支持使用特定Web服务的前提条件以及激活服务的效果;
-
允许Web服务组合成为更为复杂的服务。
Web服务可以直接在语义Web基础上直接建立,后者为Web提供了内容语义,能够被代理或者其他服务获取,代理能够通过严格定义的语义内容和规则进行推理,由本体提供的概念模型能够很好地解释Web网页的内容。从这一点来看,语义Web为Web服务提供了其所需得的语义互操作的基础,提供了形式化的语言和本体,用以支持服务描述、消息内容的理解、业务规则,并提供了不同本体之间的联系。语义Web和Web服务互相促进:前者使Web成为一个庞大的机读数据库,后者提供机器自动使用这些数据的工具。
由此可以认为,"语义Web服务"是语义元数据、本体、形式化工具和Web服务架构的集成,是基于良好定义的语言进行语义描述的Web服务(A Semantic Web service is a Web Service whose description is in a language that has well-defined semantics)。
因此,网络计算的不确定性得到了最大程度的消除,Web服务的发现、选择、组合、沟通、激活、监测、管理、恢复和补偿都得到了最大程度的自动化和实现。特别低,语义Web服务依赖语义Web描述:
-
消息交换的内容;
-
消息交换的顺序;
-
消息交换的状态变化。
结果为不同服务的无缝互操作提供了基础。
利用语义Web描述Web服务有很多具体内容,包括描述Web服务的许多附加属性,例如服务质量、安全性约束等,可能最重要的是在Web服务的运行过程中的状态描述,包括其输入和前提条件,以及输出和结果等,这些是对于其功能和能力描述所必需的。
文章的第二部分讨论了DAML-S对于发现和激活语义Web服务的作用,并进一步讨论了Web服务发现的不同方法和DAML-S处理模型的形式语义。第三部分集中讨论DAML-S怎样用于Web服务能力的发现,怎样在UDDI注册系统的基础上更进一步。在第四部分介绍了DAML-S虚拟机,主要用于第二部分介绍的"DAML-S处理模型"形式语义的处理。第五部分提供了DAML-S虚拟机运行效果的评价,我们可以看到其运行并不频繁。第六部分描述了一个具体的利用DAML-S组合服务的应用。第七部分是结论。
(语义Web服务图示及说明)。
服务描述一般包括三方面内容:服务能力描述;非功能性静态参数(元数据);对该项服务负责的服务实体的描述。
服务能力描述:对于符合一定前提条件的Web服务输入产生一定的输出(返回消息),以及其间的副产品。例如一个付费新闻服务需要一个日期和信用卡帐号的输入,然后判断是否符合日期和信用卡的有效性以及信用卡没有被过度使用(超出信用额度的透支)的前提条件,所产生的输出是提交用户一个满足其日期请求的新闻网址,以及从信用卡中扣除相应的服务费用,其中可能会有非功能性静态参数(元数据)参与整个过程,例如对于新闻质量、收费标准以及新闻类别的选者和控制等。
处理过程和服务概要提供了描述Web服务的两个方面:服务概要描述服务内容和能力,而处理过程描述如何实现服务。例如Amazon的Web服务的概要描述了该网站的售书功能,而服务过程则必须详细描述为了实现卖书的过程,请求者必须首先查到他所需要的书,提供支付信息,并提供发货地址等。