FAQ
General BPS Questions
What is WSO2 BPS?
WSO2 Business Process Server (BPS) is an easy-to-use, open source product for business process management and it executes business processes written following WS-BPEL standard or BPMN 2.0 standard.
What is the Open Source license of WSO2 BPS?
It is released under Apache Software License Version 2.0.
How do I download WSO2 BPS and get started quickly?
WSO2 BPS is distributed completely free and the distribution packs can be downloaded from the WSO2 Oxygen Tank (http://wso2.org) or http://wso2.com under the "Products" menu. WSO2 BPS can be downloaded as a binary distribution or built from GIT source.
The BPSÂ Quick Start Guide has hands-on instructions to quickly setup BPS, model a BPEL process, deploy and test it.
Is their commercial support available for WSO2 BPS?
We are committed to ensuring that your enterprise middleware deployment is completely supported from evaluation to production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology. For details visit WSO2 Support.
Can I get involved with the BPS development activities?
Not only you are allowed, but also encouraged. You can start by subscribing to carbon-dev@wso2.org and architecture@wso2.org mailing lists. Feel free to provide ideas, feedback and help make our code better. You can also report bugs on https://wso2.org/jira/browse/BPS and submit patches. For more information on our mailing lists, refer to http://wso2.org/mail .
Core Carbon Questions
What are the technologies used underneath WSO2 BPS?
WSO2 BPS is built on top of WSO2 Carbon (http://wso2.com/products/carbon), an OSGi based components framework for SOA. It is powered by Apache ODE (http://ode.apache.org) as the underlying BPEL engine and Activiti (http://www.activiti.org/) as the BPMN engine. Java is the primary programming language used to develop WSO2 BPS.
What are the minimum requirements to run WSO2 BPS?
Refer to BPS system requirements.
How do I deploy a third-party library into the BPS?
Copy any third-party jars into $BPS_HOME/repository/components/lib directory and restart the server. WSO2 BPS converts those jars to OSGi bundles and place them in <BPS_HOME>/repository/components/dropins directory.
Can I extend the management console UI to add custom UIs?
Yes, you can extend the management console easily by writing a custom UI component and simply deploying the OSGi bundle.
Can I use an external user store to manage and authenticate WSO2 BPS users?
Yes, you can connect WSO2 BPS with any external user store implementation. The user store could be LDAP based, JDBC based or a custom developed user store. For details, refer to User Management.
I don't want some of the features that come with WSO2 BPS. Can I remove them?
Yes, BPS is lean and allows you to maintain just the right set of features required at the time. Simply login to the BPS management console and uninstall any unwanted features from the list of Installed Features.
Can I change the language of the management console?
Yes, WSO2 BPS comes with a UI framework which supports i18n (internationalization), which lets you to use a language of your choice for the management console.
Production Environments
What are the implications of hot deployment/hot update in a production environment?
Hot deployment/hot update may take the system to inconsistent states if the updates are not properly coordinated. Therefore, it is recommended to turn hot deployment and hot update off for production deployments.
I already have a WSO2 Governance Registry instance that contains my organization's SOA metadata. Can I get WSO2 BPS to use that registry instance as the metadata store?
WSO2 BPS integrates with WSO2 Governance Registry out of the box. Refer Working with the Registry for the necessary steps involved in remote registry configuration.
What is a graceful shut down?
When a graceful shut down is initiated, the WSO2 BPS will continue to serve the accepted requests but stops processing new ones.
BPS Deployment
What Java versions are supported by the BPS?
It is tested on JDK JDK 1.7.*. 1.8.*. Sun JDK and IBM JDK are supported.
What are the minimum artifacts required to deploy WSO2 BPS?
When deploying, you can omit $BPS_HOME/samples and $BPS_HOME/repository/samples from the standard distribution.
How can I disable the management console?
You can uninstall all the UI components from the list of Installed Features. This disables the management console.
Does WSO2 BPS support application server deployments?
No we do not support application server deployments.Â
What is the database management system used in WSO2 BPS?
WSO2 BPS is shipped with an embedded H2 database. However any database management system can be plugged into the BPS via JDBC. Database for BPEL engine persistence storage and Activiti engine can be configured via "bps-datasources.xml" and "activiti-datasources.xml" files respectively in <BPS_HOME>/repository/conf/datasources directory. Registry and user management related database configurations are available in <BPS_HOME>/repository/conf/registry.xml and <BPS_HOME>/repository/cong/user-mgt.xml files. For more information, refer to Setting up the Physical Database.
How can I change the memory allocation for WSO2 BPS?
The memory allocation setting are in the wso2server.sh and can be changed by editing the following configuration. (This is not required in JDK 1.8.*)
-Xms256m -Xmx512m -XX:MaxPermSize=128m
BPEL Deployment Configurations
How to enable specific transports when deploying BPELÂ
Enabling specific transports can be done by introducing service.xml to the BPEL file. You can configure the required transport by defining it in service.xml as shown below.
<transports>Â Â Â Â Â Â Â Â Â <transport>http</transport>Â Â </transports>
After that, the service.xml should be referred by deploy.xml inside your BPEL process. Sample deploy.xml is given below.  Â
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:tns="http://wso2.org/bps/samples/CustomerInfo">Â Â Â Â Â Â Â <process name="tns:CustomerInfo">Â Â Â Â Â Â Â <in-memory>true</in-memory>Â Â Â Â Â Â Â <active>true</active>Â Â Â Â Â Â Â Â Â <provide partnerLink="CustomerInfoPL">Â Â Â Â Â Â Â Â Â Â Â <service name="tns:CustomerInfoService" port="CustomerInfoPort">Â Â Â Â Â Â Â Â Â Â Â Â <endpoint xmlns="http://wso2.org/bps/bpel/endpoint/config" serviceDescriptionReference="services.xml"/>Â Â Â Â Â Â Â Â Â Â Â </service>Â Â Â Â Â Â Â Â Â </provide>Â Â Â Â Â Â </process>Â </deploy>
How to remove older versions of the BPS process which are no longer required?Â
To get rid of the older versions of the process, the best option is to un-deploy the older version before deploying the new version. That way you can keep only the current version you are developing. Â Â
BPS TransportsÂ
How can I invoke a business process through JMS or talk to a partner service using JMS?
This article (http://wso2.com/library/articles/2012/01/configuring-jms-transport-in-wso2-business-process-server-bps) Â describes how you can use JMS transport in BPS
Human Tasks
Can we assign potential owner as direct user id instead of role/group in human tasks?
Humantask implementation is based on OASIS WS-Humantask and Bpel4People specifications. According to that people assignment is always a list of users or a list of unresolved groups of people [1]Â [2].
You cannot assign a user, instead you have to create a particular role/group and assign the user to that role/group.
[1] http://docs.oasis-open.org/bpel4people/bpel4people-1.1.html [3.2 Assigning People]
Assigning People can be done in different ways.
(I)Via logical people groups (“Using Logical People Groups)
(II)Via literals
(III)Via expressions
[2]Â http://docs.oasis-open.org/bpel4people/ws-humantask-1.1-spec-cs-01.html
HumanTask Explorer and BPMN Explorer
What is this HumanTask Explorer and BPMN Explorer?
These are web applications that can be used by end users to view or work on human tasks and BPMN processes. They are sample applications to demonstrate the functionality, users are encouraged to develop their own web apps and use the API.
Can I deploy them in other web containers?
Yes, they are normal web applications. They can be deployed in other web containers such as WSO2 AS. You must configure the BPS server info in config.json file.Â
BPMN
Can I use BPMN in place of BPEL?
Yes, BPMN provide the same functionality. But you will have to create your business processes with BPMN 2.0 standards.
Does BPMN support Human Tasks?
Yes, BPMN user tasks are similar to human tasks functionality. Unlike BPEL, BPMN does not require external human tasks support.Â