Service-Oriented Architecture (SOA) is composed of many moving parts, but few are as confusing as the registry and repository. Although frequently used together, they address different stages of the software product's lifecycle.
In this blog post, we will sort out these differences and show them in the light of our Enterprise Service Repository and a "normal" Service Registry.
Think of a Service Registry as the "phonebook" of your SOA landscape. It is a searchable catalog of currently available services that allows different systems to find and communicate with one another.
Its primary role is runtime discovery. When a consumer application needs to use a specific service, it queries the registry to find the service's location (its endpoint) and how to bind to it.
If the registry is the phonebook, the Enterprise Service Repository (ESR) is the "library." It is a central database that stores the blueprints, the detailed definitions, source code, and logic of the services.
The ESR is a design-time concept primarily. It contains the metadata that is required by developers to create, change, and understand Enterprise Services. It means that when an application wants to talk to another application, it knows the couples (WSDL, for example) are managed consistently.
Whether you are an enterprise desktop tamer or a humble personal account wrangler, having the proper configuration data to allow web browsing is necessary. Similarly, Comporium Webmail access issues can leave you feeling in a muddle when something goes wrong; there is no need to stay locked out. Check settings, update SMTP/IMAP/POP, or contact support if that doesn’t do the trick.
Similarly, when your colleagues publish outdated metadata or mistyped endpoint information to the service reg, it returns cost of business or worse just as quickly as a fat-fingered bad port number prevents you from sending an e-mail.
While some modern platforms combine these tools, understanding their distinct functions helps you manage your architecture more effectively.
The technical backbone of these components differs based on their history and utility.
Both the ESR and Service Registry are key to a virtuous SOA, but addressing different issues. The ESR will ensure you correctly build the right services, and the Service Registry ensures your applications can discover and use those services efficiently.
By having the separation between "library" (ESR) and "phonebook" (Registry), you can get better governance, reusability, and also have a more robust IT infrastructure.