WSO2 Business Process Server v3.0.1 Documentation

##### Overview

- Home
- Release Note
- WS-BPEL Compliance
- License

##### Downloads

- Releases

##### Installation Guide

- Installing WSO2 BPS

##### Quick Start Guide

- Modeling the process
- Deploying the process
- Testing the process

##### User Guide

- Deploying BPEL Processes
- Deploying Human Tasks
- Managing BPEL processes
- Managing BPEL process instances
- QoS for BPEL processes
- Securing BPEL processes
- Invoking secured partner services
- Versioning
- Management API

##### Human Task Guide

- Human Tasks Quick Start Guide
- Deploying HumanTasks
- Managing Tasks
- Developing a Human Task Artifact
- Human Task Management and Configuration
- Human Task Concepts

##### Administrator Guide

- External data sources Configuration
- Registry Configuration
- Events
- Unified Endpoints
- BPEL Extensions
- Transaction Factory Configuration
- Message Exchange Interceptors
- OpenJPA specific properties
- JMS Transport Configuration
- Process Instance Cleanup Tasks
- Process Hydration and Dehydration
- Enabling Peer-to-Peer(P2P) Communication
- Setting up a BPS Cluster

##### Best Practices

- Process Deployment Best Practices

##### Concepts

- Process Versioning
- Process instance events
- Partner links

##### WS-BPEL Extensions

- Activity Failure and Recovery
- Extension Activities and Extensible Assign Operations
- XPath Extensions
- Iterable ForEach
- Flexible Assigns
- BPEL4People Extension

##### Samples

- HelloWorld
- If-Else
- ForEach
- While
- Repeat Until
- Flow and Links
- Pick
- Synchronous and Asynchronous Service Invocations
- Fault Handling
- Split
- XslTransform
- Compensation Handler
- Event Handler

##### Resources

- FAQ
- External Articles
- Library
- Source Code

##### Community

- Forum
- Mailing Lists

##### Project Information

- Issue Tracking

# WSO2 Business Process Server (BPS) Frequently Asked Questions

This article provides answers to most commonly asked questions regarding WSO2 Business Process Server, its underlying Carbon framework, BPS deployment and configuration.

## Contents

## General (General BPS questions - Non technical)

1. ### What is WSO2 Business Process Server?

   WSO2 Business Process Server (BPS) is an easy-to-use Open Source Business Process Server that executes business processes written following WS-BPEL standard. It serves as the business process management and hosting environment for your SOA.

   .

### What is the Open Source License of WSO2 Business Process Server?

It is released under Apache Software License Version 2.0.

### How do I get WSO2 Business Process Server?

WSO2 Business Process Server is distributed completely free and all the distribution packs can be downloaded from the WSO2 Oxygen Tank. WSO2 Business Process Server can be downloaded as a binary distribution or a source distribution and if required one can even checkout the complete source code from the WSO2 SVN repository.

### Is their commercial support available for WSO2 Business Process Server?

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 more details and to take advantage of this unique opportunity please visit WSO2 Support.

### Can I get involved with the BPS development activities?

Not only you are allowed, but it is encouraged. You can start by subscribing to carbon-dev@wso2.org and architecture@wso2.org mailing lists. Feel free to provide ideas, feed back and help us make our code better. You can also report bugs on our issue tracker and you can even submit patches. Visit WSO2 Oxygen Tank for more information about our mailig lists.

## General (General BPS questions - Technical)

1. ### What is the recommended WS-BPEL designer tool to develop BPEL processes?

   WSO2 carbon-studio is recommended.

### Is it possible to debug a BPEL process?

Yes. You can debug a BPEL process using the Event Table in the Instance View of Management Console or using the Message Tracer.

### How can I install BPEL feature to any of the carbon based servers?

Get the BPEL feature from the P2 repository and install it using the Carbon feature configuration functionality.

### Why do we need a Deployment Descriptor?

The deploy.xml file acts as the deployment descriptor for a BPEL package. It maps configuration information such as partner links, WSDL service, port, etc for processes in a BPEL archive.

### What are the BPEL Process Configurations?

The BPEL Process Configurations represents activities carried out within a business process written using WS-BPEL. The Basic Activities includes; `Invoke, Receive, Reply, Assign, Compensate, CompensateScope, Exit, Throw, Empty, Rethrow, Wait.` The Structured Activities includes; `Flow, ForEach, If, Pick, RepeatUntil, Scope, Sequence, While.`

### How can I get a message trace for a particular BPEL invocation?

Add `log4j.logger.org.wso2.carbon.bpel.messagetrace=TRACE` to log4j.properties file (located at WSO2 Business Process Server-3.0.1/repository/conf/log4j.properties) and set the Carbon log file threshold to trace. i.e. `log4j.appender.CARBON_LOGFILE.threshold=TRACE` Now re-start the BPS server and send a single request to the BPEL process and find the log file: BPS_HOME/repository/logs/wso2carbon.log

