Service-Oriented Architecture (SOA) is an approach to distributed computing that considers software functionality as services on a network. SOA represents the next major step in the evolution of Information Technology (IT) strategies. Businesses are looking to SOA as the best way to leverage information technology assets and to provide the business the agility required to compete in today’s economy. In addition, SOA holds promise to companies looking to bring order to an increasingly complex and chaotic IT environment and equip themselves to manage change.
The promise of agility goes beyond a single company to its entire value chain. Interacting more directly with value chain participants, securely sharing critical business information, and more rapidly responding to business events can reduce process cycle times, improve operational efficiency and deliver competitive advantage.
With business processes organized and exposed as services over the Internet and an SOA infrastructure in place to manage them, companies are in a position to capitalize on a service-oriented approach to their business engaging the entire value chain.
Transforming from a ‘silo’ organization to a service oriented one requires careful planning and analysis. SOA Enterprise transformation programs focus on transforming an IT organization into one that is business driven and strategically aligned. Organizations must learn how to think about using SOA to lower maintenance costs, drive system agility and create top line opportunities. They need to use SOA as a strategic wedge to drive sustainable competitive business advantage.
IT must obtain training to learn how to analyze existing systems, business processes, information models and other artifacts to create next generation shared services. The first stage of this process focuses on understanding the business case for services. It is common for it to be driven by application consolidation initiatives, modernization programs or efforts to extend the life of legacy systems. The second stage takes the work performed in the first stage to the next level of detail. By examining business processes, legacy systems, data models and other artifacts, a “Service Case” can be created. This document acts as the formal requirements document for a shared service. The third stage uses the “Service Case” as input to begin digitizing the service contract. This includes creating the interface, policies, Service Level Agreements and consumer documentation.
As more loosely coupled services are defined following the stages above and made available on networks for expanded use and as visual composition and orchestration tools are enhanced, the brittleness of applications-driven business operations gives way to process-driven business operations. In other words, end-to-end process-oriented services can be used to support business requirements – such as an order-to-cash efficiency imperative – to allow for rapid customization and increased flexibility.
SOA introduces many independent and self-contained moving parts – components which are reused widely across the enterprise and are a vital part of mission-critical business processes. The goal of SOA Governance is to manage the quality, consistency, predictability, change and interdependencies of services. SOA Governance strives to blend the flexibility of service orientation with the control of traditional IT architectures.
Here are example questions to be asked and answered to determine the extent to which a service conforms to governance policies and guidelines. Does the service have a responsible owner? How well does the service adhere to the design-time governance policies? How well does the service adhere to the deploy-time governance policies? How well does the service adhere to the run-time governance policies? How well does the service adhere to the change-time governance policies?
An SOA Governance Framework enables an organization to answer the following questions. What happens when a service is changed? How can you be sure the service you are consuming is of high quality? How can you be sure a new service is compliant with IT, business and regulatory policies? How can you ensure predictable uptime of a service?
There are two aspects of a Governance Framework
- Establishing processes that define who is empowered to make certain decisions
- Establishing mechanisms and policies to measure and control the way decisions are implemented
What is IT Governance?IT governance is a subset of Corporate Governance that defines the decision-making rights associated with IT investments. It includes the mechanisms and policies used to measure and control the way IT decisions are prioritized and executed. SOA Governance
Is an extension of IT Governance that defines the decision-making rights associated with the definition and deployment of business services and composite applications. It includes the mechanisms and policies used to measure and control the way services are defined, deployed, maintained and monitored.
Establishing SOA Governance requires you to start by defining the function of SOA governance in your organization. You need to differentiate the various roles involved with making and supporting decisions and you need to construct a decision-making process. You need to develop design and runtime SOA governance policies and their implementations and you need to develop an approach to service life-cycle management.
Any implementation of governance should be centered on the four pillars of an enterprise architecture: people, processes, technology, and services. One mechanism to implement an enterprise IT and SOA governance is by establishing a center of excellence (CoE) for IT and SOA governance that would enable a shared resource and capability center to function as a resource pool as new business application needs arise. Establishing a CoE requires you to start by building a mission and charter for the SOA CoE. This includes determining how best to fund the SOA CoE and how to measure its successes. It also means establishing where the SOA CoE fits within your organization and who should manage it.
Establishing SOA Governance is an essential step in order to expand SOA throughout the enterprise.