Carbon Registry Separation

These days our folks at WSO2 are working hard for the next major release of Carbon, which is Carbon 3.0.0. It will be released end of March with lot of new features to enrich our SOA middleware platform. During last few days, I was working on this new concept of separating Registry to suite our platform story.

All our Carbon based products internally uses WSO2 Registry as a repository to persist data. For example, in WSAS all data about services, modules etc are stored in the Registry to make sure the same state is maintained even after restarting the server. And also, user is provided with a Registry browser and allowed to store whatever data he needs. This is model used in all our previous releases of Carbon.

In the upcoming 3.0.0 release, this Registry is separated out into three parts to perfectly suite our platform story.

  1. Local Data Repository – This Registry instance is internally used by the server to persist instance specific information. These can be logs, transport information etc.
  2. Configuration Registry – This Registry instance is shared across a cluster which contains several identical instances of Carbon. Data which should be shared by all nodes in the cluster are stored in this Registry. For example, in a WSAS cluster, data on services, modules etc. are stored here. In addition to that, all Carbon component specific information are also stored here.
  3. Governance Registry – This Registry instance is shared across the entire platform. In other words, a complete SOA setup can contain few clusters of different products which together form a SOA platform. So this Governance Registry instance is used completely by the user to centrally manage stuff. For example, WSDLs, policies etc. which should be shared across the platform. 

By default, all these 3 registries reside in the same physical registry instance. Local data repository is always an embedded registry instance. User is allowed to configure Config and Governance registry locations through the registry.xml file. In other words, those can be pointed to remote registry instances.

This feature is already completed in Carbon 3.0.0 and will be coming out in March. This will be a great advantage for the users who are developing complete SOA solutions.