业务流程: 学习 BPEL4WS,第 5 部分
来源:百度文库 编辑:神马文学网 时间:2024/04/28 00:33:41
使用 BPEL4WS 的业务流程: 学习 BPEL4WS,第 5 部分
添加链接并操作数据
级别: 初级
Matthew J. Duftler, 软件工程师, IBM TJ Watson Research Center
Francisco Curbera, Component Systems 小组主管, IBM TJ Watson Research Center
Rania Khalaf, 软件工程师, IBM TJ Watson Research Center
2003 年 3 月 01 日
本系列前面第二部分中的示例演示了如何构建一个调用 Web 服务的简单的 BPEL4WS 流程。为了阐明链接、条件和 活动的使用,本文将继续那个示例并将它扩展到 BPEL4WS 规范和 BPWS4J 示例所包含的贷款批准流程中。链接将活动连接在一起,并允许由每个活动的条件的规范来确定是否应该遵循该链接。在 BPEL4WS 中条件是 XPath 表达式,并且本文将显示条件如何合并流程的容器数据。当数据不是作为一个 活动的结果被直接复制时,您可以使用 活动将数据复制到一个容器中。
本文将把我们先前创建的流程扩展到 BPEL4WS 规范和 BPWS4J 示例所包含的贷款批准示例中。文章阐明了用于定义编排的两个核心功能:使用受控制的链接来定义控制的流(flow),以及使用 活动操作数据。我们假定您已经阅读并理解了先前的示例,并在这个基础上与您深入探讨。和先前的示例一样,我们将在总结时描述该流程是如何运行的以及它在 BPWS4J 引擎中的运行结果。
我们将为您演示一个处理相同贷款请求的流程 — 客户发出一个贷款请求,该请求得到处理,然后客户确定贷款是否得到了批准。最初,中间步骤包括简单地调用一个金融机构的 Web 服务并将该 Web 服务的应答反馈给客户。与这个基本步骤不同,您想要在应用程序处理过程中使用一些附加的逻辑。您可以通过执行以下一系列步骤来试着确定是否可以不去金融机构( 贷款批准者)进行全面审查而授权贷款;如果请求的贷款金额较大,那么该请求必须被发送到金融机构进行审查。如果请求的贷款金额较小,您就调用一个新的 Web 服务(名为 贷款评估者)来确定风险。如果评估者确定给申请者发放贷款的风险不高,那么该贷款请求将被批准。反之,请求将被发送到金融机构进行全面审查。
回页首
在 BPEL 中,该流程是通过使用 活动建立的。请记注 活动允许您定义用于连接它所包含的活动的链接,因此您可以将逻辑放在这个活动中来完成上述处理。请保持 和 活动和以前完全一样,并添加两个 活动 — 一个用于评估者而另一个用于批准者。您也可以通过添加一个 活动来把您的消息放入应答(reply)中。接着,使用链接将 连接到两个调用(invoke)。用于控制这些链接的条件有两个:如果贷款金额小于 10,000,那么您想要调用评估者;而如果贷款金额大于或等于 10,000,则您想要调用批准者。然后,当另一个条件为风险高时,将评估者的调用链接到批准者的调用,而当风险低时,则将评估者的调用链接到 活动。最后,当不指定任何条件(缺省)时,将批准者的调用和赋值(assign)链接到 活动。对于这个流程来说,请牢记控制的流是由控制每个链接的条件的值所决定的。我们将在下面的文章中详细解释这些概念。最终的结构如图 1所示。
回页首
贷款评估者的 WSDL 描述如清单 1所示。评估者的服务可以执行 check操作,该操作返回与发放给客户贷款有关的风险级别。
... ....
在流程的定义中多添加一个 serviceLinkType ,为它与新的 assessor伙伴的交互建模(清单 2)。所添加的服务链接类型表示如果某人想要成为一个评估者,他(或她)必须事先定义风险评估端口类型。
回页首
下一步是定义流程。从上次建立的流程开始,除去 和 。然后,为了将贷款评估者合并到流程中,以刚才定义在 serviceLinkType 中的评估者角色将它添加为一个伙伴,并且添加一个容器以接收它的输出消息。将下列内容添加到伙伴列表中:
将下列内容添加到容器列表中:
链接的出现使得 活动的使用成为必然,该活动的定义从下面的清单 3 开始。通过赋予链接名称,您可在 活动本身定义要使用的链接。
在定义好链接之后,您可以用他们将 活动链接到两个 活动。(注意:由于在 BPEL 中使用链接的名称来把两个活动链接在一起,因此这两个活动需要被包含在定义了相关链接的 活动中。)链接的源活动的定义(即本例中的 活动)对每个传出链接都将对应一个
添加链接并操作数据
级别: 初级
Matthew J. Duftler, 软件工程师, IBM TJ Watson Research Center
Francisco Curbera, Component Systems 小组主管, IBM TJ Watson Research Center
Rania Khalaf, 软件工程师, IBM TJ Watson Research Center
2003 年 3 月 01 日
本系列前面第二部分中的示例演示了如何构建一个调用 Web 服务的简单的 BPEL4WS 流程。为了阐明链接、条件和
本文将把我们先前创建的流程扩展到 BPEL4WS 规范和 BPWS4J 示例所包含的贷款批准示例中。文章阐明了用于定义编排的两个核心功能:使用受控制的链接来定义控制的流(flow),以及使用
我们将为您演示一个处理相同贷款请求的流程 — 客户发出一个贷款请求,该请求得到处理,然后客户确定贷款是否得到了批准。最初,中间步骤包括简单地调用一个金融机构的 Web 服务并将该 Web 服务的应答反馈给客户。与这个基本步骤不同,您想要在应用程序处理过程中使用一些附加的逻辑。您可以通过执行以下一系列步骤来试着确定是否可以不去金融机构( 贷款批准者)进行全面审查而授权贷款;如果请求的贷款金额较大,那么该请求必须被发送到金融机构进行审查。如果请求的贷款金额较小,您就调用一个新的 Web 服务(名为 贷款评估者)来确定风险。如果评估者确定给申请者发放贷款的风险不高,那么该贷款请求将被批准。反之,请求将被发送到金融机构进行全面审查。
回页首
在 BPEL 中,该流程是通过使用
回页首
贷款评估者的 WSDL 描述如清单 1所示。评估者的服务可以执行 check操作,该操作返回与发放给客户贷款有关的风险级别。
在流程的定义中多添加一个 serviceLinkType ,为它与新的 assessor伙伴的交互建模(清单 2)。所添加的服务链接类型表示如果某人想要成为一个评估者,他(或她)必须事先定义风险评估端口类型。
回页首
下一步是定义流程。从上次建立的流程开始,除去
将下列内容添加到容器列表中:
链接的出现使得
在定义好链接之后,您可以用他们将
业务流程: 学习 BPEL4WS,第 5 部分
业务流程: 学习 BPEL4WS,第 2 部分
业务流程: 学习 BPEL4WS,第 3 部分
业务流程: 学习 BPEL4WS,第 4 部分
业务流程: 学习 BPEL4WS,第 6 部分
业务流程: 学习 BPEL4WS,第 7 部分
业务流程: 学习 BPEL4WS,第 8 部分
业务流程: 学习 BPEL4WS,第 5 部分添加链接并操作数据
业务流程: 理解 BPEL4WS,第 1 部分
业务流程: 理解 BPEL4WS,第 1 部分业务流程中的概念
业务流程: 学习 BPEL4WS,第 2 部分创建一个简单的流程
业务流程: 学习 BPEL4WS,第 3 部分各种活动以及内存中模型
业务流程: 学习 BPEL4WS,第 4 部分用 BPWS4J 编辑器创建流程
业务流程: 学习 BPEL4WS,第 6 部分相关性、故障处理和补偿
业务流程: 学习 BPEL4WS,第 7 部分将相关性和故障处理添加到流程中
业务流程: 学习 BPEL4WS,第 8 部分使用 switch、pick 和 compensate
业务流程: wr学习 BPEL4WS,第 8 部分使用 switch、pick 和 compensate
SOA 案例研究,第 4 部分:业务流程场景
SOA 案例研究,第 4 部分:业务流程场景
按需业务流程生命周期,第 1 部分: 为您的按需业务流程构建基础
BPEL4WS语言介绍,第1部分: 特点介绍及使用技巧提示
学习风光摄影-第1部分-
学习风光摄影-第1部分
学习风光摄影-第1部分-by Guy Tal