BPEL流程基础结构之核心流程

日期: 2010-03-04 作者:Matt Wright翻译:张培颖 来源:TechTarget中国 英文

下图展示了BPEL流程的核心结构,以及如何与外部组件进行交互,包括BPEL流程调用的任何WEB服务(案例中的服务A或者服务B)或者外部客户端将BPEL流程作为WEB服务调用。   从这里我们可以看出BPEL分成两个独立的部分;Partner Links,与描述BPEL和外界之间交互的WSDL相关联;核心BPEL流程本身,描述运行时流程执行。 图一   核心BPEL流程    核心BPEL流程有几步组成或者作为他们在BPEL中调用的活动。这些简单的活动包括:   指派:用来操作变量。

  转换:用XML数据从源格式向目标格式映射数据的特殊指派。  等待:用来暂停流程。  置空:它什么也不做。用来分……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

下图展示了BPEL流程的核心结构,以及如何与外部组件进行交互,包括BPEL流程调用的任何WEB服务(案例中的服务A或者服务B)或者外部客户端将BPEL流程作为WEB服务调用。

  从这里我们可以看出BPEL分成两个独立的部分;Partner Links,与描述BPEL和外界之间交互的WSDL相关联;核心BPEL流程本身,描述运行时流程执行。

图一

图一

  核心BPEL流程
  
  核心BPEL流程有几步组成或者作为他们在BPEL中调用的活动。这些简单的活动包括:

  •   指派:用来操作变量。
  •   转换:用XML数据从源格式向目标格式映射数据的特殊指派。
  •   等待:用来暂停流程。
  •   置空:它什么也不做。用来分支流程,活动在语句结构上的需求,但是你不希望执行活动。

  活动结构通过流程控制流。这些包括:

  •   While:用来执行环路。
  •   Switch:执行假定分支的构成。
  •   Flow:用来平行执行实施分支。
  •   FlowN:用执行若干平行动态分支。

  还包括消息活动(例如RECEIVE,INVOKE,REPLY和PICK)。

  BPEL流程中的活动可以细分成活动逻辑组,使用Scope活动。也为结构和组织你的流程提供一种有用的方式,它也能使你为适用于范围的变量、故障处理和补偿处理定义属性。

  变量

  另外,每一个BPEL流程也可以定义变量,用来保持流程的状态,通过流程和消息一样发送和接收。他们可以定义流程水平,被认为是全球的和流程所有部分可视的。或者它可以在他们的可视活动包含在Scope之内进行声明。

  变量有以下类型:

  •   简单类型:可以用XML Schema定义的任何简单数据(例如字符、证书、布尔类型和浮点。)。
  •   WSDL消息类型:用来保持WSDL消息发送或者从合作伙伴处接收的内容。
  •   元素:保持复杂或者XML Schema元素都可以定义WSDL文件或者分离的XML Schema。

  变量操作<assign>活动,可以用来从一个变量到另一个变量拷贝数据,也可以用XPathExpressions或者XSLT创建S新数据。

  对变量而言,WSDL消息或者复杂元素,我们可通过指定愿意使用的XPathExpressions变量部分,同其子组件水平进行工作。

  Partner Links

  流程和其他方(或者合作伙伴)的所有交互都是通过与他们匹配的WSDL文件定义的WEB服务。尽管每个服务完全有WSDL描述,它不能定义流程和合作伙伴间的关系,这个合作伙伴是式服务的消费者以及提供者。首先,这个关系可能是含蓄的。尽管,这不是常例,所以BPEL使用Partner Links来明确定义这个关系。

  Partner Links用< PartnerLinkType>定义扩展WSDL(用BPEL标准定义)。不论你参照的WEB服务的WSDL是否包含< PartnerLinkType >,JDeveloper都将自动询问你是否想创建一个。假设你回答是,它将作为独立的WSDL文档创建,然后输入原来的WSDL中。

翻译

张培颖
张培颖

云计算网站编辑

相关推荐

  • 保险公司如何能从BPEL中获益

    对于保险业整合不同系统是一件寻常的工作。但保险公司经常会面临监管条例改变和应对不同的顾客需求。为了解决这些系统问题,软件专家正在使用一种强大的工具——BPEL。

  • 2013年业务流程执行语言(BPEL)现状

    在SOA领域中,BPEL拥有属于自己的集成系统和自动化工作流,为协调完全异构系统而提供一致的流程。

  • 如何开发BPEL复合应用

    大多数软件架构师对应用的组件化、SOA和工作流或者服务总线流程非常熟悉,也对组合应用如何将这些基本元素结合在一起非常熟知。

  • 如何在SOA中执行BPEL测试?

    几乎所有面向服务架构(SOA)用户都在使用业务流程执行语言(BPEL)。作为编排粗粒度的业务流程流工具,BPEL实际上是行业的标准,但是还是会引起测试问题。