thanks!:handshake:
andyliuliming wrote: > > Desperate developers <http://diazdeveloper.blogspot.com/> > > For those developers that only want to learn how to run a "Hello World" > example. > Friday, September 18, 2009 > Correlation with > BPEL<http://diazdeveloper.blogspot.com/2009/09/correlation-with-bpel.html> > An application must maintain data integrity when messages are exchanged > between services. A manufacturer that receives orders, for example, must > not > mix data for one order with the data for another. > > A BPEL process addresses this issue with correlation sets, each of which > is > a list of properties whose values are expected to remain constant > throughout > a process or throughout a specific scope, even as data is transmitted to > and > from partner services. > For purposes of an example, here is a process that records the purchase > orders of custumers, so it needs to identify each specific custumer-order. > This is the diagram of the whole process: > > > > The following steps describe how to identify a process using correlation > sets: > > > 1. First, the following namespace into your WSDL file: > xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/varprop" > > 2. Create the property to be used to identify your process. In this > example we will use 2 values to identify the process or the PO of the > customer, so add the following at the end of your WSDL. > <bpws:property name="customerID" type="p:string" /> > <bpws:property name="orderNumber" type="p:string" /> > > 3. The process will start after answer the first request, for example, > when the customer puts a new Purchase Order, the process will return > the PO > number, then the BPEL process will identify an specific process using > the > CustomerID and the OrderNumer. To do the previous logic, add the > following > to your WSDL. This is telling that the CID and Order will be used as a > combined key. > > <!-- sendResponse --> > <bpws:propertyAlias propertyName="tns:customerID" > messageType > ="tns:sendPOResponse" part="confirmation"> > <bpws:query><![CDATA[/tns:CID]]></bpws:query> > </bpws:propertyAlias> > <bpws:propertyAlias propertyName="tns:orderNumber" > messageType="tns:sendPOResponse" part="confirmation"> > <bpws:query><![CDATA[/tns:Order]]></bpws:query> > </bpws:propertyAlias> > > 4. Also, for each subsequent message sent to the BPEL process we will > require that the user sends the CID and Order, to do that, define that > while > requesting a operation those values must be sent. Example: > <!-- QUERY Request --> > <bpws:propertyAlias propertyName="tns:customerID" > messageType > ="tns:queryPORequest" part="query"> > <bpws:query><![CDATA[/tns:CID]]></bpws:query> > </bpws:propertyAlias> > <bpws:propertyAlias > propertyName="tns:orderNumber"messageType > ="tns:queryPORequest" part="query"> > <bpws:query><![CDATA[/tns:Order]]></bpws:query> > </bpws:propertyAlias> > > 5. Now, define the correlationSets into your BPEL process > <bpws:correlationSets> > <bpws:correlationSet name="PurchaseOrder" > properties="tns:customerID > tns:orderNumber"/> > </bpws:correlationSets> > > 6. As previously mentioned, the process will start when answering to > the > first request, so we define that inside the first reply activity: > <bpws:reply name="replyOutput" operation="sendPO" > partnerLink > ="POLink" portType="tns:purchaseOrderProcess" variable="output"> > <bpws:correlations> > <bpws:correlation initiate="yes" set="PurchaseOrder > "/> > </bpws:correlations> > </bpws:reply> > > 7. And in subsequent requests, the correlation only will be used, not > initiated again. For example, while querying the process: > > > <bpws:onMessage operation="queryPO" partnerLink="POLink" > portType > ="tns:purchaseOrderProcess" variable="queryInput"> > <bpws:correlations> > <bpws:correlation initiate="no" set="PurchaseOrder > "/> > </bpws:correlations> > > > > > Download the example from > here<http://code.google.com/p/augustoproject/source/browse/trunk/source/Store.zip> > . > > Posted by Augusto Diaz at 8:12 > AM<http://diazdeveloper.blogspot.com/2009/09/correlation-with-bpel.html> > <http://www.blogger.com/post-edit.g?blogID=3308607845750296303&postID=7042806208907602573> > 1 comments: > <http://www.blogger.com/profile/01571815551026602413> > Esse.Ti. <http://www.blogger.com/profile/01571815551026602413> said... > > Hi > did u write all the code by hand or u used the tool? > because i've some problem using the eclipse editor to put the correlation, > i > can't specify the property for each message. > November 3, 2009 6:53 AM > <http://diazdeveloper.blogspot.com/2009/09/correlation-with-bpel.html?showComment=1257260006167#c1197757976010378474> > <http://www.blogger.com/delete-comment.g?blogID=3308607845750296303&postID=1197757976010378474> > > Post a > Comment<https://www.blogger.com/comment.g?blogID=3308607845750296303&postID=7042806208907602573> > Older > Post<http://diazdeveloper.blogspot.com/2009/09/consuming-external-web-services.html> > Home <http://diazdeveloper.blogspot.com/> > Subscribe to: Post Comments > (Atom)<http://diazdeveloper.blogspot.com/feeds/7042806208907602573/comments/default> > Blog Archive > > - ▼ > <javascript:void(0)>2009<http://diazdeveloper.blogspot.com/search?updated-min=2009-01-01T00%3A00%3A00-08%3A00&updated-max=2010-01-01T00%3A00%3A00-08%3A00&max-results=5> > (5) > - ▼ > <javascript:void(0)>September<http://diazdeveloper.blogspot.com/2009_09_01_archive.html> > (2) > - Correlation with > BPEL<http://diazdeveloper.blogspot.com/2009/09/correlation-with-bpel.html> > - Consuming external web > services<http://diazdeveloper.blogspot.com/2009/09/consuming-external-web-services.html> > - ► > <javascript:void(0)>August<http://diazdeveloper.blogspot.com/2009_08_01_archive.html> > (1) > - BPEL fault > handling<http://diazdeveloper.blogspot.com/2009/08/bpel-fault-handling.html> > - ► > <javascript:void(0)>July<http://diazdeveloper.blogspot.com/2009_07_01_archive.html> > (2) > - Calling custom Java classes from > BPEL<http://diazdeveloper.blogspot.com/2009/07/calling-custom-java-classes.html> > - Apache ODE with JBoss and > Oracle<http://diazdeveloper.blogspot.com/2009/07/apache-ode-with-jboss-and-oracle.html> > > > <http://www.blogger.com/rearrange?blogID=3308607845750296303&widgetType=BlogArchive&widgetId=BlogArchive1&action=editWidget> > Who is Augusto > [image: My Photo] <http://www.blogger.com/profile/08731001958069970194> > Augusto > DiazView my complete > profile<http://www.blogger.com/profile/08731001958069970194> > <http://www.blogger.com/rearrange?blogID=3308607845750296303&widgetType=Profile&widgetId=Profile1&action=editWidget> > visitors > [image: blog counter] <http://guestscounter.com/> > > <http://www.blogger.com/rearrange?blogID=3308607845750296303&widgetType=HTML&widgetId=HTML1&action=editWidget> > > > 2009/11/24 fangjintao <[email protected]> > >> >> Because blogspot has been blocked by Chinese Fucking Great Wall. >> >> http://diazdeveloper.blogspot.com/2009/09/correlation-with-bpel.html >> >> my email: [email protected] >> >> Thanks a lot >> >> -- >> View this message in context: >> http://old.nabble.com/Can-anybody-kindly-help-to-send-this-example-to-my-email-tp26491411p26491411.html >> Sent from the Apache Ode User mailing list archive at Nabble.com. >> >> > > > -- > Liu Liming(Andy) > Tel: +86-134-7253-4429 > MSN:[email protected] <msn%[email protected]> > s...@sjtu > > > -- View this message in context: http://old.nabble.com/Can-anybody-kindly-help-to-send-this-example-to-my-email-tp26491411p26508635.html Sent from the Apache Ode User mailing list archive at Nabble.com.
