欢迎来到天天文库
浏览记录
ID:38266747
大小:243.18 KB
页数:4页
时间:2019-05-25
《基于工作流的Web 服务组合综述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于工作流的Web服务组合综述0引言近年来,随着分布式对象技术和基于XML的Web服务技术的迅速发展,一种基于Web服务的分布式计算模式正在成为互联网时代实现数据共享的有效手段。Web服务是基于网络的、分布式的、自描述的、模块化的组件,它执行特定的任务,遵循一定的技术规范,提供了面向Internet应用的统一服务注册、发现、绑定和集成机制,成为广域环境下实现互操作的一种主要机制,得到产业界和学术界的广泛认可。然而单个的Web服务提供的功能有限,只有通过对已有的单个Web服务进行组合,其潜力才能发挥出来。Web服务组合的目的是建立由相互合作的单独的服务组成的复杂的
2、Web服务,实现更强大的功能,完成更复杂的任务。为了实现数据和资源的共享,人们通过长期的研究发现,Web服务组合问题和工作流系统有着许多共同的特征:它们具有相同的生命周期,即组合流程建模阶段与流程运行阶段,在建模阶段均需要指定数据流和控制流,在运行阶段都由执行引擎负责解析流程定义并生成实例,通过调用外部应用或者服务进行执行。工作流技术的最大优点是实现了应用逻辑和过程的分离,在过程逻辑的建立过程中可以不考虑应用和资源的异构性,但是没有解决分布式异构环境中资源的互操作问题,而Web服务恰好提供了对分布式异构资源的互操作能力;同时工作流技术提供了对服务运行的协调、监控
3、和管理能力,为Web服务提供了一条可行、有效的路径。因此,一种基于工作流的Web服务组合成为未来进行事务处理的发展趋势。1Web服务基本架构从面向应用的角度描述了典型的Web服务组合的实现框架。该架构由三种角色和三个基本操作构成。三种角色分别是服务提供者、服务使用者和服务代理,而三个基本操作分别是注册、发现和绑定。服务提供者创建服务,并将其发布到服务注册中心供使用者查找和使用。当服务使用者需要完成特定的业务逻辑是就到服务注册中心去查询能够完成相应功能要求的Web服务,然后通过服务绑定直接与服务提供者通信,实现服务的调用,完成相应的事务。Web服务的基本架构用We
4、b服务描述语言WSDL(Webservicedescriptionlanguage)来描述服务;使用SOAP(Simpleobjectaccessprotocol)与外界进行交互,执行服务调用,而UDDI(Universaldescription,discovery,integration)协议被用来发布和查找服务。Web服务基本架构采用面向服务的体系结构,它所有的组成部件均实现为Web服务的形式。在Web服务各部件之间以及部件内部都以XML格式的消息传递方式进行交互。这是因为基于XML的文档具有跨平台、松耦合和灵活性的特点,易于系统理解和识别,使信息的自动处理
5、成为可能。2工作流Web服务描述Web服务描述是应用Web服务的基础,一个好的Web服务描述能够使系统快速的发现和绑定服务,从而提高系统的执行效率。Web服务组合的方法在一定程度上依赖于具体的Web服务描述框架。在本节中,我们将从面向服务描述的角度来考察几个与工作流Web服务组合联系紧密的服务描述问题,同时也对几个具有代表性的Web服务描述框架作了比较。从Web服务功能的角度来看,Web服务对用户是透明的,也即用户不必要知道Web服务内部的具体实现细节和执行路径,只需要从Web服务的输入输出、Web服务执行的先决条件和执行结果三个方面来刻画,通常这三个方面由We
6、b服务的服务轮廓(serviceprofile)来描述。认为Web服务基于TCP/IP,HTTP,XML等规范而定义,应具备Web上链接文档的浏览、事务的自动调度、服务的动态发布和查询等功能。认为WSDL是工业界通用的最为著名的标准之一,它由类型段、消息段、端口类型段、绑定段和服务段这五个部分组成。但WSDL只描述了Web服务的静态借口,不能为Web服务的交互提供支持。为了能够描述交互信息的正确顺序以及定义同一个Web服务在不同上下文环境可能出现的不同行为,BEA、IBM、微软从抽象流程定义的角度出发,开发了BPEL4WS(BusinessprocessExec
7、utionLanguageforWebService)。现在,它因有多种商业和开源的引擎支持而成为主流的工作流Web服务描述方式。从Web服务的内部行为来看,文献认为Web服务是一个白盒,即Web服务与外界进行消息交互是可见的。同时它把一个具体的Web服务看成一个进程,而这个进程又由许多子进程组成,这些子进程构成了该Web服务可能的执行路径。此时,我们更为关注服务内部行为之间的关系,因为组合是基于服务的内部行为而进行的,即一个服务是由内部的一系列子服务来实现的。一方面,对于不同的用户请求,系统执行的子服务流程就会有所不同;另一方面,一些服务在执行过程中需要与用户
8、进行交互,这将因用户的不
此文档下载收益归作者所有