{"id":90,"date":"2011-03-23T13:56:22","date_gmt":"2011-03-23T13:56:22","guid":{"rendered":"http:\/\/sendyoursmiles.com\/articles\/bpel-tutorial-for-beginners-with-helloworld-example"},"modified":"2014-12-09T06:27:00","modified_gmt":"2014-12-09T06:27:00","slug":"bpel-tutorial-for-beginners-with-helloworld-example","status":"publish","type":"post","link":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example","title":{"rendered":"BPEL Tutorial for beginners with helloworld example"},"content":{"rendered":"<p>After reading this article you will be able to understand the following things:<\/p>\n<ul>\n<li>What is SOA?<\/li>\n<li>What is BPEL?<\/li>\n<li>Difference between SOA and BPEL<\/li>\n<li>Advantages of SOA\/BPEL<\/li>\n<li>Download SOA Suite<\/li>\n<li>&#8220;Hello World\/ErpSchools&#8221; Tutorial in BPEL<\/li>\n<li>Compile and deploy BPEL Suitcase using bplec.bat<\/li>\n<li>\n<div>Monitor the activities\/instances\/statuses in Dashboard<\/div>\n<p>&nbsp;<\/li>\n<\/ul>\n<p><span style=\"text-decoration: underline;\">What is SOA?<\/span><\/p>\n<p>SOA stands for &#8220;Service Oriented Architecture&#8221;. SOA is an architectural approach using technology to present business processes as reusable services. SOA is focused on the business and enables process transformation to new levels of integration, visualization, monitoring, and optimization.SOA is not a technology, it is a concept and a strategy for using technologies to build business automation solutions. SOA can be achieved through web services like BPEL.<\/p>\n<p><span style=\"text-decoration: underline;\">What is BPEL?<\/span><\/p>\n<p>BPEL stands for &#8220;Business Process Engineering Language&#8221;. BPEL is a technology used to build programs in SOA architecture.<\/p>\n<p><span style=\"text-decoration: underline;\">Difference between SOA and BPEL<\/span><\/p>\n<p>SOA is an architecture and not a technology. BPEL is a technology to build SOA architectural programs.<\/p>\n<p>Advantages of SOA architecture and BPEL technology<\/p>\n<ul>\n<li>Being SOA an architectural concept rather than a technology it is concentrated on business rather than development or coding.<\/li>\n<li>Using SOA architecture and BPEL technology you can integrate multiple legacy systems through reusable services\/objects.<\/li>\n<li>BPEL provides handshaking which means you can track what is happening to your input. If it is successfully processed or not.<\/li>\n<li>You Can create alerts to notify about errors in processing or critical conditions.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\">Download SOA Suite<\/span><\/p>\n<p>Click here to download the BPEL Suite<\/p>\n<p>&#8220;Hello World\/ErpSchools&#8221; Tutorial in BPEL<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png\" \/><\/p>\n<p>Click &#8220;close&#8221; to close the tip<\/p>\n<p>Right click on the Application and select &#8220;New Application&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria2.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria3.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria4.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria5.png\" \/><\/p>\n<p>Select &#8220;Integration Tier&#8221; and then &#8220;BPEL&#8221; in the categories and then in Items select &#8220;BPEL Process Project&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria6.png\" \/><\/p>\n<p>Click OK. Now &#8220;BPEL Project Creation Wizard&#8221; will open as shown below<\/p>\n<p>Enter the name: erpschools_process<\/p>\n<p>Name Space: Leave it as default<\/p>\n<p>Template: Synchronous BPEL Process<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria7.png\" \/><\/p>\n<p>Click Next<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria8.png\" \/><\/p>\n<p>Leave the default values and click Finish<\/p>\n<p>Now you will see a screen like this<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria9.png\" \/><\/p>\n<p>Now on the right side tab you can see the &#8220;Assign&#8221; icon in the component pallet<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria10.png\" \/><\/p>\n<p>Select it and drag into the diagram. When you drag you will see green circles representing where you can drop the Assign component. I will drop between &#8220;Receive Input&#8221; and &#8220;Reply output&#8221; as shown below<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria11.png\" \/><\/p>\n<p>Double click on the &#8220;Assign_1&#8221; icon in the diagram<\/p>\n<p>You will see the below screen<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria12.png\" \/><\/p>\n<p>In &#8220;General&#8221; tab you can change the Name or you can leave the default<\/p>\n<p>Next Click on &#8220;Copy Operation&#8221;<\/p>\n<p>And select &#8220;Create&#8221; drop down as show below<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria13.png\" \/><\/p>\n<p>Now you will see &#8220;Create Copy Operation&#8221; box with From and To tabs<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria14.png\" \/><\/p>\n<p>By default both from and to types are defaulted to &#8220;Variable&#8221;<\/p>\n<p>Now in the From &#8220;Type&#8221; box select the &#8220;Expression&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria15.png\" \/><\/p>\n<p>Now click on the &#8220;XPath Expression Builder&#8221; icon<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria16.png\" \/><\/p>\n<p>Expression Builder screen will pop up as shown<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria17.png\" \/><\/p>\n<p>Now in the right side tab in &#8220;Advanced Functions&#8221; select &#8220;String Functions&#8221; as shown below<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria18.png\" \/><\/p>\n<p>Now double click on &#8220;Concat&#8221; and it should copy the concat function to expression tab on the top as shown<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria19.png\" \/><\/p>\n<p>Now manually enter the parameters for that concat() function as shown<\/p>\n<p>Enter the welcome message as shown and place the cursor immediately after the comma<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria20.png\" \/><\/p>\n<p>In the BPEL Variables select the Clinet:Input variable and double click it. It will automatically insert the path on the top<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria21.png\" \/><\/p>\n<p>Click OK.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria22.png\" \/><\/p>\n<p>We are done with from expression now<\/p>\n<p>In the right side tab select the output variable as show below<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria23.png\" \/><\/p>\n<p>To see the detailed information for that input variable select &#8220;Show Detailed Node Information&#8221; check box in the bottom<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria24.png\" \/><\/p>\n<p>Now click OK<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria25.png\" \/><\/p>\n<p>Click Apply and then OK<\/p>\n<p>Now coding part is done. We have to deploy this process.<\/p>\n<p>Prepare to deploy the process.<\/p>\n<p>Start the SOA Suite<\/p>\n<p>Programs &gt;&gt; BPEL &gt;&gt; Start SOA Suite<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria26.png\" \/><\/p>\n<p>Once it is started you will see a screen like this<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria27.png\" \/><\/p>\n<p>Now go back to JDeveloper<\/p>\n<p>In the left panel you can see the &#8220;Connections Navigator&#8221; click on that<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria28.png\" \/><\/p>\n<p>Now select &#8220;Application Server&#8221; and right click to select &#8220;New Application Server Connection&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria29.png\" \/><\/p>\n<p>You get to see the below screen<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria30.png\" \/><\/p>\n<p>Leave the Connection Name as it is and click &#8220;Authentication&#8221; tab and<\/p>\n<p>Enter the username\/password<\/p>\n<p>By default it is oc4jadmin\/welcome1<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria31.png\" \/><\/p>\n<p>Go to next tab &#8220;Connection&#8221; and enter as follows.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria32.png\" \/><\/p>\n<p>Now go to Test tab and click &#8220;Test Connection&#8221;. If you get &#8220;Success&#8221; message you are good to move forward if not go back and check the ports and hostname e.t.c<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria33.png\" \/><\/p>\n<p>Click OK<\/p>\n<p>If you expand the &#8220;application Server&#8221; in the left panel you will see the directory structure as follows<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria34.png\" \/><\/p>\n<p>Integration Server Connection<\/p>\n<p>Now right click on &#8220;Integration Server&#8221; folder as shown and select &#8220;New Integration Server Connection&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria35.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria36.png\" \/><\/p>\n<p>You can leave the Connection Name as it is and click on next tab &#8220;Connection&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria37.png\" \/><\/p>\n<p>Now select the Application Server that we created in the previous step.<\/p>\n<p>Click on &#8220;Test Connection&#8221; tab<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria38.png\" \/><\/p>\n<p>Click &#8220;Test Connection&#8221; button<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria39.png\" \/><\/p>\n<p>Now you should see the below text<\/p>\n<p>Application Server: OK<\/p>\n<p>BPEL Process Manager Server: OK<\/p>\n<p>ESB Server: OK<\/p>\n<p>If all the three servers are OK you are good to deploy the process.<\/p>\n<p>If you expand the Integration Server folder you will see the directory structure as show below<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria40.png\" \/><\/p>\n<p>Now preparation to deploy the process is done.<\/p>\n<p>Go back to Applications Navigator in the Left Panel<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria41.png\" \/><\/p>\n<p>Select the process , right click , select deploy , Server Connections &gt;&gt; Connection that you created previously<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria42.png\" \/><\/p>\n<p>You get a message in the bottom of the screen saying success or fail. If success everything is good if not you can deploy through another method.<\/p>\n<p>It can fail for many reasons it depends on your browser settings, windows settings, ports, permissions e.t.c<\/p>\n<p>Deploy and create BPEL Suitcase<\/p>\n<p>Go to Developer Prompt<\/p>\n<p>Click Programs &gt;&gt; BPEL &gt;&gt; Oracle BPEL Process Manager &gt;&gt; Developer Prompt<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria43.png\" \/><\/p>\n<p>It will open a command prompt and will take you to &#8220;samples&#8221; directory<\/p>\n<p>Cd ..<\/p>\n<p>Cd bin<\/p>\n<p>Now type<\/p>\n<p>Bpelc.bat &#8220;path of your bpel.xml file in your application folder&#8221;<\/p>\n<p>In the first step while creating the new application we have the path &#8220;C:product10.1.3.1OracleAS_2bpelsamplesPrudhviApplication1&#8221;<\/p>\n<p>So navigate to that folder and then click the process folder here it will be erpschools_process and then to bpel directory<\/p>\n<p>Final path will be<\/p>\n<p>&#8220;C:product10.1.3.1OracleAS_2bpelsamplesPrudhviApplication1erpschools_processbpelbpel.xml&#8221;<\/p>\n<p>Execute the below command in the developer prompt(in cmd prompt)<\/p>\n<p>Bpel.bat C:product10.1.3.1OracleAS_2bpelsamplesPrudhviApplication1erpschools_processbpelbpel.xml<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria44.png\" \/><\/p>\n<p>You should see the successful message as shown above.<\/p>\n<p>It will also tell you where the BPEL Suitcase is created and the name of the suitcase file. Usually the name suitcase will be appended with date and its extension is .jar<\/p>\n<p>After you create the BPEL Suitcase you have to manually deploy it.<\/p>\n<p>In the browser type the below url<\/p>\n<p><a href=\"http:\/\/localhost:8888\/BPELAdmin\">http:\/\/localhost:8888\/BPELAdmin<\/a><\/p>\n<p>Default username and password will be<\/p>\n<p>username: oc4jadmin<\/p>\n<p>password: welcome1<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria45.png\" \/><\/p>\n<p>Once you login you will see the below screen<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria46.png\" \/><\/p>\n<p>Click on &#8220;BPEL Domains&#8221; tab on the top<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria47.png\" \/><\/p>\n<p>Now click on &#8220;default&#8221; BPEL Domain<\/p>\n<p>It will open a new window as shown below<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria48.png\" \/><\/p>\n<p>In the Left panel you can see all the BPEL processes you have deployed till now.<\/p>\n<p>To deploy our new process click on &#8220;BPEL Processes&#8221; tab on the top<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria49.png\" \/><\/p>\n<p>Click on &#8220;Deploy New Process&#8221; in Related Tasks<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria50.png\" \/><\/p>\n<p>Click Browse and select the BPEL Suitcase that we created using bplec.bat previously<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria51.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria52.png\" \/><\/p>\n<p>Now click &#8220;Deploy&#8221; button.<\/p>\n<p>If you get a successful message as shown below your BPEL process is deployed successfully.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria53.png\" \/><\/p>\n<p>Click Done.<\/p>\n<p>Monitor BPEL Process<\/p>\n<p>Now I can see my BPEL process which is erpschools_process in the BPEL Processes list<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria54.png\" \/><\/p>\n<p>Now test your process.<\/p>\n<p>Go back to &#8220;Dashboard&#8221; tab on the top<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria55.png\" \/><\/p>\n<p>The last process &#8220;erpschools_process&#8221; is the process that we deployed just now. Click on it<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria56.png\" \/><\/p>\n<p>In the payload &gt;&gt; input<\/p>\n<p>Enter some message and click &#8220;Post XML Message&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria57.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria58.png\" \/><\/p>\n<p>That is the xml message you expect to come.<\/p>\n<p>Click visual flow button to see the how diagram how the data is flowing<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria59.png\" \/><\/p>\n<p>This is exactly what you see in JDeveloper when you built it.<\/p>\n<p>Click Audit tab<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria60.png\" \/><\/p>\n<p>Here you can see what are all the activities that you are performing in your process.<\/p>\n<p>In this process we are receiving the input and copying input to output variable and then replying the output.<\/p>\n<p>If you click the &#8220;View Raw XML&#8221;<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria61.png\" \/><\/p>\n<p>You can see the XML code in new window<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria62.png\" \/><\/p>\n<p>Here you can see the xml code for both input variable and also output variable<\/p>\n<p>Now click on &#8220;Instances&#8221; tab on the top<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria63.png\" \/><\/p>\n<p>It will show all the instances that the process has gone through.<\/p>\n<p>Let me explain this using an example. Suppose you have a BPEL process names &#8220;Load Sales Orders BPEL Process&#8221; to load &#8220;Sales orders&#8221; in order management. If you are importing one by one sales order through this process then you will have one separate instance for every sales order. If you get error while importing sales order#3 that particular instance will show that error.<\/p>\n<p>Finally click on the tab &#8220;Activities&#8221; on the top<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria64.png\" \/><\/p>\n<p>Here you can see all the activities that are performed for all the processes. Instance id is unique for each process. It is similar to &#8220;item key&#8221; in workflow.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After reading this article you will be able to understand the following things: What is SOA? What is BPEL? Difference between SOA and BPEL Advantages of SOA\/BPEL Download SOA Suite &#8220;Hello World\/ErpSchools&#8221; Tutorial in BPEL Compile and deploy BPEL Suitcase using bplec.bat Monitor the activities\/instances\/statuses in Dashboard &nbsp; What is SOA? SOA stands for &#8220;Service [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-90","post","type-post","status-publish","format-standard","hentry","category-fusion-middleware"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>BPEL Tutorial for beginners with helloworld example<\/title>\n<meta name=\"description\" content=\"Difference between SOA and BPEL Advantages of SOA\/BPEL Compile and deploy BPEL Suitcase using bplec.bat\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prudhvi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#article\",\"isPartOf\":{\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example\"},\"author\":{\"name\":\"Prudhvi\",\"@id\":\"https:\/\/erpschools.com\/erps\/#\/schema\/person\/dbed9bb7fb66aa7a700fc565da024512\"},\"headline\":\"BPEL Tutorial for beginners with helloworld example\",\"datePublished\":\"2011-03-23T13:56:22+00:00\",\"dateModified\":\"2014-12-09T06:27:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example\"},\"wordCount\":1548,\"commentCount\":28,\"publisher\":{\"@id\":\"https:\/\/erpschools.com\/erps\/#organization\"},\"image\":{\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage\"},\"thumbnailUrl\":\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png\",\"articleSection\":[\"Fusion Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example\",\"url\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example\",\"name\":\"BPEL Tutorial for beginners with helloworld example\",\"isPartOf\":{\"@id\":\"https:\/\/erpschools.com\/erps\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage\"},\"image\":{\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage\"},\"thumbnailUrl\":\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png\",\"datePublished\":\"2011-03-23T13:56:22+00:00\",\"dateModified\":\"2014-12-09T06:27:00+00:00\",\"description\":\"Difference between SOA and BPEL Advantages of SOA\/BPEL Compile and deploy BPEL Suitcase using bplec.bat\",\"breadcrumb\":{\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage\",\"url\":\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png\",\"contentUrl\":\"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/erpschools.com\/erps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"BPEL Tutorial for beginners with helloworld example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/erpschools.com\/erps\/#website\",\"url\":\"https:\/\/erpschools.com\/erps\/\",\"name\":\"erpSchools\",\"description\":\"Oracle Apps\",\"publisher\":{\"@id\":\"https:\/\/erpschools.com\/erps\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/erpschools.com\/erps\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/erpschools.com\/erps\/#organization\",\"name\":\"erpSchools\",\"url\":\"https:\/\/erpschools.com\/erps\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/erpschools.com\/erps\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/erps_logo7.png\",\"contentUrl\":\"https:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/erps_logo7.png\",\"width\":250,\"height\":60,\"caption\":\"erpSchools\"},\"image\":{\"@id\":\"https:\/\/erpschools.com\/erps\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/facebook.com\/erpschools\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/erpschools.com\/erps\/#\/schema\/person\/dbed9bb7fb66aa7a700fc565da024512\",\"name\":\"Prudhvi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/erpschools.com\/erps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/488cec3605845b95cb20e60c67a8f5c7e74b65a305525c8006315d524f120db9?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/488cec3605845b95cb20e60c67a8f5c7e74b65a305525c8006315d524f120db9?s=96&d=blank&r=g\",\"caption\":\"Prudhvi\"},\"sameAs\":[\"http:\/\/www.erpschools.com\"],\"url\":\"https:\/\/erpschools.com\/erps\/author\/prudhvi\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"BPEL Tutorial for beginners with helloworld example","description":"Difference between SOA and BPEL Advantages of SOA\/BPEL Compile and deploy BPEL Suitcase using bplec.bat","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example","twitter_misc":{"Written by":"Prudhvi","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#article","isPartOf":{"@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example"},"author":{"name":"Prudhvi","@id":"https:\/\/erpschools.com\/erps\/#\/schema\/person\/dbed9bb7fb66aa7a700fc565da024512"},"headline":"BPEL Tutorial for beginners with helloworld example","datePublished":"2011-03-23T13:56:22+00:00","dateModified":"2014-12-09T06:27:00+00:00","mainEntityOfPage":{"@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example"},"wordCount":1548,"commentCount":28,"publisher":{"@id":"https:\/\/erpschools.com\/erps\/#organization"},"image":{"@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage"},"thumbnailUrl":"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png","articleSection":["Fusion Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#respond"]}]},{"@type":"WebPage","@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example","url":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example","name":"BPEL Tutorial for beginners with helloworld example","isPartOf":{"@id":"https:\/\/erpschools.com\/erps\/#website"},"primaryImageOfPage":{"@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage"},"image":{"@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage"},"thumbnailUrl":"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png","datePublished":"2011-03-23T13:56:22+00:00","dateModified":"2014-12-09T06:27:00+00:00","description":"Difference between SOA and BPEL Advantages of SOA\/BPEL Compile and deploy BPEL Suitcase using bplec.bat","breadcrumb":{"@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#primaryimage","url":"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png","contentUrl":"http:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/032311_1353_BPELTutoria1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/erpschools.com\/erps\/fusion-middleware\/bpel-tutorial-for-beginners-with-helloworld-example#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/erpschools.com\/erps"},{"@type":"ListItem","position":2,"name":"BPEL Tutorial for beginners with helloworld example"}]},{"@type":"WebSite","@id":"https:\/\/erpschools.com\/erps\/#website","url":"https:\/\/erpschools.com\/erps\/","name":"erpSchools","description":"Oracle Apps","publisher":{"@id":"https:\/\/erpschools.com\/erps\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/erpschools.com\/erps\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/erpschools.com\/erps\/#organization","name":"erpSchools","url":"https:\/\/erpschools.com\/erps\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/erpschools.com\/erps\/#\/schema\/logo\/image\/","url":"https:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/erps_logo7.png","contentUrl":"https:\/\/erpschools.com\/erps\/wp-content\/uploads\/img\/erps_logo7.png","width":250,"height":60,"caption":"erpSchools"},"image":{"@id":"https:\/\/erpschools.com\/erps\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/facebook.com\/erpschools"]},{"@type":"Person","@id":"https:\/\/erpschools.com\/erps\/#\/schema\/person\/dbed9bb7fb66aa7a700fc565da024512","name":"Prudhvi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/erpschools.com\/erps\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/488cec3605845b95cb20e60c67a8f5c7e74b65a305525c8006315d524f120db9?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/488cec3605845b95cb20e60c67a8f5c7e74b65a305525c8006315d524f120db9?s=96&d=blank&r=g","caption":"Prudhvi"},"sameAs":["http:\/\/www.erpschools.com"],"url":"https:\/\/erpschools.com\/erps\/author\/prudhvi"}]}},"_links":{"self":[{"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/posts\/90","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/comments?post=90"}],"version-history":[{"count":0,"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/posts\/90\/revisions"}],"wp:attachment":[{"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/media?parent=90"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/categories?post=90"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/erpschools.com\/erps\/wp-json\/wp\/v2\/tags?post=90"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}