现在的位置: 首页 > 综合 > 正文

使用ActiveBPEL编排、控制Web Services(3)

2013年08月10日 ⁄ 综合 ⁄ 共 2253字 ⁄ 字号 评论关闭
在看过实际的BPEL过程后,你大概会问这跟实际的Web servcies的UPI或WSDL描述符有什么关系。在ActiveBPEL中,它需要你定义一个过程部署描述符(Process Deployment Descriptor)文件来告诉BPEL引擎你的过程。下面就是这个PDD文件。

<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开发所带来的价值。 

抱歉!评论已关闭.