This work is licensed under a Creative Commons |
BPEL's processing model is based on the assumption that all import and export of data is done by using Web Services. BPEL differentiates two kinds of processes, executable processes and business protocols (abstract processes). While executable processes can be executed by a BPEL engine, business protocols use process descriptions that specify the mutually visible message exchange behavior of each of the parties involved in the protocol, without revealing their internal behavior. For the executable processes, BPEL provides a number of constructs for describing the behavior of such a process.
<definitions targetNamespace="http://tempuri.org/services/loanapprover" xmlns:tns="http://tempuri.org/services/loanapprover" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:loandef="http://tempuri.org/services/loandefinitions" xmlns="http://schemas.xmlsoap.org/wsdl/"> <import namespace="http://tempuri.org/services/loandefinitions" location="http://localhost:8080/bpws-samples/loanapproval/loandefinitions.wsdl"/> <message name="approvalMessage"> <part name="accept" type="xsd:string"/> </message> <portType name="loanApprovalPT"> <operation name="approve"> <input message="loandef:creditInformationMessage"/> <output message="tns:approvalMessage"/> <fault name="loanProcessFault" message="loandef:loanRequestErrorMessage"/> </operation> </portType> <binding ...> ... </binding> <service name="LoanApprover">....</service> </definitions>
<portType name="riskAssessmentPT"> <operation name="check"> <input message="loandef:creditInformationMessage"/> <output message="tns:riskAssessmentMessage"/> <fault name="loanProcessFault" message="loandef:loanRequestErrorMessage"/> </operation> </portType>
<plnk:partnerLinkType name="riskAssessmentLinkType"> <plnk:role name="assessor"> <portType name="asns:riskAssessmentPT"/> </plnk:role> </plnk:partnerLinkType>
<partners> <partner name="customer" partnerLinkType="lns:loanApproveLinkType" myRole="approver"/> <partner name="approver" partnerLinkType="lns:loanApprovalLinkType" partnerRole="approver"/> <partner name="assessor" partnerLinkType="lns:riskAssessmentLinkType" partnerRole="assessor"/> </partners>
programming language
activitieswhich are used to compose processes
transactionsin BPEL