<process location="bpel/loanapproval.bpel" name="bpelns:loanApprovalProcess"
xmlns="http://www.active-endpoints.com/schemas/deploy/pdd.xsd"
xmlns:bpelns="http://acme.com/loanprocessing"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<!-- Partner Link for inbound request from customer -->
<partnerLinks>
<partnerLink name="customer">
<myRole allowedRoles="" binding="RPC" service="ApproveLoan"/>
</partnerLink>
<!-- Partner Link for outbound request to delegate approver -->
<partnerLink name="approver">
<partnerRole endpointReference="static">
<wsa:EndpointReference xmlns:approver="http://tempuri.org/services/loanapprover">
<wsa:Address>approver:anyURI</wsa:Address>
<wsa:ServiceName PortName="SOAPPort">approver:LoanApprover</wsa:ServiceName>
</wsa:EndpointReference>
</partnerRole>
</partnerLink>
<!-- Partner Link for outbound request to risk assessment process -->
<partnerLink name="assessor">
<partnerRole endpointReference="static">
<wsa:EndpointReference xmlns:assessor="http://tempuri.org/services/loanassessor">
<wsa:Address>assessor:anyURI</wsa:Address>
<wsa:ServiceName PortName="SOAPPort">assessor:LoanAssessor</wsa:ServiceName>
</wsa:EndpointReference>
</partnerRole>
</partnerLink>
</partnerLinks>
<wsdlReferences>
<wsdl location="project:/wsdl/loandefinitions.wsdl"
namespace="http://tempuri.org/services/loandefinitions"/>
<wsdl location="project:/wsdl/loanapproval.wsdl"
namespace="http://loans.org/wsdl/loan-approval"/>
<wsdl location="project:/wsdl/loanapprover.wsdl"
namespace="http://tempuri.org/services/loanapprover"/>
<wsdl location="project:/wsdl/loanassessor.wsdl"
namespace="http://tempuri.org/services/loanassessor"/>
</wsdlReferences>
</process>
注意这个描述符是如何与刚才的BPEL过程协作的。它声明了<process location="bpel/loanapproval.bpel">来为每个<partnerLink>定义物理地址,并声明了多个WSDL描述符。
重要的是,这个文件与我们的Web services一起绑定到BPEL过程。通过上面的讲解,你应该能意识到Web services WSDL文件组成了任何BPEL过程的主体。
前面的因为WSDL定义了一个Web service的方法、消息和特征。而一个BPEL过程则通过它的引擎使得丰富的使用信息被包含在这些标准Web services文件中,以此来编排需要的业务过程。
本文通过ActiveBPEL让大家了解BPEL。如果你已经看过Loan Approval Application for ActiveBPEL 并知道它的内部工作方式,那么现在就能体会到BPEL对给你的Web services和SOA开发所带来的价值。