Key Elements of an SOA Governance Strategy
Effective governance for service-oriented architectures defines rules for their operational and organizational structure.
Tue, March 31, 2009
IDG News Service — One of the success factors in introducing and operating a service-oriented architecture (SOA) is governance of the architecture's components, such as services and processes. Effective SOA governance can be implemented by deploying a registry/repository for the entire life cycle of the components.
Corporate governance regulates an organisation within a framework of laws, values, standards, rules and guidelines to achieve long-term goals—while maintaining basic conditions. IT governance seizes on an organisation's strategies and objectives and implements them via IT solutions. SOA governance is a part of corporate governance that deals with regulating and monitoring the components of a service-oriented architecture.
Effective governance for service-oriented architectures defines rules for their operational and organizational structure, as well as technological rules, for the entire life cycle of such a landscape. The organisational aspects, for instance, include determining who "owns" the services. In addition, roles responsible for certain areas of the life cycle are established.
An IT architect, for example, is responsible for services within a department, where the architect decides whether to develop new services. It is essential to integrate this role into the development process as a way of ensuring that new services are realised only if the responsible architect has approved and a service goes into production only after it has been documented and tested completely.
The example of the IT architect demonstrates that governance must manage the SOA's technical complexity as well. In addition, it requires an infrastructure in the form of monitoring and implementation mechanisms for regulating and guiding development processes in the context of an SOA environment.
SOA governance is not a task that can be implemented as a functionality within a single software application. Its complex aspects are implemented via a powerful governance solution that is used across applications and projects as a central control tool.
The registry/repository is among the most important components of such a solution. A registry manages meta information, for example about services, processes, format descriptions, etc., and maps relationships and dependencies. The objects themselves are not managed or stored here. Thus, the registry enables categorisation and organisation of the services or other components. Users can publish new components in the catalogue and search for existing ones. The components can be categorised in several ways, so that services are assigned to a certain service domain, technical function, or process, so that the architecture is fully documented.
A registry is essential for accessing services in a distributed architecture of loosely linked services. The repository augments existing information with additional information, such as descriptive documents, specifications, SLAs, etc. In addition, a governance solution makes it possible to map the entire life cycle of a component and by using policies, it can monitor a component's transition from one phase of the life cycle to the next.