|
自动化业务流程的UML配置文件(Profile) 这部分通过一个例子介绍了UML配置文件子集,该例子定义了一个简单本的贷款批准流程。在本例中您将会在ETTK的README文档中发现转换器。它可以被总结为如下所示:“在收到贷款请求时,将请求的数值与数值(10000)比较。如果请求的数值比较少,那么将调用Assessor服务,否则将将调用Approver服务。如果Accessor认为该请求的风险比较高,它也将被传递给Approver.当Approver完成或者Accessor接受时,将会返回批准信息。” BPEL流程是有状态的并包含实例,所以在BPEL中,这种情况都会被作为一个LoanApproval流程而实现,对于被处理的每个实际贷款申请,LoanApproval流程都会有一个实例。每个实例都用BPEL变量来捕获它自己的状态。在UML配置文件中,流程被表示为<<Process>>模板类。类的属性与流程的状态相对应(在BPEL4WS 1.0术语中的容器,或者BPEL 1.1中的变量)图1显示了表示贷款批准流程的UML类 .
图 1.用于BPEL流程建模的UML类

通过活动图可以清楚的描述类的行为。图2显示了贷款批准流程的活动图。例如,invokeAssessor活动显示为带有圆角的长方形。执行的操作显示为活动的入口条件;例如,riskAssessment(一个变量)被设置为检查服务的结果。通过UML分区(也作为泳道)来表示流程中通信的合作伙伴:customer、assessor以及approver。每个分区中显示了往合作伙伴发送或者接收信息的活动。箭头表示流程执行活动的顺序。注意分派(assingment)活动没有放到一个分区中;它描绘了发生在它自身流程内的活动,该流程不需要外部服务。
图 2贷款批准流程的活动图

应答(reply)活动向顾客返回响应,完成流程的处理。每个活动都有一个描述性的名称和输入活动来细化活动执行的工作。
映射到BPEL4WS
自动化业务流程的UML配置文件表示可以从UML模型生成完整的可执行BPEL制品。
表1 概要的展示了从配置文件到BPEL的映射,覆盖到了本文介绍的配置文件子集。
表 1. UML到BPEL4WS映射概述
| 配置文件构件 |
BPEL4WS概念 |
| <<process>>类 |
BPEL流程定义 |
| <<process>> 类的活动图 |
BPEL活动级别 |
| <<process>>类属性 |
BPEL变量 |
| 分层结构和控制流 |
BPEL顺序和流程活动 |
| <<receive>>、 <<reply>>、<<invoke>>活动 |
BPEL活动 |
清单1(由于版面空间原因,这里省略了很多细节代码)显示了BPEL文档的缩减版本,该文档是由本文介绍的贷款批准例子生成的。
清单 1.BPEL清单摘录
<process name="loanApprovalProcess" ...>
<variables>
<variable name="request" messageType="loandef:creditInformationMessage"/>
<variable name="riskAssessment"messageType="asns:riskAssessmentMessage"/>
... </variables>
... <flow>
<receive name="receive1" partner="customer" portType="apns:loanApprovalPT"
|
上一页 [1] [2] [3] [4] 下一页
 【责编:Lili】 |