WSO2 Business Process commponent adds the capability to execute business processes written using WS-BPEL standard in WSO2 SOA platform. It also provides a complete web based graphical console to deploy, manage and view processes and process instances. WSO2 Business Process component is powered by Apache ODE(Orchestration Director Engine).
WS-BPEL defines a language for the specification of Executable and Abstract business processes. By doing so, it extends the Web Services interaction model and enables it to support business transactions. WS-BPEL defines an interoperable integration model that should facilitate the expansion of automated process integration in both the intra-corporate and the business-to-business spaces. Processes in WS-BPEL export and import functionality by using Web Service interfaces exclusively.
BPEL package is a ZIP archived directory with all the relevant deployment artifacts. Minimal BPEL package contains the deployment descriptor, one or more process definitions(.bpel or .cbp), WSDL and XSDs(excluding the ones compiled into .cbp). The deployment descriptor is a file named deploy.xml. To deploy, just copy the BPEL package containing your artifacts to the %CARBON_HOME%/repository/bpel directory. If you are using a URL repository copy the package to 'bpel' direcotry in that repository.
Folder structure of BPEL Package:
BPEL.zip
BPEL
myprocess.bpel
myprocess.cbp
myprocess.wsdl
deploy.xml
myschema.xsd
Deploying BPEL package through the management console
Click Deployed Packages under Business Processes in the navigation menu. The Deployed Packages page will appear.
This list contains all the BPEL packages deployed in the system and will display business processes in those packages.By clicking Undeploy link, users can undeploy the packages available in the system.
If user tries to undeploy a package which contains business processes with running process instances, management console will warn the user that thare are running process instances. If user really wants, he can undeploy BPEL packages with running process instances.
In the management console, under Business Processes click Processes. The Processes page will appear.
Process list will display IDs of the deployed processes with their version, status and deployed date. With this list you can retire and activate processes. You can view detailed description about the process, when you click the process id link.
'Filter Process List' link can be used to expand the process list filter. You can use process list filter to narrow down the list of processes using criteria like process name, namespace or deployed date. You can order the process list by using properties like name, namespace or version.
Sample Order by filter:
Active processes can be invoked by partners and as a result, new process instances will be created. When a process is retired all the running instances of that particular process will behave normally. But no new instances will be created from retired processes.
In the management console, click Processes under Business processes. Then click on any of the process ID links. It will display a detailed description about the process including version, status, deployed date, container package of that process, total instance, instance summary and syntax highlighted process definition.
Using the link display in front of the status of the process users can activate or retire that process.
When you click Instances under Business Processes, Instances page will appear. TThis page will display paginated list of currently available process instances in the system.
The instance list will display ID of the instance with the process id of that instance, current status, date started, last active date and actions that can be performed on that instance. Users can click on the instance id link to go to the detailed view of that instance and use process id link to view the details of the process. Users can use Suspend/Resume, Terminate and Delete links to suspend/resume active instance, terminate active instance and to delete instance from the system. Complete and Terminated instances can only be deleted and can't perform any other actions on it.
User can use shortcuts available below the bread crumbs to filter the available instances according to their status. Advance Filter link will expand the filter from and users can use that to filter the instance list according to process name, process namespace, started date and etc.. If the user want to reset the filter and list all the available instances user can use either 'All' shorcut link or 'Reset Filter' link.
Advance Filter link will expand the filter form and user can use it to narrow down the instace list.
Using Advance Filtering
Advance Filtering can be used to narrow down the instance by process name, process namespace, status, started date, and last active date. And user can order the filtered instance list using Process ID, Name, Version, Started Date and Last Active Date.
Example:
Users can use 'Delete Instances' link to bring the delete instance dialog box and they can specify an instance filter to select the instances from the available instances and delete them.
Sample instance deletion filters:
When a user clicks on instance id link at the 'Instances Created' page, instance details page for the instance represented by that ID will appear.
Instance details page will display information like process id of that instance, status, last active date and event information, scope information, variable values and activity information of that instance.