Creating a Simple BPEL Process : HelloWorld BPEL

Business Process Execution Language(BPEL) is an execution language for defining business processes. In short, it is the language for orchestrating multiple WebServices based on the business logic.
This post is about creating your first BPEL process using Oracle SOA Suite 11g
This is a simple BPEL process that gives back fullName as response, inputs being firstName & lastName
Defining your first BPEL Process
Create a new Project, name it HelloWorldBPELPrj and select Empty Composite in the next screen’
 
Define a Schema as follows

 

In the composite file, drag and drop BPEL Processcomponent from the Component Palette into the Components swimlane of the composite.xml
This will open up a wizard where you need to give the following details
Name : HelloWorldBPEL
Template : Syncrhonous BPEL Process
Select Input and Outputfrom the schema just created
Select the checkbox “Expose as a SOAP WebService” so that it creates a WebService with the same message types in the External References section of the composite.xml, though which external clients talk to this BPEL process

 

This will create the following in the composite.xml

 

Now that you’ve created the skeleton, lets implement the BPEL process.
Either open the .bpel file from the Navigator or double click the BPEL process icon in the coposite.xml – this will take you to the BPEL Component Editor where you’ll implement the business logic in the BPEL process
When you look at the empty BPEL process, you’ll find an incoming line from the external WS to Receive Activity, and an outgoing line from Reply Activity to the same external WS. These lines represent the flow of message to and from the WS to the BPEL Process
Note : Every operation in a BPEL process is called an Activity
Click on the “X” symbol in the boundary enclosing both the activities. The boundary is called a Scope in BPEL, which is similar to Scope in any programming language
This will open up variables section, where you’ll see 2 variables (inputVariable and outputVariable). The inputVariable contains the the value coming into the BPEL process from the external WS.
In this example, inputVariable contains just a simple string, name
We need to concatenate this with ‘Hello ‘ and assign it to the output variable. This can be done using Assign activity
Drag and drop Assign activity in between the two activities, name it AssignOutput

 

Here, we need to concatenate both the elements from the input and assign it to the output. For this, click on the Expression icon at the top right as shown

Use the concat() function from the String functions and append Helloto the name from the inputVariable, as shown

 

This will create a function icon in the middle of the Assing editor, where you need to drag this to assign it to the returnMsg of the outputVariable and click OK

With this, the outputVariable is stuffed which is sent back to the calling WS(indicated the outgoing line)
Thats it, you are done with your first BPEL process
Deploy the project as per this linkand test it in Enterprise Manager
Hope this tutorial gave you a basic understanding on working with a BPEL process.
Thanks for going through my post, feel free to provide a feedback!
This entry was posted in basic BPEL Process, BPEL, BPEL tutorial, Business Process Execution Language, Hello World BPEL, HelloWorld BPEL, Introduction to BPEL, Oracle SOA Suite 11g. Bookmark the permalink.

2 Responses to Creating a Simple BPEL Process : HelloWorld BPEL

  1. Anonymous says:

    Superb Article on BPEL. Keep going…

  2. Anonymous says:

    Good introduction!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s