在本文的第一部分中,我们介绍了服务合成的基本要素编排和编制的区别与关系。在这一部分,我们将介绍如何使用WS-BPEL。 之前提到过,WS-BPEL是一种编制语言,通过定义控制流,来描述Web服务应用的执行逻辑,为伙伴服务提供了一种共享上下文的方法。伙伴服务指的是和WS-BPEL流程交互的服务。
WS-BPEL是建立在几种规范之上,如SOAP、WSDL和XML Schema。WSDL可能是其中最重要的一个。在基于WS-BPEL的合成服务中,正是WSDL让服务起到作用。WS-BPEL可以定义业务流程,通过WSDL描述,让流程与合作服务进行交互(稍后具体解释)。
有意思的是,虽然WS-B……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在本文的第一部分中,我们介绍了服务合成的基本要素编排和编制的区别与关系。在这一部分,我们将介绍如何使用WS-BPEL。
之前提到过,WS-BPEL是一种编制语言,通过定义控制流,来描述Web服务应用的执行逻辑,为伙伴服务提供了一种共享上下文的方法。伙伴服务指的是和WS-BPEL流程交互的服务。
WS-BPEL是建立在几种规范之上,如SOAP、WSDL和XML Schema。WSDL可能是其中最重要的一个。在基于WS-BPEL的合成服务中,正是WSDL让服务起到作用。WS-BPEL可以定义业务流程,通过WSDL描述,让流程与合作服务进行交互(稍后具体解释)。
有意思的是,虽然WS-BPEL是目前最受欢迎的可执行业务流程语言,但并不是对基于Web服务应用的执行逻辑进行定义的唯一方法。还有其他规范,如XLANG、WSFL、XPDL和BPML。每一种都可以替代WS-BPEL。
通过WS-BPEL,你可以把一组Web服务集成到业务流程流中,从而构建业务流程。WS-BPEL业务流程具体指定了如何在该流程的实例和伙伴服务之间协调交互。图3举的例子就是WS-BPEL业务流程的工作流示意图。
图3:把WS-BPEL流程封装到图1描述的合成服务之工作流示意图
图中所描述的WS-BPEL流程把所有的服务都集成到一个点对点流程中,这些服务都是从接受方案开始到最终完成所有步骤所需的服务。在这个具体的例子中,该流程集成了四个Web服务,如图1中所示。在下文我们将介绍WS-BPEL流程如何通过WSDL文档定义的一个伙伴链接来连接Web服务。
WS-BPEL流程除了具有调用多个服务的能力外,还可能对XML数据进行操作,运行并行处理、条件分支和循环来控制流程流。例如,在上面的流程中,你可以使用一个开关动作,建立两个分支。如果提交方案的是一名新作者,那么这个流程就会调用“Author”服务,把作者的信息保存到数据库。否则,就跳过这一步。
在接下来的第三部分,我们将用实例具体讲解如何设计WSDL定义。
关于作者
Yuli Vasiliev是软件开发者、自由撰稿人和咨询师。目前专注于开源开发、Oracle技术和SOA。他具有十多年的软件开发经验和七年多的技术写作经验。他出版的新书《SOA and WS-BPEL》具体详述了如何使用开源产品PHP和ActiveBPEL引擎创建和部署你自己的面向服务解决方案。
作者
翻译
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
预测分析案例:预测分析如何提升业务流程价值
过预测分析,客户服务从原来的被动状态转向了主动状态。以呼叫中心为例,我们来谈谈客户服务。我们曾经与Independence Blue Cross合作过,这是一家保险公司。
-
企业流程新途径:BPM与SAP结合
对于现代企业而言,SAP所提供的解决方案已经满足了企业大部分的需求,但是由于企业制度、规则和管理体系大都散落在各个业务系统,管理和变更这些要素并非易事。