This documentation is for WSO2 ESB version 4.5.1. View documentation for the latest release.

Server Roles

A server-role (New in version 4.0) is a parameter that is mentioned in carbon.xml for wso2carbon based products. Each product has a different default ServerRoles property in its carbon.xml. Default server role values for WSO2Carbon based products are as follows:

  • WSO2 AppServer - "ApplicationServer"
  • WSO2 BAM - "BusinessActivityMonitor"
  • WSO2 BPS - "BusinessProcessServer"
  • WSO2 BRS - "BusinessRulesServer"
  • WSO2 DSS - "DataServicesServer"
  • WSO2 ESB - "EnterpriseServiceBus"
  • WSO2 GS - "GadgetServer"
  • WSO2 GReg - "GovernanceRegistry"
  • WSO2 IS - "IdentityServer"
  • WSO2 MS - "MashupServer"

This property value is used for deployment of C-App archives. Generally a C-App consists of a set of resources that is to be deployed in different products. So if an user deploys a C-App in a carbon product, all of the resources cannot be deployed in that particular product instance. To sort out which can and which cannot be deployed, the server-role property is used. When a C-App is being deployed, it reads the ServerRoles property in carbon.xml and deploys only the resources which matches the server-role values in there. Here is an example list of C-App resources that map to default server roles.

  • ApplicationServer - foo.aar, jax-wx.jar
  • EnterpriseServiceBus - proxy.xml
  • BusinessProcessServer - my_bpel.zip
  • GadgetServer - gadget.xml
Server Roles Manager

Server roles manager is a component to manage server roles property for WSO2Carbon based products.

As carbon supports adding different product features into one product instance original concept of the server role property being added into carbon.xml is hard to manage as users may have to manually modify the carbon.xml to include the server-roles related to the product feature they have added to a carbon product instance. As WSO2 Stratos and WSO2 Mars are introduced above action is not possible for a tenant since the tenant user is remote to the server instance.

To overcome those issues, server-role manager is introduced. The server-role manager will store the both carbon.xml default product roles and user/tenant specified server roles in configuration registry. So when a C-App is deploying in carbon, the C-App deployer will check for auto-mentioned server roles from the registry instead of carbon.xml.

In server-roles manager, the server-roles properties will be of two types:

  • Default - All the server roles picked from that particular product instance's carbon.xml.
  • Custom - All other server roles added by the users.

WSO2 ESB allows to add and delete server roles.