欢迎来到天天文库
浏览记录
ID:52352780
大小:1.51 MB
页数:4页
时间:2020-03-26
《基于工作流的Web服务组合模型设计与实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学术探讨·刀络与通信基于工作流的Web服务组合模型设计与实现张键锋王劲(广东省电信规划设计院有限公司,广东广州510630)[摘要]单个Web)l艮务无法满足企业的应用需求,对多个web服务进行组合的研究尤为必要。本文提出了一种基于工作流模板的服务组合模型,旨在通过定义和发布静态的Web服务,搭建基于工作流的Web服务业务流程组合模型,实现在工作流流程中调用静态的服务组合。[关键词]Web)]K务;工作流;服务组合中图分类号:TP311.52文献标识码:A文章编号:1008—6609(2017)03—0039—041引言随着Web服务的发展,企业对服务质量有了更高的要求,单个Web服务提供的
2、功能越发不能满足企业各种复杂的实际需求,因此,将已有的Web服务组合起来,实现更强大的功能,成为了Web服务应用的一个重要研究方向”1。经研究发现,Web服务组合问题和工作流系统有着许多共同的特征:它们具有相同的生命周期,即组合流程建模阶段与流程运行阶段,在建模阶段均需要指定数据流和控制流,在运行阶段都由执行引擎负责解析流程定义并生成实例,通过调用外部应用或者服务进行执行。工作流技术最大优点是实现应用逻辑和过程的分离,在过程逻辑的建立过程中可不考虑应用和资源的异构性,但没有解决分布式异构环境中资源的互操作问题,而Web服务恰好提供了对分布式异构资源的互操作能力;而且工作流技术提供了对服务运行
3、的协调、监控和管理能力,为Web服务提供一条可行路径”,]。因此,基于工作流的Web服务组合成为未来进行事务处理的发展趋势。本文研究的就是如何将工作流技术和Web服务结合起来,以实现流程当中的动态调用。2Web服务组合介绍Web服务是通过Internet标准技术传递的,是一种松散耦合的软件组件。Web服务建立于SOA基础之上,SOA(Service—OrientedArchitecture)是最新的分布式计算技术,可将软件组件(包括来自不同系统的应用程序函数,对象和进程)发布为服务。同时Web服务建立在XML标准上,可以使用任何编程语言、协议或平台开发出松散耦合的应用程序组件。Web服务体系
4、结构基于三种角色(服务提供者(Serviceprovider)、服务注册中一L,(Servicebroker)和服务请求者(Set-vicerequester))之间的交互吲。服务提供者创建服务,并将其发布到服务注册中心供使用者查找和使用。当服务使用者需要完成特定的业务逻辑是就到服务注册中心去查询能够完成相应功能要求的Web服务,然后通过服务绑定直接与服务提供者通信,实现服务的调用,完成相应的事务。3工作流WebJlll务组合模型设计3.1实验模型概述本章节设计了一个利用工作流模型调用Web服务组合的模型。首先,编写Web服务类,每个服务类完成特定的功能,然后将这些Web服务进行发布。其次,
5、搭建工作流模型,工作流模型主要采取JBPM技术,使用JBPM定义的JBossJBPMProcessDefinitionLanguagefJPDL)进行流程定义。JPDL认为一个业务流程可以被看作是一个UML状态图。JPDL就是详细定义了这个状态图的每个部分,如起始、结束状态,以及状态之间的转换,通过图型化的流程定义,直观地描述业务流程。本模型通过人机交互的方式设计抽象工作流,利用JBPM的插件发布流程,将建模后的组合流程传给服务选取模块,在服务选取模块中,在服务注册中心查找所需要的服务,将具体的服务进行绑定,获得Web服务的接口地址,与Web服务发布者进行交互,在实际的工作流流程中调用具体的
6、Web服务,根据Web服务返回的结果,执行不同的后续步骤。3.2实现技术与流程框架定义现在主流的Web服务+工作流的做法为:(1)建立一个特作者简介:张键锋(1988一),男,广东人,硕士,助理工程师,研究方向为云计算。.39.学术探讨·刀,辔与逆信定的WebService;(2)建立WebServiceProject;(3)建立WebService;(4)发布并测试该WebService。3.2.1WebService项目生成并测试先建立一个WebService测试项目,然后发布,在本机写客户端的调用代码,测试代码如下:publicstaticvoidmain(String[]args)t
7、hrowsException{RPCServiceClientserviceClient=newRPCServiceClient0;Optionsoptions2serviceClient.getOptions0;EndpointReferencetargetEPR=newEndpointReference(”http://localhost:8080/axis2/services/SimpleService
此文档下载收益归作者所有