BPEL 用来描述您的业务流程。采用一个基于xml的标准。比如一下业务流程:

其 BPEL
<?xml version="1.0"?>
<bpel:process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:q1="http://soa.newegg.com/moudleA" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="BizTalk_Server_Project4.UpdateCatagory" targetNamespace="http://soa.newegg.com/OA" xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
<bpel:partnerLinks>
<bpel:partnerLink name="Port_1" partnerLinkType="q1:Port_1Type" myRole="portRole" />
</bpel:partnerLinks>
<bpel:variables>
<bpel:variable name="CategoryInstance" messageType="q1:__messagetype_BizTalk_Server_Project4_Category" />
<bpel:variable name="ResultInstance" messageType="q1:__messagetype_BizTalk_Server_Project4_Result" />
<bpel:variable name="TempBuffer" element="q1:_System_Xml_XmlDocument" />
</bpel:variables>
<bpel:sequence>
<bpel:receive partnerLink="Port_1" portType="q1:PortType_1" operation="Operation_1" variable="CategoryInstance" createInstance="yes" />
<bpel:assign>
<bpel:copy>
<bpel:from />
<bpel:to variable="TempBuffer" />
</bpel:copy>
</bpel:assign>
<bpel:switch>
<bpel:case condition=" bpel:getVariableData( 'CategoryInstance', 'part', "/*[local-name()='Category' and namespace-uri()='http://BizTalk_Server_Project4.Category']/*[local-name()='Name' and namespace-uri()='']") = "CPU"">
<bpel:assign>
<bpel:copy>
<bpel:from>
<ns0:Result xmlns:ns0="http://BizTalk_Server_Project4.Result">
<OkOrNot>true</OkOrNot>
<Description>Golden Category</Description>
</ns0:Result>
</bpel:from>
<bpel:to variable="TempBuffer" />
</bpel:copy>
<bpel:copy>
<bpel:from variable="TempBuffer" />
<bpel:to variable="ResultInstance" part="part" />
</bpel:copy>
</bpel:assign>
</bpel:case>
<bpel:otherwise>
<bpel:assign>
<bpel:copy>
<bpel:from>
<ns0:Result xmlns:ns0="http://BizTalk_Server_Project4.Result">
<OkOrNot>false</OkOrNot>
<Description>Common Category</Description>
</ns0:Result>
</bpel:from>
<bpel:to variable="TempBuffer" />
</bpel:copy>
<bpel:copy>
<bpel:from variable="TempBuffer" />
<bpel:to variable="ResultInstance" part="part" />
</bpel:copy>
</bpel:assign>
</bpel:otherwise>
</bpel:switch>
<bpel:reply partnerLink="Port_1" portType="q1:PortType_1" operation="Operation_1" variable="ResultInstance" />
</bpel:sequence>
</bpel:process>

Biztalk 实现的Ochastration 支持倒除为WSDL 和 BPEL
WSDL 的意义在于别人知道你的业务流程的输入和输出.
而 BPEL 则告诉别人我的业务流程是怎么样的, 怎么个输入输出,怎么个逻辑处理. 当然,这两个技术都是一个工业标准. 很多的集成产品都支持标准的BPEL

其 BPEL
<?xml version="1.0"?>
<bpel:process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:q1="http://soa.newegg.com/moudleA" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="BizTalk_Server_Project4.UpdateCatagory" targetNamespace="http://soa.newegg.com/OA" xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
<bpel:partnerLinks>
<bpel:partnerLink name="Port_1" partnerLinkType="q1:Port_1Type" myRole="portRole" />
</bpel:partnerLinks>
<bpel:variables>
<bpel:variable name="CategoryInstance" messageType="q1:__messagetype_BizTalk_Server_Project4_Category" />
<bpel:variable name="ResultInstance" messageType="q1:__messagetype_BizTalk_Server_Project4_Result" />
<bpel:variable name="TempBuffer" element="q1:_System_Xml_XmlDocument" />
</bpel:variables>
<bpel:sequence>
<bpel:receive partnerLink="Port_1" portType="q1:PortType_1" operation="Operation_1" variable="CategoryInstance" createInstance="yes" />
<bpel:assign>
<bpel:copy>
<bpel:from />
<bpel:to variable="TempBuffer" />
</bpel:copy>
</bpel:assign>
<bpel:switch>
<bpel:case condition=" bpel:getVariableData( 'CategoryInstance', 'part', "/*[local-name()='Category' and namespace-uri()='http://BizTalk_Server_Project4.Category']/*[local-name()='Name' and namespace-uri()='']") = "CPU"">
<bpel:assign>
<bpel:copy>
<bpel:from>
<ns0:Result xmlns:ns0="http://BizTalk_Server_Project4.Result">
<OkOrNot>true</OkOrNot>
<Description>Golden Category</Description>
</ns0:Result>
</bpel:from>
<bpel:to variable="TempBuffer" />
</bpel:copy>
<bpel:copy>
<bpel:from variable="TempBuffer" />
<bpel:to variable="ResultInstance" part="part" />
</bpel:copy>
</bpel:assign>
</bpel:case>
<bpel:otherwise>
<bpel:assign>
<bpel:copy>
<bpel:from>
<ns0:Result xmlns:ns0="http://BizTalk_Server_Project4.Result">
<OkOrNot>false</OkOrNot>
<Description>Common Category</Description>
</ns0:Result>
</bpel:from>
<bpel:to variable="TempBuffer" />
</bpel:copy>
<bpel:copy>
<bpel:from variable="TempBuffer" />
<bpel:to variable="ResultInstance" part="part" />
</bpel:copy>
</bpel:assign>
</bpel:otherwise>
</bpel:switch>
<bpel:reply partnerLink="Port_1" portType="q1:PortType_1" operation="Operation_1" variable="ResultInstance" />
</bpel:sequence>
</bpel:process>

Biztalk 实现的Ochastration 支持倒除为WSDL 和 BPEL
WSDL 的意义在于别人知道你的业务流程的输入和输出.
而 BPEL 则告诉别人我的业务流程是怎么样的, 怎么个输入输出,怎么个逻辑处理. 当然,这两个技术都是一个工业标准. 很多的集成产品都支持标准的BPEL
浙公网安备 33010602011771号