Before we start to define what IBM WebSphere Service Registry and Repository, WSRR in short, let's take a look at why we need registry in an SOA environment.
SOA always has a provider and a consumer. Quite obviously, the provider provides the service and the consumer consumes what the provider is offering. But, there is a silent player in the SOA cycle, and it is called as a Service Registry. The service registry is where, as a provider we can publish information about our services and as a consumer we can find information about services that are being published by other providers. WSRR is a service registry. But more precisely, WSRR is a registry and a repository.WebSphere Service Registry and Repository includes:
- A service registry that contains information about services, such as the service interfaces, its operations, and parameters
- A metadata repository that has the robust framework and extensibility to suit the diverse nature of service usage
You can use WebSphere Service Registry and Repository to store information about services in your systems, or in other organizations' systems, that you already use, that you plan to use, or that you want to be aware of. For example, an application can check with WSRR just before it invokes a service to locate the most appropriate service that satisfies its functional and performance needs. This capability helps make an SOA deployment more dynamic and more adaptable to changing business conditions.
So then what is UDDI? UDDI doesn't have the capabilities to associate metadata and relationships with the service descriptions. Because UDDI is not a repository with fine grained search of artifacts, search-able metadata must be extracted from referenced artifacts and mapped to the UDDI data model to be able to be queried. That brings us to the fact that UDDI lacks repository capabilities that prevents UDDI from actually storing and owning the artifacts, and thus from acting as a master copy of records of the service artifacts.
One of the key features of WSRR is the role it plays in end-to-end SOA Governance. WSRR supports governance of service metadata throughout the life-cycle of a service from its initial publication in the development space to deployment to service management.
With such capabilities, there are certain aspects of an SOA that WSRR doesn't address. The two most common misconceptions about WSRR is that it can be substituted for a content management system and it can act as an enterprise wide metadata repository. This is not a limitation of WSRR. WSRR is meant to cater to services and governance rather than an enterprise level content management system.
A good place to get started about WSRR would be the redbook - WebSphere Service Registry and Repository Handbook