WSO2 ESB makes use of a WSO2 Governance Registry instance to store various configurations and artifacts such as proxy services, sequences and endpoints. Simply put a registry is a content store and a metadata repository. Various SOA artifacts such as services, WSDLs and configuration files can be stored in a registry keyed by unique paths. A path is similar to a Unix file path. In WSO2 ESB all configurations pertaining to modules, logging, security, data sources and other service groups are stored in the registry by default. Starting from WSO2 Carbon 2.0 all the transport configurations are also stored in the registry. WSO2 ESB 2.1 introduced a feature to directly store endpoints and sequences to the registry with a user specified key value.
WSO2 ESB accesses the registry in two ways. In many cases it accesses the registry by directly calling the registry API from Carbon components. In some special situations it gains access to the registry through the underlying Apache Synapse configuration. It is important that Synapse configuration should always include a registry definition. That is, the ESB configuration should include the following registry definition.
<registry provider="org.wso2.carbon.mediation.registry.WSO2Registry"> <parameter name="cachableDuration">15000</parameter> </registry>
Starting from ESB 3.0 the registry that comes with WSO2 ESB is actually a combination of 3 registries.
- Local repository - Used to store settings/metadata specific to the ESB node. This registry cannot be shared.
- Configuration registry - Used to store settings/metadata that is shared across a cluster of ESB instances.
- Governance registry - Used to store user specified metadata and resources and can be shared across an organization.
The above registry instances are mounted to a single top level registry to provide a single unified view. Mount points of the three registries are /_system/local, /_system/config and /_system/governance respectively. One could browse the contents of the registry used by the ESB from the WSO2 ESB management console. To learn how to browse the registry, see Managing the Registry.
Tip
To integrate WSO2 ESB with a custom / new Registry or repository, one needs to implement the org.apache.synapse.registry.Registry
interface to suit the actual Registry being used.
See also Storing Various WSO2 Enterprise Service Bus Configurations.