SOA Governance

Service-oriented defines a method of integrating business applications and processes as linked services.Here we’ll see what constitute the SOA governance, including definitions of related terms like

  • Governance
  • Corporate governance
  • IT governance

Definition of service-oriented architecture

Service-oriented architecture (SOA) is an architectural style particularly suitable for an enterprise IT architecture that leverages the principles of service orientation to achieve a tighter relationship between business needs and the IT systems that support those needs. SOA supports a natural way of thinking about the organizations we operate and the world in which we live. In our daily lives, wedepend on services provided by other organizations, departments, and people.Booking an automobile in for a maintenance service or invoking a mechanic to repair a car’s radiator are services that we rely on in our lives. We know very little about how the service is fulfilled or managed, but we do know how to engage or invoke the service.

Very often our perception of the quality of that service is dependent on how little we need to know about the internal working of theservice and the extent to which it meets our functional (quality of work) and nonfunctional (timeliness, reliability, and so forth) needs. Alternatively, specific definitions of SOA varying with the person’s organizational role and context (business, architecture, implementation, and operational) are outlined here:From a business perspective, SOA defines a set of business services composed to capture the business design that the enterprise wants to expose internally, as well as to its customers and partners.From an architectural perspective, SOA is an architectural style that supports service orientation.From an implementation level, SOA is fulfilled using a standards-based infrastructure, programming model, and technologies, such as Web services.From an operational perspective, SOA includes a set of relationships and agreements between service consumers and providers that specify the quality of service, as well as reporting on the key business and IT metrics.Service definitionThere is no industry agreed upon standard definition of a service in SOA. A service is representative of a repeatable business task. A business service, such as managing an order, can be made up of sub processes, such as:

  • Capture the order (input)
  • Process the order (operate)
  • Dispatch the order (output)

Using a top-down methodology, you identify a business process and then, within that process, the set of tasks that are performed. A reasonable claim is that the tasks in a business process are services and the business process is a composition of services.Services have the potential to become more granular (for example, more discrete tasks) as the tasks within a composite service are in turn understood and potentially decomposed. For example, capture order can be a discrete business service, or it can be a composite business service made up of other services, such as capture the customer details.The ability for services to become more and less granular is only one important consideration in SOA governance and management. There are few agreed upon industry standards or principles that can be applied to validate a service. Compliance with some of the generally agreed upon industry principles and technical standards provides a baseline opportunity to validate a service.Generally agreed upon service validation principles include:

Loose coupling

Loosely coupling between a service provider and consumers means minimizing the number of things that a consumer needs to know about the provider or vice versa. Where loose coupling is not achieved, a change made to any aspect of a service relationship (provider and consumer) will either result in a change to the consumer or the provider (or, possibly, both). If a change is made by any party (the consumer, provider, or mediating infrastructure) to any aspect of a service that is decoupled, there should be no need to make subsequent changes in the other parties. Loose coupling is an important service validation principle, because it:– Reduces support costs, the impact of changes in business processes, and IT applications, and enhances adaptability– Reduces dependencies between applications, for example, to improve availability and managability of user applicationsLocation transparency is a technical aspect of loose coupling. The consumer does not require explicit knowledge of where the service is executed.

Encapsulation

Access to functions and data must be through a well-defined interface that forms a contract between the service provider and the service consumer. Encapsulation hides any data or behavior in the service implementation that is specific only to the internal working of the service and irrelevant to the service consumer.

Stateless

The expectation that a service provider remembers a transient state relevant to a particular consumer adds complexity to service providers. Avoidance of complexity promotes the opportunity to provide more readily scalable and highly available service providers at a lower unit cost.

Technology neutral

Consumers on any platform must be able to invoke services provided on any platform. Services are the first class citizens of a service-oriented architecture. An organization will need to establish additional principles and standards to validate any service as being worthy of investment, development, and maintenance. The establishment, assessment, and maintenance of such principles and standards is a function of SOA governance.