论文部分内容阅读
Web服务本质上是一个能用URI识别的软件系统,它的公共接口和服务绑定都是用XML定义和描述的。它的定义可以被其他的软件系统发现,然后这些系统就可以按照指定的方式和Web服务进行交互。 语义Web的思想就是利用元数据(metadata)语言对Web信息资源的内容进行语义上的描述,从而使计算机能够利用这些语义信息对信息资源的内容进行理解和处理,并在此基础上,实现更高级的、基于知识的智能应用。语义Web服务就是一个用具有良好的语义表达能力的语言来描述的Web服务,也就是在Web Services中加入语义的支持。这种描述使得计算机之间能够理解互相通信的内容,从而实现Web服务自动化互操作。比如自动的发现、选择、组合、协同、调用、监控、管理等等。利用OWL-S对Web服务进行语义化描述,是语义Web服务领域目前最常用的方法。 本文在把语义Web和Web服务技术结合的基础上,主要阐述了在语义Web服务系统中,对现有的原子服务进行组合形成一个较为复杂的服务后,如何实现复杂服务的自动调用。应用系统或用户对语义Web服务提出的要求是多种多样的。有些要求可以由原子服务来完成,而多数服务则可能需要对现有的原子服务进行组合,形成比较复杂的服务,以满足需要。本文认为Web服务的组合和调用可以分为三步:首先制定一个计划描述Web服务怎样交互以及它们提供的服务以怎样的顺序集成在一起,以形成问题的解决方案。这一步可以看成是一个规划问题,可以利用规划器使用一个后向链接算法构建计划。第二步寻找到计划中的每个具体的服务。在此基础上,第三步对Web服务之间的交互进行管理,形成Web服务的自动调用。 服务的组合是把原子服务按正确的顺序排列起来,服务的调用则是为每个服务提供它所需要的正确的输入数据。本文提出的算法把经过服务组合得到的执行计划plan作为输入,从计划中第一个服务开始,如果它的执行条件具备了,就到知识库中查找服务执行所需要的输入。如果所有的输入都找到了,就可以执行这个服务,并把服务执行所产生的输出加入到知识库中。然后继续前进去处理下一个服务。如果有些服务的需要的某些输入没有发现合适的匹配,算法要试着分析错误的原因。如果所有的层次中所有的服务都执行成功,整个计划就执行成功。否则提示执行失