A server-role ServerRoles
is a parameter that is mentioned in the carbon.xml
file (of all WSO2 Carbon based products, in the <PRODUCT_HOME>/repository/conf
) of all WSO2 Carbon based products directory. Each product has a different default ServerRoles
property as follows:
- WSO2 Application Server - "ApplicationServer"
- WSO2 Business Activity Monitor - "BusinessActivityMonitor"
- WSO2 Business Process Server - "BusinessProcessServer"
- WSO2 Business Rules Server - "BusinessRulesServer"
- WSO2 Data Services Server - "DataServicesServer"
- WSO2 Enterprise Service Bus - "EnterpriseServiceBus"
- WSO2 Governance Registry - "GovernanceRegistry"
- WSO2 Gadget Identity Server - "GadgetServer"IdentityServer"
- WSO2 Cloud Gateway - "CloudGatewayServer"
- WSO2 Governance RegistryAPI Manager - "GovernanceRegistryAPIManager"
- WSO2 Identity Storage Server - "IdentityServer"StorageServer"
- WSO2 Complex Event Processor - "ComplexEventProcessor"
- WSO2 Message Broker - "${default.server.role}"
- WSO2 Elastic Load Balancer - "ElasticLoadBalancer"
- WSO2 Mashup User Engagement Server - "MashupServerJaggeryServer"
- WSO2 Enterprise Store - "EnterpriseStore"
This property value is used for the deployment of WSO2 Carbon Applications.
What is a Carbon application
Info |
---|
In the future, the terminology used for C-App will change to Composite Application, in order to support Carbon as well as Non-Carbon Carbon Applications will be renamed to Composite Applications in an upcoming release because we will be supporting both Carbon-based and non Carbon-based applications. |
A Carbon Application, abbreviated as a cAppC-App, is a collection of artifacts deployable on a Carbon instance. These artifacts are usually java-based or xml configurations, designed differently for each product in the Carbon platform. In a single Carbon-based solution, there can be numerous artifacts used, such as Axis2 services, data services, synapse configurations, endpoints, proxy services, mediators, registry resources, BEPL workflows etc. Usually, these artifacts are created in a development environment and then moved one by one into staging/production environments. When moving a Carbon solution from one setup to the other, the user has to manually configure these artifacts to build up the entire solution. This is a time-consuming process. Alternatively, bundling configuration files and artifacts in a cApp C-App makes it easy for users to port their Web service based solution from one environment to another.
When a user deploys a cApp C-App in a Carbon product, all its resources cannot be deployed in that particular product instance. To specify which can and which cannot be deployed, the server-role property is used. When a cApp C-App is being deployed, it reads the ServerRoles property from the carbon.xml and deploys only the resources which match 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.war
- EnterpriseServiceBus -
proxy.xml
- BusinessProcessServer -
my_bpel.zip
- UserEngagementServer JaggeryServer -
jaggery-app.jag
Server Roles Manager
Server roles manager is a component to manage the server roles property for WSO2 Carbon based products. Due to the functionality of the server roles manager, users do not 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, which is the WSO2 Carbon based Cloud Middleware Platform, is introduced, the above action is not possible for a tenant since the tenant user is remote to the server instance.To overcome these difficulties, the server role manager is introduced. It The server roles manager stores both carbon.xml
file's default product roles as well as user/tenant specific server roles in the configuration registry. So, when a cApp C-App is deployed in Carbon, the cApp C-App deployer checks for auto-mentioned server roles from the registry instead of the carbon.xml
file.
In the server roles manager, the server-roles properties are 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.
...
hidden | true |
---|
- .