Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
OSB Split Join

OSB Split Join

Ratings: (0)|Views: 9|Likes:
Published by SOA Training

More info:

Published by: SOA Training on Jan 16, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less





Split Join in OSB
This article is from the excellent Blog by oraclefusion1011.
See complete article here -http://oraclefusion1011.blogspot.com/2011/05/blog-post.html . It is reproduced here for easy reference only.This is one of an interesting feature in OSB , however if you know how FlowN works inBpel this will appears to be same.Use Case:Orders -> Multiple ItemsServices :1. Get each Item Status (Instock/outStock)2. Get Order Status. Now split join splits the input request to multiple threads and executes parallely.Like in this case for an Order with 10 items , 10 threads will get spawned.Resources:XSD : Order/Item ElementWSDL : for ItemStatus Service and Order Status serviceBpel : Implement the getItemStatus service for inividual itemOSB :1. create a project for split join2. Import XSD and both WSDlWhile importing wsdl it may create xsd as well , update the source with imported xsdfrom xsd folder and then delete thecreated one.3. Create a Buss Service based on Item WSDL (get url from EM), this will be invoked as part of split joinhttp://localhost:8001/soa-infra/services/default/SplitJoinRrcs/getitemstatusbpel_client_ep?WSDL 4. Create split join based on getOrderStatus Service , select operation.- It will create Receive and Reply activity and request and response variables as well- initialize the response variable by adding an assign action , Put this Assign action rightafter Receive<ord:Order xmlns:ord="http://pchanel/Orders"></ord:Order>- add a ForEach Flow Control to iterate each item in Order parallel = yes
counter var = loopstart counter = 1final counter = count($request.payload/Items) - Add invoke service for the check Item status for each Item inside for eachBefore invoke and inside scope---------------------------------------------- create input/output scope variable for the service invoke- Add another var "Param" to pass the value to the Service- Add assign action inside the for each , initialize input variable for service<ord:Item xmlns:ord="http://pchanel/Orders"></ord:Item> - Add copy operation to copy items to Paramfrom exp : $request.payload/Items[$loop]to exp : $Param.payload- Add replace to replace the service input with ParamReplace "." in input.payload with Exp : $Param.payloadReplace entire node---------------------------------------------- After the service invoke add InsertExp : $output.payloadLOcation : as first chil of Xpath : .Variable : response.payload5. Right click split join.flow -> OSB -> Generate BSThats it split join is done !!This is how it will look like in eclipse:

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->