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

# Feature Management

## 1) Introduction

Provisioning software is considered as the act of placing an individual software application or complete software stack onto a target system. Here what we mean by Provisioning WSO2 Carbon is installing/updating/uninstalling features to/from Carbon. The manual way of provisioning Carbon is dropping bundles and configuration files belongs to a feature. This method is not recommended, since it can cause errors. Finding the exact set of components and configuration files is a difficult task. Components have inter dependencies with other components. Some components depends on specific versions of other components. In order to overcome these issues, we recently integrated Equinox P2 with Carbon.

Equinox P2 is known as a framework for provisioning Eclipse-based applications. But this definition is getting blurred now. Basically P2 can be used as a provisioning platform for any OSGi based application. P2 has been integrated with WSO2 Carbon platform to enable provisioning capabilities. With the previous release of WSO2 Carbon(version 2.0.0), it has this P2 based provisioning support. P2 integration takes WSO2 Carbon to an another level in terms of user friendliness in building customized SOA products. This enables users to download WSO2 Carbon framework or any other SOA products and extend them by installing various features.

Feature Manager provides a convenient user interface to perform provisioning operations such as installing, uninstalling, updating features.

## 2) Available Features

This tab allows you to install new features or upgrade existing features. Features are available in repositories. If you haven't added any repository, please click the Add Repository link. The task of installing features is performed in four steps.

1. Search for available features in added repositories.
2. Select the features you wish to install.
3. Review the installation.
4. Accept the terms of the license agreements.

### 2.1) Search for features in added repositories

Figure : Find features

This section allows you to search for available features in repositories. You can select the exact repository or all available repositories. Some repositories contains multiple versions of features. With "Group features by category" option enabled by default, you can view available features in the repository grouped under feature categories. A feature category is a logical grouping of the features which constitute a particular Carbon-based product. For example, the features required to install WSO2 Application Server is grouped under the 'Application Server' feature category. If you require to install all the features of Application Server at once, you can simply select the 'Application Server' feature category as below. If you are only interested in latest versions, you can use the "Show only the latest versions" option.

Figure : Feature category

If you disable the "Group features by category" option and find features, you can view all available features in the repository in an uncategorized flat structure.

If the selected repository contains features which are already installed in the system, they will not be shown under the available features list. And also previous versions of installed features will not be shown.

### 2.2) Select the features you wish to install

Figure : Available feature list

Once you click the "Find Features" button, you will be able to see a list of available features that match the criteria you have specified. Now you can select features you wish to install. Click "Install" to proceed to the next step.

### 2.3) Review the installation.

Figure : Review of the installation

This step allows you to review the selected features to be installed. This page displays the size of the installation in kbs. In certain instances size of the installation can be 0 kb. Equinox P2 does not delete OSGi bundles, when you uninstall features. Therefore when you try to install previously uninstalled features, there is no need to download OSGi bundles from the repository. They are already available in your local plugins folders. Hence size of the installation can be 0 kb.

Some features depend on other features. For an example, Service Hosting feature depends on Service Management feature. In order to install Service Hosting feature, either Service Mgt feature should be already installed in your system or it should be available in one of the added repositories. Otherwise Equinox P2 complains that installation of Service Hosting feature cannot be performed due to a missing dependency. All these information will be displayed in this page under the "Summary" section.

### 2.4) Accept the terms of the license agreements.

Figure : License Agreement

Once you accept the license agreements, click "Next >" button to install the feature. This process might take a while to complete. If the installation is successful, you should get the following message. Now restart the server and check whether the features are correctly installed.

Figure : Installation Complete Message

## 3) Installed Features

This tab allows you to view all the installed features in the system. And also it allows you to uninstall features from the system.

Figure : Installed features list

### 3.1) Uninstalling Features

Select the features you wish to uninstall and click "Uninstall". Then you will be presented a page which contains a review of features to uninstalled. Some features cannot be uninstalled from the system, because other features depend on them. All these information will be displayed in this page under the "Summary" section.

### 3.2) Back-end/front-end separation

Carbon supports the concept of back-end, front-end separation where you can manage multiple back-end servers using a single front-end server. You can convert a given product either to a back-end server or to a front-end server. This conversion can be performed using the Feature Manager UI.

Figure : back-end/front-end separation page

If you want to get only a back-end server, you have to uninstall all the front-end features.To do, go to the installed feature tab and select the Front-End from the drop down menu.This will present you with all the front-end features that are currently installed in the system. Pressing "Uninstall" will uninstall all the front-end features in the current installation. The steps are similar if you want to convert your product in to a front-end server. features that the system

## 4) Installation History

This page lists the history of provisioning operations performed on the system. Here previous configurations can be identified as previous states of the system. A state/configuration can be simply identified by the set of installed features. When you perform a provisioning operation such as installing/uninstalling of features, system state/configuration change occurs.

Figure : Installation History

You can revert the current configuration to a previous configuration. In this process some feature might get installed and some might get uninstalled. When you click on a previous configuration, you will be able to see these information.

Figure : Previous configuration details

## 5) Repository Management

This tab allows you to view or modify repository management settings.

### 5.1) Managing Repositories

Once you click "Manage Repositories" link, you will get a page which allows you to perform several operations on repositories, such add/remove/modify/enable/disable.

Figure : Manage repository page

#### 5.1.1) Adding a new repository

Click "Add Repository" link in the Manage Repositories page. Provide a convenient name and a url of the repository. If you have a downloaded repository to your computer, add the file path of directory.

Figure : Add repository

#### 5.1.2) Editing a repository

This page allows you to change the repository name. But if you want to change the repository URL, you need to remove the old repository and add the new one.

Figure : Edit repository

#### 5.1.3) Enabling/Disabling repositories

By default all the repositories are enabled. When you perform a provisioning operation, metadata and artifacts are searched from all the enabled repositories. Once you disable a repository, Equinox P2 does not search for metadata and artifacts from it.