Introduction to Feature Management
Each enterprise middleware product is a collection of reusable software units called features. Similarly, WSO2 Carbon consists of a collection of features where a single feature is a list of components and/or other feature. A component in the Carbon platform is a single or a collection of OSGi bundles. Similar to a standard Jar file in Java, a bundle is the modularization unit in OSGi.
Components in the Carbon platform add functionality to Carbon based products. For example, the statistics component enables users to monitor system and service level statistics. This component contains two bundles. One is the back-end bundle that collects, summarizes and stores statistics. The other is the front-end bundle, that presents the data to the user through a user-friendly interface.
This component-based architecture of the WSO2 Carbon platform gives developers flexibility to build efficient and lean products that best suit their unique business needs, simply by adding and removing components.
Provisioning WSO2 Carbon
Provisioning software is the act of placing an individual software application or a complete software stack onto a target system. What we mean by provisioning WSO2 Carbon is installing/updating/uninstalling features to/from the Carbon base platform on top of which the entire WSO2 product stack is developed. It is also possible to easily revert to a previous feature configuration using the provisioning support.
Features can be easily installed to any WSO2 product using the WSO2 Carbon Component Manager that comes with the product. Component manager is powered by Equinox P2 and allows you to connect to a remote or local P2 repository and get any feature installed into the product's runtime.
P2 can be used as a provisioning platform for any OSGi-based application. P2 has enabled easy provisioning capabilities in WSO2 Carbon, thereby increasing the user-friendliness in building customized SOA products using the Carbon platform. Users can download the WSO2 Carbon framework or any other WSO2 product and extend them by simply installing various features. The WSO2 Feature Manager provides a convenient user interface to perform common provisioning operations and related repository management functions.