0% found this document useful (0 votes)
47 views42 pages

BPEL Tutorial For Beginners With Helloworld Example

The document discusses BPEL (Business Process Execution Language), which is a technology used to build programs in SOA (Service Oriented Architecture). It provides an overview of SOA and BPEL, the differences between them, advantages, and includes a tutorial example of creating a simple 'Hello World' BPEL process.

Uploaded by

Vijay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views42 pages

BPEL Tutorial For Beginners With Helloworld Example

The document discusses BPEL (Business Process Execution Language), which is a technology used to build programs in SOA (Service Oriented Architecture). It provides an overview of SOA and BPEL, the differences between them, advantages, and includes a tutorial example of creating a simple 'Hello World' BPEL process.

Uploaded by

Vijay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 42

BPEL Tutorial for beginners with helloworld example

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
 “Hello World/ErpSchools” Tutorial in BPEL
 Compile and deploy BPEL Suitcase using bplec.bat
 Monitor the activities/instances/statuses in Dashboard

What is SOA?
SOA stands for “Service Oriented Architecture”. 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.
What is BPEL?
BPEL stands for “Business Process Engineering Language”. BPEL is a
technology used to build programs in SOA architecture.
Difference between SOA and BPEL
SOA is an architecture and not a technology. BPEL is a technology to build
SOA architectural programs.
Advantages of SOA architecture and BPEL technology

 Being SOA an architectural concept rather than a technology it is


concentrated on business rather than development or coding.
 Using SOA architecture and BPEL technology you can integrate
multiple legacy systems through reusable services/objects.
 BPEL provides handshaking which means you can track what is
happening to your input. If it is successfully processed or not.
 You Can create alerts to notify about errors in processing or critical
conditions.

Download SOA Suite


Click here to download the BPEL Suite
“Hello World/ErpSchools” Tutorial in BPEL

Click “close” to close the tip


Right click on the Application and select “New Application”
Select “Integration Tier” and then “BPEL” in the categories and then in
Items select “BPEL Process Project”

Click OK. Now “BPEL Project Creation Wizard” will open as shown below
Enter the name: erpschools_process
Name Space: Leave it as default
Template: Synchronous BPEL Process

Click Next
Leave the default values and click Finish
Now you will see a screen like this

Now on the right side tab you can see the “Assign” icon in the component
pallet

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 “Receive Input” and “Reply output” as shown below

Double click on the “Assign_1″ icon in the diagram


You will see the below screen

In “General” tab you can change the Name or you can leave the default
Next Click on “Copy Operation”
And select “Create” drop down as show below

Now you will see “Create Copy Operation” box with From and To tabs

By default both from and to types are defaulted to “Variable”


Now in the From “Type” box select the “Expression”

Now click on the “XPath Expression Builder” icon


Expression Builder screen will pop up as shown
Now in the right side tab in “Advanced Functions” select “String
Functions” as shown below
Now double click on “Concat” and it should copy the concat function to
expression tab on the top as shown

Now manually enter the parameters for that concat() function as shown
Enter the welcome message as shown and place the cursor immediately
after the comma
In the BPEL Variables select the Clinet:Input variable and double click it.
It will automatically insert the path on the top
Click OK.

We are done with from expression now


In the right side tab select the output variable as show below
To see the detailed information for that input variable select “Show
Detailed Node Information” check box in the bottom

Now click OK

Click Apply and then OK


Now coding part is done. We have to deploy this process.
Prepare to deploy the process.
Start the SOA Suite
Programs >> BPEL >> Start SOA Suite

Once it is started you will see a screen like this

Now go back to JDeveloper


In the left panel you can see the “Connections Navigator” click on that

Now select “Application Server” and right click to select “New Application
Server Connection”
You get to see the below screen

Leave the Connection Name as it is and click “Authentication” tab and


Enter the username/password
By default it is oc4jadmin/welcome1
Go to next tab “Connection” and enter as follows.

Now go to Test tab and click “Test Connection”. If you get “Success”
message you are good to move forward if not go back and check the
ports and hostname e.t.c

Click OK
If you expand the “application Server” in the left panel you will see the
directory structure as follows

Integration Server Connection


Now right click on “Integration Server” folder as shown and select “New
Integration Server Connection”
You can leave the Connection Name as it is and click on next tab

“Connection”
Now select the Application Server that we created in the previous step.
Click on “Test Connection” tab
Click “Test Connection” button

Now you should see the below text


Application Server: OK
BPEL Process Manager Server: OK
ESB Server: OK
If all the three servers are OK you are good to deploy the process.
If you expand the Integration Server folder you will see the directory
structure as show below

Now preparation to deploy the process is done.


Go back to Applications Navigator in the Left Panel
Select the process , right click , select deploy , Server Connections >>
Connection that you created previously

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.
It can fail for many reasons it depends on your browser settings, windows
settings, ports, permissions e.t.c
Deploy and create BPEL Suitcase
Go to Developer Prompt
Click Programs >> BPEL >> Oracle BPEL Process Manager >> Developer
Prompt

It will open a command prompt and will take you to “samples” directory
Cd ..
Cd bin
Now type
Bpelc.bat “path of your bpel.xml file in your application folder”
In the first step while creating the new application we have the path
“C:\product\10.1.3.1\OracleAS_2\bpel\samples\Prudhvi\Application1″
So navigate to that folder and then click the process folder here it will be
erpschools_process and then to bpel directory
Final path will be
“C:\product\10.1.3.1\OracleAS_2\bpel\samples\Prudhvi\Application1\erps
chools_process\bpel\bpel.xml”
Execute the below command in the developer prompt(in cmd prompt)
Bpel.bat
C:\product\10.1.3.1\OracleAS_2\bpel\samples\Prudhvi\Application1\erpsc
hools_process\bpel\bpel.xml

You should see the successful message as shown above.


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
After you create the BPEL Suitcase you have to manually deploy it.
In the browser type the below url
http://localhost:8888/BPELAdmin
Default username and password will be
username: oc4jadmin
password: welcome1

Once you login you will see the below screen


Click on “BPEL Domains” tab on the top

Now click on “default” BPEL Domain


It will open a new window as shown below

In the Left panel you can see all the BPEL processes you have deployed
till now.
To deploy our new process click on “BPEL Processes” tab on the top

Click on “Deploy New Process” in Related Tasks

Click Browse and select the BPEL Suitcase that we created using bplec.bat
previously
Now click “Deploy” button.
If you get a successful message as shown below your BPEL process is
deployed successfully.

Click Done.
Monitor BPEL Process
Now I can see my BPEL process which is erpschools_process in the BPEL
Processes list

Now test your process.


Go back to “Dashboard” tab on the top
The last process “erpschools_process” is the process that we deployed
just now. Click on it

In the payload >> input


Enter some message and click “Post XML Message”

That is the xml message you expect to come.


Click visual flow button to see the how diagram how the data is flowing

This is exactly what you see in JDeveloper when you built it.
Click Audit tab

Here you can see what are all the activities that you are performing in
your process.
In this process we are receiving the input and copying input to output
variable and then replying the output.
If you click the “View Raw XML”

You can see the XML code in new window

Here you can see the xml code for both input variable and also output
variable
Now click on “Instances” tab on the top

It will show all the instances that the process has gone through.
Let me explain this using an example. Suppose you have a BPEL process
names “Load Sales Orders BPEL Process” to load “Sales orders” 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.
Finally click on the tab “Activities” on the top
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 “item
key” in workflow.

You might also like