This chapter will introduce the main concepts surrounding SOA Governance and set out the goals and aspirations for the governance effort. We will focus on the key objectives and benefits of an SOA Governance framework and discuss the steps necessary to introduce and enforce such a framework.
Service Oriented Architecture (SOA) is a strategy for constructing business-focused software systems from loosely coupled, interoperable building blocks (called services) that can be combined and re-used quickly, within and between enterprises, to meet business needs.
Oracle defines SOA Governance as an agile and efficient decision and accountability framework, to effectively direct and assist in realizing the benefits of SOA, while encouraging a cultural evolution in how an organization delivers SOA to the enterprise.
SOA Governance defines the interaction between policies (what), decision makers (who), and processes (how).
In order to implement a successful SOA Governance, organizations need to understand how to align processes, people, and tools in order to maximize business benefits.
But what does it mean to deliver business benefits? In simplistic terms, it means creating reusable assets and eliminating liabilities.
In SOA terms, Assets are electronic artifacts such as APIs, XML documents (XSDs, WSDLs, or XSLTs), documents (requirements, designs, and so on), systems, and services that add measurable value to the business. For example, a service that supports multi-channel submission of sales orders delivers value in the form of cost savings by way of re-use. Should a new channel be introduced at a later date, let's say mobile apps, the existing service can potentially be re-used thus avoiding the costs of defining, designing, building, and testing a service specific to the new channel.
Assets are usually electronically stored in a repository and can be associated with other Assets. Throughout the chapters of this book, Assets will be elaborated further and concepts such as asset types and asset taxonomies will be described.
Liabilities on the other hand are duplicated, deprecated, redundant, or unused Assets that no longer deliver business benefits and potentially introduce additional cost. For example, having several services delivering identical functionality represents a liability since the total cost of supporting and running each service exceeds the cost of having a single-consolidated service.
Challenges that prevent organizations from realizing the benefits of SOA can also be considered as a liability. The following table lists some of the most common challenges and their consequence to the business:
Understanding the goal of SOA Governance is an important step forward; however, it is not a guarantee for success. A successful governance implementation must tick several boxes and answer several questions, such as: