论文部分内容阅读
Web服务技术是异构平台应用集成的有效解决方案,而现有的众多Web服务因服务粒度过小的问题而导致应用范围大大受限。如何利用这些现有的Web服务来创建新的、更有价值的复合Web服务成为工业界和学术界共同关心的问题。基于工作流的组装和基于语义的Web服务的组装被认为是Web服务组装的两个方向。两者的研究重点不同,所以有各自的一套协议栈,以更好的支持自己的研究点。针对这两个方向,很多标准被提出,如WSDL、BPEL、以及OWL-S,这些标准从不同角度对Web服务合成建模,这些标准之间并不是相互孤立的,而是存在互补的地方。
传统的基于UML的Web服务组装方法,是建立基于工作流的组装之上的,使用的是BPEL和WSDL,用UML建模复合Web服务,抽取子服务的WSDL文档中的信息加入UML模型中,再由UML模型得到复合服务的BPEL文档。虽然在UML到BPEL的转换方面有较好的工具支持,但是在该方法的UML建模过程中存在粒度划分不合理的问题,同时在子服务组装过程也没有考虑子服务的行为协议,这些都极大的影响了整个组装过程的自动化和得到的复合服务的正确性。
针对这些问题,我们提出组装过程中引入子服务的OWL-S文档,更确切的说是用OWL-S包含的信息指导对复合服务的建模过程,以弥补传统方法中对子服务调用约束的忽视。引入OWL-S后,不仅需要对原有建模过程进行改进,增加对OWL-S文档包含的信息的建模,而且要求有较合理的建模粒度,以保证充分利用OWL-S提供的信息。引入对子服务的调用约束的考虑,不仅能提高复合服务组装的正确性,还有助于在子服务调用失败引起复合服务失效时快速正确定位失效的子服务,以便进行恢复。
因此本文提出了一种改进的基于UML的Web服务组装方法,以功能为单位对复合Web服务的需求任务进行分解,得到以功能为粒度的抽象层UML模型,还引入了基于语义的Web服务组装协议栈中的OWL-S,充分利用具体子服务的OWL-S文档,考虑到具体子服务的行为协议约束,根据行为协议进一步细化抽象层的UML模型,再加入与实现相关的信息得到实现层的UML模型。同时改进的方法在组装的验证和Web服务的失效恢复方面也增加了相应的支持,使整个组装流程更加完整。