The SOA Services Catalog
Possibly, following Governance the most important concept in an SOA strategy is the Services Catalog.
But what exactly is the Services Catalog? It is the most tangible part of implementing an SOA strategy. It publishes and compiles in an orderly manner the business and infrastructure services (collectively known as SOA services). These services must be based on standards and ontologies.
The Catalog publishes them for all information systems in the organization. They can reuse them as they are defined, when their operation requires knowing a certain business event, or notifying a certain event of interest to the business.
And what is an SOA service? First, make it clear that we use the term “SOA service” encompassing both “pure” business services and infrastructure services (which provide cross-business services such as security services, master data services, etc.).
Let’s see a possible definition of an SOA service:
There is much to highlight about the SOA Services Catalog and services:
- The decision on what to become a new service must correspond to an SOA Governance department, Center of Excellence, SOA Office, etc. This is essential to ensure an optimum rate of reuse of services, its correct granularity, and its life cycle management,
- The definition of a service implies in practice an exercise of particular implementation of a standard and adoption of a series of ontologies, complemented with the peculiarities of the organization’s business semantics (thereby catalysing the homogenization of business semantics throughout the organization),
- The identification of services occurs from two possible approaches, which normally coexist and converge:
- The services must be ordered or grouped by abstract criteria of utility (functionalities, areas or chapters) that facilitate the search of the available services by the processes and information systems.
- For the maintenance of the Service Catalog, it is necessary to manage the life cycle of the services, its versioning and its exact situation of deployment and use throughout the system map of the organization.
- From the SOA Governance department, a constant monitoring and revision of the Service Catalog must be maintained, identifying possible services that can be combined in one single process, divided into several services, etc..
- Encapsulation is a fundamental characteristic in the definition of a service, hiding its internal logic and guaranteeing only the expected behavior when it is used,
- Another fundamental characteristic in the definition of an SOA service is the need to keep it independent of any technological aspect, so that it can be implemented through web service, message queue, file, etc. Failure to respect this technological independence would contradict one of the basic principles of the SOA strategy: to achieve the independence of technology. Once again it is the SOA Governance department that must ensure this independence.
We will come back to the SOA Services Catalog and services in particular. Among other things, we will see how we can handle different levels of abstraction to help guarantee that technology independence, keeping a good reuse rate at the same time.