论文部分内容阅读
Web services定义了应用程序如何在Web上实现互操作性的一套标准,它可以在网络中进行跨平台跨语言的描述、发布、查找以及调用。因此Web services给应用程序的集成带来了方便,但是单个Web services提供的功能毕竟有限,要想仅仅通过单一的、功能简单的Web services交互来实现真正跨企业边界的应用集成是显然不够的,因此需要对已有的单个Web services行合成,从而形成新的Web services以提供更多功能。本文的主要研究工作如下:
一、提出了一种基于本体的Web services动态语义合成的建模方法。该建模方法是把Web services转化为本体的形式,在合成中利用Web services的语义,从而实现动态语义合成。Web services的语义分为两部分:输入输出参数语义和功能语义。因此把本体建模分为两个步骤来实现:输入输出参数建模和Web services功能建模。首先提取Web services的输入输出参数,将其表示为本体中类的形式,然后把Web services的功能对应于本体中的属性,因为在本体中属性定义类之间的关系,因此通过属性可以判断产生这些属性的Web services之间的关系,并且根据这些关系来确定Web services能否合成。本体是Web services建模的基础,如何构建本体直接关系到建模的质量。本文利用现在广泛使用的英语词库wordNet来构建本体。这样就可以避免进行重复的无意义的定义概念的工作,另外可以最大限度的消除各个领域间的语义冲突。首先将wordNet中同义词集合对应到本体中的类,然后定义这些类之间的关系来完成本体的构建。
二、提出了Web services最佳路径合成算法。在Web services的合成中,可能会有几个服务同时满足某一个要求,我们需要选择最合适的一个来合成。这类似于最短路径算法(Dijkstra算法)中遇到的问题,但也有明显的区别。Dijkstra算法只能处理有向无环图中两点之间的单条最短路径问题,而Web services合成中可能会涉及多条路径同时存在的问题,也就是某个服务需要多个服务的输出才能执行,我们称之为多个服务问题。另外每个输入输出节点的元素个数可能不是唯一的,这样就会产生一系列的问题,我们称之为多个输入问题。因此我们从Dijkstra算法出发,加入对这两个问题的处理形成在Web services合成领域中的最佳路径合成算法。另外该算法可以根据多种选择策略来选择Web services,比如价格,执行时间等。实验表明与没有选择策略的合成算法相比,此算法能显著提高Web services的合成质量,并且在某些情况下,响应时间要比没有选择策略的合成算法要好。
三、实现了Web services动态自动合成原型系统。在现有技术Protegé、Tomcat等基础上实现了Web services动态自动合成原型系统DAS0,设计开发了Web services建模引擎、合成引擎以及执行引擎等组件,并对上面提出的建模方法和合成算法进行了实现。实践证明该系统具有良好的效果。