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">