This document describes how to install and run WSO2 Business Process Server using binary distribution available fordownload. Binary Distribution includes binary files for both MS Windows and Linux operating systems as a zip file.
| Java SE Development Kit |
1.6.x (For instructions on setting up the JDK on different operating
systems, visithttp://java.sun.com)
To build WSO2 BPS from the Source distribution, it is necessary that you have JDK 1.6.x version and Maven 2.2.0 or later |
| Web browser- To log-in to the BPS Management Console | Mozilla Firefox or Google Chrome at a resolution of 1024x768 or higher is recommended. MS Internet Explorer 7 or 8 can be used as well, with some limitations. Once the WSO2 BPS is started point the browser to https://localhost:9443/carbon you can access your Management Console. |
| Memory | No minimum requirement - A heap size of 256~512MB is generally sufficient to process typical SOAP messages. Requirements may vary with larger message size and on the number of messages processed concurrently |
| Disk | No minimum requirement. The installation will require ~150MB excluding space allocated for log files and Databases. |
| Operating System | Linux, Solaris, MS Windows - XP/ Vista (Not fully tested on Windows Vista). As the WSO2 BPS is a Java application, it will generally be possible to run it on other operating systems with a JDK 1.6.x runtime. Linux/Solaris is recommended for a production deployment. |
The following steps will take you through the installation for the MS Windows operating system.
WSO2 Carbon Studio provides the tooling environment for users to model, deploy and execute the WS-BPEL processes. Latest WSO2 Carbon Studio documentation is available here. Please follow the installation guide in above documentation to install WSO2 Carbon Studio.
WSO2 Business Process Server comes with a embedded H2 database as the BPEL engine persistence storage. Embedded databases are not suitable as the BPEL engine persistence storage for production deployments.This document will guide you through the steps to configure WSO2 BPS with external database servers.
WSO2 BPS uses Apache ODE as it's BPEL engine and Apache ODE can be configured to use external database other than the embedded H2 databse as it's persistence storage. First you must create a database in your preferred database server and load the database schemas provided to that database.
Definition of the reusable database sources can be done using datasources.properties file located inside WSO2 BPS 'repository/conf' directory under BPS root directory. It is possible to configure any number of data sources. But for WSO2 BPS one data source is enough.
WSO2 BPS ships with a default datasources.properties file which contains configurations for embedded H2 database. To configure a external database you only need to change following properties which are database specific.
synapse.datasources.bpsds.driverClassName=net.sourceforge.jtds.jdbc.Driver
synapse.datasources.bpsds.url=jdbc:jtds:sqlserver://192.168.1.2:1433/bps
synapse.datasources.bpsds.username=sa
synapse.datasources.bpsds.password=root123
You can fine tune your data source configurations using various other properties available. You can find description about other configuration in parameters document from Apache Commons. WSO2 BPS data sources support all the parameters support by Apache dbcp and you must follow the synapse.datasources.<data source name>.<parameter>=<parameter value> pattern when specifying parameters for the data source. You can use any of the parameters supported by Apache dbcp to replace 'parameters' field.
Note: For embedded H2 database, if absolute file URL is used for the datasource URL on Windows environment, that needs to be configured as follows. (i.e. the backslashes should be escaped)
synapse.datasources.bpsds.url=jdbc:h2:file:C:\\bps\\myDs
The datasources.properties contains following property which requires to change when configuring to run multiple server instances.
synapse.datasources.providerPort=2199
The following two approaches use the advantage of port-offsetting to automatically alter this property value without manually changing datasources.properties or bps.xml.
Method 1: Uncomment following section in carbon.xml
<Ports>
<!--
Override datasources JNDIProviderPort defined in bps.xml and datasources.properties files
-->
<!--<JNDIProviderPort>2199< /JNDIProviderPort>-->
</Ports>
JNDIProviderPort has been overridden in carbon.xml and can be enabled by uncommenting above. Therefore, it is not required to change RMI ports in multiple places as defined in bps.xml and datasource.properties files.
Method 2: Without enabling above property in Method 1.This only requires to change port offset value in carbon.xml. Then it will automatically alter the JNDI ports defined in bps.xml and datasources.xml. This won't require to enable/uncomment above section in Method 1.
You must leave Registry configuration in bps.xml as it is. If you want to configure registry to use external data base you must follow the registry configuration document.
You can configure and fine tune OpenJPA by specifying OpenJPA properties in BPS_HOME/repository/conf/bps.xml file.
<tns:WSO2BPSxmlns:tns="http://wso2.org/bps/config"> ... <tns:OpenJPAConfig><tns:propertyname="openjpa.FlushBeforeQueries"value="true"/><tns:propertyname="property name"value="value"/> ... </tns:OpenJPAConfig> ... </tns:WSO2BPS>
HTTP connection manager should be configured to be sync with the concurrent HTTP connections that should be in the BPS server.
<tns:WSO2BPSxmlns:tns="http://wso2.org/bps/config"> ... <tns:MultithreadedHttpConnectionManagerConfig><tns:maxConnectionsPerHostvalue="20"/><tns:maxTotalConnectionsvalue="200"/></tns:MultithreadedHttpConnectionManagerConfig> ... </tns:WSO2BPS>