BPEL之贷款审批案例(2)
我们把该例的业务流程定义拷在下面,进行说明:
targetNamespace="
http://acme.com/loanprocessing"
xmlns="
http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:lns="
http://loans.org/wsdl/loan-approval"
suppressJoinFailure="yes">
partnerLinkType="lns:loanPartnerLinkType"
myRole="loanService"/>
partnerLinkType="lns:loanApprovalLinkType"
partnerRole="approver"/>
partnerLinkType="lns:riskAssessmentLinkType"
partnerRole="assessor"/>
messageType="lns:creditInformationMessage"/>
messageType="lns:riskAssessmentMessage"/>
messageType="lns:approvalMessage"/>
messageType="lns:errorMessage"/>
faultVariable="error">
portType="lns:loanServicePT"
operation="request"
variable="error"
faultName="unableToHandleRequest"/>
H:
指明一组步骤应该并行地执行;在并行地执行的一组活动中,您可以通过使用链接(link)来指明执行顺序方面的约束。
s>
name="receive-to-assess"/>
name="receive-to-approval"/>
name="approval-to-reply"/>
name="assess-to-setMessage"/>
name="setMessage-to-reply"/>
name="assess-to-approval"/>
H:流程的每一步称为一个活动。存在以下一些基本活动:
H:receive等待一条消息来响应由某人从外部进行调用的服务接口的操作
portType="lns:loanServicePT"
operation="request"
variable="request" createInstance="yes">
H:转移及其条件
transitionCondition=
"bpws:getVariableData('request','amount')< 10000"/>
transitionCondition=
"bpws:getVariableData('request','amount')>=10000"/>
H:invoke调用某个 Web 服务上的操作
portType="lns:riskAssessmentPT"
operation="check"
inputVariable="request"
outputVariable="risk">
transitionCondition=
"bpws:getVariableData('risk','level')='low'"/>
transitionCondition=
"bpws:getVariableData('risk','level')!='low'"/>
H:assign把数据从一个地方复制到另一个地方
H:invoke调用某个 Web 服务上的操作
portType="lns:loanApprovalPT"
operation="approve"
inputVariable="request"
outputVariable="approval">
H:reply生成输入/输出操作的响应
portType="lns:loanServicePT"
operation="request"
variable="approval">
本文介绍了一个基于BPEL的贷款审批业务流程实例。详细解释了如何通过BPEL定义流程,包括接收请求、风险评估、审批及回复等关键步骤。
1435

被折叠的 条评论
为什么被折叠?



