3.3 语义Web服务
正如我们在第2章讨论的,Web服务正在呈现为用于各种各样分布式系统的一个有前途的计算平台。Web服务中的3个核心标准是用于服务描述的WSDL、用于报文交换的SOAP和用于服务注册和发现的UDDI。Web服务的特征是它们对服务合成的支持。对Web服务来说,我们期望在合成的过程中自动得到另一个服务,这要求Web服务用语义来丰富。
Web语义服务基础结构的一个突出特征是它的语义支持的缺乏。它专门地依赖XML的互操作性,但是仅保证语义互操作。用XML表述报文内容,使Web服务解析其他的每个报文,但是这不便于报文内容的理解。此外,在服务的注册和发现中,UDDI自身不提供对Web服务的语义描述的任何支持。Web服务应当有语义的含义,这样服务可根据语义匹配而不是句法匹配。本节将介绍可以实现这一目的的DAML-S和OWL-S。
3.3.1 DAML-S
DAML-S[35]既是描述Web服务的语言,又是描述Web服务的本体。它试图填平在语义Web和Web服务之间的缝隙。作为一种本体,它使用基于DAML+OIL的结构描述Web服务;作为一种语言,DAML-S支持特定Web服务的描述,用户或其他服务者可以发现和调用使用标准,例如WSDL和SOAP。DAML-S使用语义注释和本体把每一个Web服务的表述与对它的操作域的表述关联起来。DAML-S本体描述了一组类和属性,针对Web服务描述。
作为一个DAML+OIL本体,DAML-S具有的优势在于它可使用描述在DAML+OIL中任何一个内容的能力。DAML-S拥有定义明确的语义,以及允许根据对象和它们的复杂关系来定义服务内容词汇,包括类、子类关系和基数限制。DAML-S本体包含3个部分,如图3-8所示,描述如下。

图3-8 DAML-S Web服务
● ServiceProfile:这个像是一个服务的黄页条目。它与在UDDI中可找到的内容类型有关,并建立在这些内容类型之上,描述需要自动发现的服务属性,例如服务提供什么,它的输入、输出是什么以及它的其他方面是什么(先决条件和效用)。
● ServiceGrounding服务基础(范围):连接该过程模型描述到通信级协议和采用WSDL的报文描述。
● ServiceModel服务模型:描述一个服务的过程模型,例如使用该服务所涉及到的控制流和数据流。它提供了我们想要推理的Web访问程序的属性声明描述的过程模型。服务模型被设计成允许自动合成和执行服务。
已经实现了一个DAML-S匹配引擎,其允许服务以DAML-S发布,也可用UDDI注册发布,这样一来,这些服务就可以通过UDDI关键字检索来发现。
3.3.2 OWL-S
OWL-S[36]来自于DAML-S,它使用OWL作为本体语言从语义上描述Web服务。OWL-S描述了一个Web服务的属性、性能和进程模型。它允许Web服务被描述和发现、进行互操作,并且可以用不含糊的、计算机翻译方式进行组合。为了支持自动引用和Web服务的执行,OWL-S元素可以被映射到WSDL规范。


