JBoss.orgCommunity Documentation
Version: 3.2.0.Beta
Copyright © 2009, 2010 JBoss by Red Hat
JBoss BPEL project is a WS-BPEL 2.0 project that gives a way to create, edit, validate and deploy BPEL files to JBoss BPEL runtime. It is based on Eclipse BPEL project .
It improves the Eclipse BPEL project in the following way:
Implements close integration with JBoss BPEL runtime. Adds a new project type for the deployment to JBoss BPEL runtime.
Supports two ways of deployment: one way is to deploy a bpel project directly to JBoss BPEL runtime. The other way is to deploy bpel files in JBoss ESB project to JBoss BPEL runtime.
Improves the BPEL validator and increases Eclipse BPEL editor's quality.
WS-BPEL 2.0 stands for Web Service Business Process Execution Language. Like EAI, BPEL is an XML-based language, but BPEL is more specific and targeted. A programmer uses BPEL to join sometimes disparate functions into an integrated process, resulting in a seamless use of the Internet to conduct business transactions ranging from simple money exchanges to complex calculations and asset reallocation.
Let's start with looking through the table of the main features of JBoss BPEL editor project:
Table 1.1. Key Functionality for JBoss BPEL editor project
Feature | Benefit |
---|---|
WS-BPEL 2.0 support | JBoss BPEL project supports the newest WS-BPEL 2.0 specifications. |
Close integration with JBoss BPEL runtime | There are two ways to deploy BPEL files to JBoss BPEL runtime. The user can deploy a BPEL project as a whole and can deploy BPEL files in JBoss ESB project to JBoss BPEL runtime. |
BPEL file editor | The user can use the editor separately to edit a BPEL file. |
BPEL file validator | The validator can give the error messages about BPEL files to the user. |
At first, you need Eclipse 3.5. You can get it from Eclipse Web Site.
The JBoss BPEL editor is included into JBoss Tools. You have some methods to install JBoss Tools. See Installing JBoss Tools for more information.
If you want to install only the JBoss BPEL editor, you can install it from JBoss Tools page separately. Please, note, that only JBoss Tools 3.1 or higher version includes JBoss BPEL editor.
For installation and configuring BPEL engine into a JBossAS environment you will need the following:
JBossAS (version 5.1.0.GA or higher), available from http://www.jboss.org/jbossas.
RiftSaw (version 2.0 or higher), available from http://www.jboss.org/riftsaw.
Ant, available from here.
Unpack the JBossAS installation archive into the required location.
Unpack the RiftSaw distribution into the location alongside the JBossAS installation:
Edit the install/deployment.properties file to update the JBossAS location settings.
From the install folder, run: ant deploy -Ddatabase=hsql to deploy RiftSaw to JBossAS.
Then in the ${RiftSaw}/install folder run the command: ant deploy -Ddatabase=hsql -Dws.stack=native -Dws.version=3.2.2.GA It will help you to download the web service stack, and then upgrade it for JBoss AS.
In the chapter we describe the necessary steps to create a new BPEL project and edit the BPEL files. You can get the source of the example from riftsaw/samples/quickstart/hello_world. Here and further in the guide we will create a simple echo example, used to respond to a sent message with a modified version of the request message being returned in a response. First of all, you should create a BPEL project.
Create the project by selecting New > Project... > BPEL 2.0 > BPEL Project from the menu bar. Then click the Next button.
On this page of the New BPEL Project Wizard enter a project name in the Project Name field,e.g enter HelloWorld.
Click the Finish button. So you have created the BPEL project named HelloWorld. Its structure is like this:
Now you should create a BPEL process. You can create it by selecting New > Others... > BPEL 2.0 > New BPEL Process File.
Click the Next button. Enter the following information:
Table 3.1. Fields and values
Field | Value |
---|---|
BPEL Process Name | enter a process name. For example, HelloWorld. |
Namespace | enter or select a namespace for the BPEL process. |
Template | Select the necessary template for the BPEL process. When you select the template, you will see the information about the template below on the page.In our case you should select Synchronous BPEL Process. |
Click the Next button. On the second page make sure that the folder HelloWorld/bpelContent is selected. Click Finish.
All of your files that are used in your BPEL project must be under the bpelContent folder. Only in this case these files can be deployed to JBoss server.
Up to now, you have got a simple BPEL process as on the screen below.
The next step, you can do is to edit the BPEL process file and then deploy it to JBoss server.
If the Properties view and Palette view are not opened, you can open the views by right-clicking the BPEL editor and selecting Show in Properties, Show Palette in Palette view. Then you should have the view like this:
In the Palette view, you can drag a BPEL element to the BPEL editor and drop it in the place you want.
In the Properties view, you can get the information about every element of the BPEL process. In the BPEL editor select any element you want,and then the element's properties will be shown in the Properties view.The table below describes the tabs of the Properties view:
Table 3.2. Tabs of the Property view
Tab | Description |
---|---|
Description | Shows the descriptive information about the element,e.g. Name of the element. |
Details | Shows the detailed and important information about the element. It is the most important section of an element. Most of the properties of an element are set in this section. |
Join Behavior | Shows the Join Failure property of the element. |
Documentation | Shows the documentation sub-element of an element. |
Other | Every BPEL element has its own sections: Correlation section, Message Exchange section, and so on. We will introduce them while using them. |
In order to see how a simple BPEL process works in action, you should do some steps as below:
Modify two variables of the process:
Add an Assign element between the receiveInput element and replyOutput element.
Click the Assign element in the BPEL editor in order to get the properties information of it in the Properties view.
Set its name in the Description tab as assignHelloMesg.
In the Details section of Properties view, you should click the New button to add a copy sub-element to the element. Assign "Variable to Variable"(input:string to output). At this time, an "initializer" popup dialog appears. Click on the Yes button in the dialog.
Then you should click New once more and select Expression to Variable
(assign concat($input,' World'))
to result:string.
Open the file "HelloWorldArtifacts.wsdl" in the "HelloWorld" project by double-clicking the file. Right-click the WSDL editor and select Add Service. A new service should appear in the editor. Name it HelloWorldProcessService. It has the Port named NewPort. Select it, right-click on it and rename it to HelloWorldProcessPort in the Properties view.
Right-click somewhere in the whitespace of the WSDL editor and select Add Binding. A new Binding component will appear in the editor. Name it HelloWorldSOAPBinding. Select it, in the General tab of the Properties view and select HelloWorld as a port type in the PortType. Then click on the Generate Binding Content... button to open the Binding Wizard. In the wizard, select SOAP as the Protocol. Finally, click the Finish button to close the wizard.
Click the HelloWorldProcessPort property in the General section of the Properties view, select HelloWorldSOAPBinding in the Binding combobox. In the Address field input http://localhost:8080/bpel/processes/HelloWorld?wsdl.
You should also change some service part configurations. To do this,click part element in the WSDL editor, then put the following data in the Properties view.
Now you have finished creating a simple BPEL process.As a next step, you can deploy the BPEL project to JBoss BPEL Runtime.
If you want to deploy a BPEL project to JBoss BPEL Runtime, you should create a bpel-deploy.xml file. JBoss tools can help you to create it:
Create the bpel-deploy.xml by selecting New > Other... > BPEL 2.0 > Apache ODE Deployment Descriptor. Click the Next button.
On the next wizard page you should enter the following information:
BPEL Project: Click the Browse... button to select the BPEL project in your workspace which you want to deploy to the runtime. Please note, that you should select the bpelContent folder in your new BPEL project as a value of BPEL Project field because the bpel-deploy.xml should be created in this place.
File name: The default value is bpel-deploy.xml. Please, don't change it.
Click on Finish button to close the wizard and a new bpel-deploy.xml file will be created.
Double-click the bpel-deploy.xml file to open it in ODE Descriptor Deployment Editor. In the Inbound Interfaces section, click the Associated Port column and select HelloWorldProcessPort in the dropdown box.The Related Service and Binding Used columns should be automatically filled in. Save the bpel-deploy.xml.
Suppose you have installed the JBoss BPEL Runtime-RiftSaw as it was described before, now you can create a server for JBoss BPEL runtime.
Open the Servers view by selecting Windows > Show View > Other... > Server > Servers.
Right-click the Servers view and select New > Server to open the New Server Wizard:
Select JBoss AS 5.1 as a server type.
Please note, that only JBoss As 5.1 or higher version supports BPEL.
Click the Next button. On the next page, you should input your JBoss As location. Then click the Next button and you will get the page like this:
Select HelloWorld, then click the Add button to add the project to the server. Then click on the Finish button.
Start the server by right-clicking on the server and selecting the Start item.
If some aspects of server creation is not clear, please, read JBoss Server Manager Reference Guide for more details.
You can enter the link http://localhost:8080/bpel/processes.html to the browser to get the deployed processes.
If there's anything we didn't cover or you can't figure out, please feel free to visit our JBoss Tools Users Forum to ask questions. There we are also waiting for your suggestions and comments.
This chapter includes detailed reference information about all BPEL tools wizards and editors.
This wizard helps to create new BPEL project.It is available with clicking File->New->Other->BPEL project in the menu bar.
It consists of only one page:
Using this wizard user can create ODE deployment descriptor (deploy.xml) and place it in the temporary directory.It is available with clicking File->New->Other->Apache ODE Deployment Descriptor Wizard in the menu bar.
On the page you can adjust the name of the deployment descriptor and the directory where it will be created.Note,that you should use /PROJECT_NAME/bpelContent directory as an output one.
Using New BPEL Process file Wizard user can create BPEL process file and WSDL file if it is necessary. The wizard includes several pages:
The first page has the following options to set:
Table 4.1. New BPEL Process file Wizard. First Page Options.
Option | Description | Default |
---|---|---|
Name | Enter the process name. | no default value |
Namespace | Enter the namespace url here | no default value |
Template | Select one of the provided templates:
| Asynchronous BPEL Process |
Abstract Process | Specifies the created process as an abstract one -partially specified processes that are not intended to be executed. | unchecked |
On the second page the user should select the BPEL project and folder where the process file will be created:
Process files that are used in the BPEL project must be under the bpelContent folder. Only in this case these files can be deployed to JBoss server.
Business Process Editor is intended to facilitate the process of changing and adding new logic to BPEL process file.You can open .bpel in this editor by right click the file in the project explorer and selecting Open With...->Business Process Editor
The editor consists of two tabs:Design tab and Source tab.
Design tab is the main part of Business Process Editor.It consists of 3 parts:
Visual Pane:
The Visual Pane graphically displays the order in which the activities are executed.
Palette:
The Palette represents different elements of the BPEL activities organized into functional categories. Using it the user can easily add new elements to the sequence activity. To do this,he should just click the required element and then drug and drop it to the place on the Visual Pane where it should be added.
Behavior Components View:
Execution behavior components are grouped into the Behavior Components View. The view is also fully syncronized with Properties view where you can customize all the properties of the component.
To add an element to some component group click plus() icon,
for its deleting you should click the element and
use its Delete option in the popup menu.
Source tab can be used for editing BPEL process file directly. The validation of file structure is also available.
If the user wants to disable/unable validation he can do it by following Window->Preferences->Validation.
To deploy your process in Ode you need to create a simple deployment descriptor with basic information and ODE Deployment Descriptor Editor facilitates the process of descriptor configuration. You can see how the descriptor file,opened in the editor looks like on the picture below:
The table below describes the configuration options of the ODE Deployment Descriptor Editor:
Table 4.2. ODE Deployment Descriptor Editor.Options.
Section | Options | Description |
---|---|---|
General | This process is | Select one of the provided options:
|
Run this process in memory | for performance purposes, you can define the process as being executed only in-memory. | |
Inbound Interfaces(Services) | Associated Port | Click Associated Port and the dropdown list with all available port names will appear. Select the one you need ,other fields will be filled automatically. This action configure the services provided by the process and bind each service to an endpoint |
Outbound Interfaces(Invokes) | Associated Port | Click Associated Port and the dropdown list with all available port names will appear. Select the one you need, other fields will be filled automatically. This action configure the services invoked by the process |
Process-level Monitoring Events |
| Using ODE's deployment descriptor, it's also possible to make events generation to filtrate which ones get created. All option just duplicates the default behaviour, when nothing is specified in the deployment. |
Scope-level Monitoring Events | Scope | This section makes it possible to define filtering for each scope of your process. |
In conclusion, with this document you know all the capabilities of BPEL Tools and could easily start with them. The chapters above walked you through the steps on how to create and configure BPEL process and deployment descriptor files. If you have questions or suggestions concerned both the documentation and tools behavior, you are welcome to JBoss Tools Users forum. Please, use Jira to report bugs and requests on documentation.
All JBoss Developer Studio/JBoss Tools release documentation you can find at http://docs.jboss.org/tools in the corresponding release directory.
The latest documentation builds are available at http://download.jboss.org/jbosstools/nightly-docs.