论文部分内容阅读
Web服务组合,已经成为整合Internet上功能单一的、游离的Web服务的必然趋势。然而对于Web服务组合定义尚且没有一个统一的标准,但是通过参考大量国内外关于服务组合的相关文献可知,Web服务组合是通过一定方式来整合不同来源的Web服务,整合后形成新的Web服务具有服务增值的特性,而这些被整合的Web服务是现存的且不受开发人员控制。本文提出了一种表述性状态传递(REST)风格的Web服务组合方法。定义了一组用于服务组合的可扩展标记语言(XML)标签,实现了组合模型到可执行REST风格的Web服务的转换。REST风格Web服务组合的实现过程如下:首先,通过Jersey框架所设定的REST风格的Web服务代码实现方法,将Web服务抽象为统一资源标志符(URI),同时确定资源所需的必要元素;然后,按照服务组合定义,结合服务组合中组合逻辑所需的必要元素,以及完成一个完整的服务组合模型所需的必要元素,归纳出一套完整的服务组合所需的元素来设计一个由可扩展标记语言结构定义(XSD)文件构成Web服务组合模型;最后,通过dom4j API对基于XSD组合模型的XML文件进行解析,以及Java反射机制设计实现新服务的执行,完成一个新的Web服务。组合后的新服务的执行过程中,对服务的调用是通过Java反射机制进行,因此不改变那些用于组合的服务的结构和功能,从而保证Web服务的低耦合、自包含的特性。在Web服务组合实例章节中,通过在电子相册系统中对REST服务组合进行应用,从而表明了REST风格的Web服务组合的可用性。用户或开发者通过使用本文提出的用于描述服务信息的标签,根据组合服务之间的流程关系设定组合逻辑标签和新服务标签,然后按照本文所实现的转换方法,转换生成新服务。文中所设计和实现的Web服务组合方法,根据国内外相关研究所归纳出服务组合定义,因此组合后的新服务具有服务增值的特性,并且由于这类服务组合方法具有REST风格,因此具有扩展性。