### How can I secure a BPEL process?

Apply either "Basic Security Scenarios" or "Advanced Security Scenarios" based on your preference.

### Can I execute a BPEL process inside a proxy service created using WSO2 ESB?

Yes. WSO2 Business Process Server exposes business processes written in BPEL as web services. These services can be executed by a proxy service hosted in WSO2 Enterprise Service Bus (ESB) just like any other web service.

### Can I send email-notifications using WSO2 Business Process Server?

Yes. Create a proxy service which sends out emails using WSO2 ESB and call this proxy service within the BPEL process using "invoke" activity

### How can I start multiple carbon server instances?

Change the offSet value in the carbon.xml in each instance to different values.

### Can WSO2 Business Process Server be deployed in clustered or other configurations intended to provide fault tolerance and increased performance?

Yes WSO2 Business Process Server supports clustering.

### How does WS-BPEL handle human tasks?

WS-BPEL 2.0 does not address human interactions directly. The BPEL4People is an extension to WS-BPEL 2.0 and is used to model human interactions within a BPEL process through the use of an extension activity.

## Core (Questions related to the Carbon core and underlying framework)

1. ### What are the technologies used underneath WSO2 Business Process Server?

   WSO2 Business Process Server is built on top of WSO2 Carbon, an OSGi based components framework for SOA. It is powered by Apache ODE as the underlying BPEL engine. Java is the primary programming language used to develop WSO2 Business Process Server.

### What are the minimum requirements to run WSO2 Business Process Server?

- Hardware Requirements:
  - Pentium 2GHz or equivalent processor
  - 512 MB of memory
  - The extracted binary distribution of WSO2 Business Process Server takes up about 150 MB of disk space
- Software Requirements:
  - Java Runtime Environment 1.6 or above

### How do I deploy a third party library into the BPS?

You can deploy any third party jar into the repository/components/lib directory. You also need to restart the server for the newly deployed jars to be picked up by the server runtime. WSO2 Business Process Server will convert any jar files copied into the above location into OSGi bundles. These OSGi bundles are placed in the 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.

### Can I use an external user store to manage and authenticate WSO2 Business Process Server users?

Yes you can. You can connect WSO2 Business Process Server with any external user store implementation. The user store could be LDAP based, JDBC based or a custom developed user store. Please refer user core documentation for more details.

### I don't want some of the features that come with WSO2 Business Process Server. Can I get rid of them?

Yes you can. Login to the BPS management console and browse to the Feature Manager. Open the 'Installed Features' tab. From here you can uninstall any unwanted features.

### Can I add support for other language for the management console ?

Yes, WSO2 Business Process Server comes with a UI framework which supports i18n (internationalization) which lets you to use a language of your choice for the management console.

## Production (Questions related to production environments)

1. ### 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 Business Process Server to use that registry instance as the metadata store?

WSO2 Business Process Server integrates with WSO2 Governance Registry out of the box. Refer the administrator guide for the necessary steps involved in remote registry configuration.

## Deployment (Questions related to BPS deployments)

1. ### What are the versions of Java supported by the BPS?

   It is tested on JDK 1.6. Sun JDK and IBM JDK are supported.

### What are the minimum artifacts required to deploy WSO2?

When deploying you can remove, $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 using the feature manager which will disable the management console.

### Does WSO2 Business Process Server supports application server deployments?

It has been tested on the following app servers. JBoss, Weblogic, Websphere and Tomcat.

### What are the recommended hardware and software configurations for a typical WSO2 Business Process Server deployment?

- Hardware configuration:
  - 2 GHz Multicore processor
  - 2 GB of memory
  - The extracted binary distribution of WSO2 Business Process Server takes up about 130 MB of disk space (WSO2 Business Process Server will require more disk space at runtime to keep temporary files, server logs etc)
- Software Requirements:
  - Java Runtime Environment 1.6

### What is the database management system used in WSO2 Business Process Server?

WSO2 Business Process Server ships with an embedded H2 database. However any database management system can be plugged into the BPS via JDBC. Database for BPEL engine persistence storage can be configured via datasources.properties file in repository/conf directory. Registry and user management related database configurations are available in repository/conf/registry.xml and repository/conf/user-mgt.xml files. WSO2 Business Process Server has been tested with MySQL, Oracle, MSSQL and PostgreSQL databases.

### How can I change the memory allocation for the WSO2 Business Process Server?

The memory allocation setting are in the wso2server.sh. The user can change the memory allocation settings by changing the following configuration.

-Xms256m -Xmx512m -XX:MaxPermSize=128m