After looking at the actual BPEL process, you'll probably ask what this has to do with the actual web servcies UPI or WSDL Descriptor. In Activebpel, it requires you to define a procedure deployment descriptor (Process deployment descriptor) file to tell the BPEL engine your process. Here is the PDD file.
<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>
Notice how this descriptor works with the BPEL process just now. It declares the <process location= "Bpel/loanapproval.bpel" > to define the physical address for each <partnerLink> and declares multiple WSDL descriptors.
Importantly, this file is bound to the BPEL process with our web services. With the above explanation, you should be aware that the Web services WSDL file constitutes the body of any BPEL process.
Earlier, because WSDL defines a Web service's methods, messages, and features. A BPEL process, through its engine, enables rich usage information to be included in these standard Web services files to orchestrate the required business processes.
This article through Activebpel lets everybody understand bpel. If you've seen loan Approval application for Activebpel and know how it works internally, you can now appreciate the value that BPEL brings to your Web services and SOA development.