Goals and Benefits of Service Oriented Computing 1 1

Goals and Benefits of Service-Oriented Computing

It is very important to establish why both vendor and end-user communities within the IT industry are going through the trouble of adopting the service-oriented computing platform and embracing all of the change that comes with it.

The vision behind service-oriented computing is extremely ambitious and therefore also very attractive to any organization interested in truly improving the effectiveness of its IT enterprise. A set of common goals and benefits has emerged to form this vision. These establish a target state for an enterprise that successfully adopts service-orientation.

The upcoming set of sections describe each of these strategic goals and benefits

– Increased Intrinsic Interoperability

– Increased Federation

– Increased Vendor Diversification Options

– Increased Business and Technology Alignment

– Increased ROI

– Increased Organizational Agility

– Reduced IT Burden

It is beneficial to understand the significance of these goals and benefits prior to studying and applying service-orientation so that design principles are consistently viewed within a strategic context. An important message of this Web site (and the SOA: Principles of Service Design book) is that there is a concrete link between successfully applying service-orientation design principles and successfully attaining these specific goals and benefits.

Goals and Benefits of Service Oriented Computing 1 2

Figure: The seven identified goals are inter-related and can be further categorized into two groups: strategic goals and resulting benefits. Increased organization agility, increased ROI, and reduced IT burden are concrete benefits resulting from the attainment of the remaining four goals.

Note that as previously mentioned, the term “SOA” has been used so much in the media and within marketing literature that it has become synonymous with what the entire service-oriented computing platform represents. Therefore, the goals and benefits listed here are frequently associated with SOA as well.

Increased Intrinsic Interoperability

Interoperability refers to the sharing of data. The more interoperable software programs are, the easier it is for them to exchange information. Software programs that are not interoperable need to be integrated. Therefore, integration can be seen as a process that enables interoperability.

A goal of service-orientation is to establish native interoperability within services in order to reduce the need for integration. In fact, integration as a concept begins to fade within service-oriented environments (as further explained on the Service-Orientation and the Concept of “Integration” page).

Increased Intrinsic Interoperability 1 3

Figure: Services are designed to be intrinsically interoperable regardless of when and for which purpose they are delivered. In this example, the intrinsic interoperability of the Invoice and Timesheet services delivered by Project Teams A and B allow them to be combined into a new service composition by Project Team C.

Interoperability is specifically fostered through the consistent application of design principles and design standards. This establishes an environment wherein services produced by different projects at different times can be repeatedly assembled together into a variety of composition configurations to help automate a range of business tasks.

Intrinsic interoperability represents a fundamental goal of service-orientation that establishes a foundation for the realization of other strategic goals and benefits. Contract standardization, scalability, behavioral predictability, and reliability are just some of the design characteristics required to facilitate interoperability, all of which are addressed by the service-orientation principles documented at www.soaprinciples.com.

How specifically service-orientation design principles foster interoperability within services is explained in the Service-Orientation and Interoperability page.

Related Service-Orientation Principles

Standardized Service Contract, Service Loose Coupling, Service Abstraction, Service Reusability, Service Autonomy, Service Statelessnessg, Service Discoverability, Service Composability

Related SOA Patterns

Canonical Protocol, Canonical Schema, Canonical Schema Bus, Capability Recomposition, Contract Centralization, Contract Denormalization, Decoupled Contract, Schema Centralization

Increased Federation

A federated IT environment is one where resources and applications are united while maintaining their individual autonomy and self-governance. SOA aims to increase a federated perspective of an enterprise to whatever extent it is applied. It accomplishes this through the wide spread deployment of standardized and composable services each of which encapsulates a segment of the enterprise and expresses it in a consistent manner.

In support of increasing federation, standardization becomes part of the extra up-front attention each service receives at design time. Ultimately this leads to an environment where enterprise-wide solution logic becomes naturally harmonized, regardless of the nature of its underlying implementation.

Read More:  Service-Oriented Computing in the Real World

Increased Federation 1 4

Figure: Three service contracts establishing a federated set of endpoints, each of which encapsulates a different implementation. When service-oriented solutions are built via the Web services technology platform, the level of attainable federation is further elevated because services can leverage the non-proprietary nature of the technologies themselves. However, even when using Web services the key success factor to achieving true unity and federation remains the application of design principles and standards.

Related Service-Orientation Principles

Standardized Service Contract, Service Loose Coupling, Service Abstraction

Related SOA Patterns

Canonical Expression, Canonical Protocol, Canonical Schema, Canonical Schema Bus, Canonical Versioning, Contract Centralization, Decoupled Contract, Decoupled Contract, Domain Inventory, Enterprise Inventory, Federated Endpoint Layer, Logic Centralization, Official Endpoint, Service Layers, Service Normalization

Increased Vendor Diversification Options

Vendor diversification refers to the ability an organization has to pick and choose “best-of-breed” vendor products and technology innovations and use them together within one enterprise. It is not necessarily beneficial for an organization to have a vendor diverse environment; however, it is beneficial to have the option to diversify when required. To have and retain this option requires that its technology architecture not be tied or locked into any one specific vendor platform.

This represents an important state for an enterprise in that it provides the constant freedom for an organization to change, extend, and even replace solution implementations and technology resources without disrupting the overall, federated service architecture. This measure of governance autonomy is attractive because it prolongs the lifespan and increases the financial return of automation solutions.

By designing a service-oriented architecture in alignment with but neutral to major vendor SOA platforms and by positioning service contracts as standardized endpoints throughout a federated enterprise, proprietary service implementation details can be abstracted to establish a consistent inter-service communications framework. This provides organizations with constant options by allowing them diversify their enterprise as needed.

Increased Vendor Diversification Options 1 5

Figure: A service composition consisting of three services, each of which encapsulates a different vendor automation environment. If service-orientation is adequately applied to the services, underlying disparity will not inhibit their ability to be combined into effective compositions.

Vendor diversification is further supported by taking advantage of the standards-based, vendor-neutral Web services framework. Because they impose no proprietary communication requirements, Web services further decrease dependency on vendor platforms. As with any other implementation medium, though, Web services need to be shaped and standardized through service-orientation in order to become a federated part of an SOA.

Related Service-Orientation Principles

Standardized Service Contract, Service Loose Coupling, Service Abstraction, Service Autonomy

Related SOA Patterns

Asynchronous Queuing, Atomic Service Transaction, Brokered Authentication, Canonical Resrouces, Compensating Service Transaction, Data Confidentiality, Data format Transformation, Data Model Transformation, Data Origin Authentication, Direct Authentication, Enterprise Service Bus, Event-Driven Messaging, File Gateway, Intermediate Routing, Legacy Wrapper, Metadata Centralization, Orchestration, Partial State Deferral, Policy Centralization, Process Centralization, Protocol Bridging, Reliable Messaging, Service Agent, Service Data Replication, Service Facade, Service Grid, Service Refactoring, State Repository, Utility Abstraction

Increased Business and Technology Alignment

The extent to which IT business requirements are fulfilled is often associated with the accuracy with which business logic is expressed and automated by solution logic. Because applications have traditionally been designed to address immediate or tactical requirements, there has historically been a challenge in keeping applications in alignment with business needs when the nature and direction of the business changes.

Service-oriented computing introduces a design paradigm that promotes abstraction on many levels. One of the most effective means by which functional abstraction is applied is the establishment of service layers that accurately encapsulate and represent business models. By doing so, common, pre-existing representations of business logic (business entities, business processes) can exist in implemented form as physical services.

This is accomplished by incorporating a structured analysis and modeling process that requires the hands-on involvement of business subject matter experts in the actual definition of the services (as explained on the Service-Oriented Analysis page). The resulting service designs are capable of aligning automation technology with business intelligence on an unprecedented level.

Read More:  Elements of Service-Oriented Computing

Increased Business and Technology Alignment 1 6

Figure: Services with business-centric functional contexts are carefully modeled to express and encapsulate corresponding business models and logic.

Furthermore, the fact that services are designed to be intrinsically interoperable directly facilitates business change. As business processes are augmented in response to various factors (business climate changes, new competitors, new policies, new priorities, etc.) services can be reconfigured into new compositions that reflect the changed business logic. This allows a service-oriented technology architecture to evolve in tandem with the business itself.

Related Service-Orientation Principles

Standardized Service Contract, Service Reusability, Service Autonomy, Service Discoverability, Service Composability

Related SOA Patterns

Agnostic Capability, Agnostic Context, Canonical Schema, Capability Recomposition, Entity Abstraction, Functional Decomposition, Non-Agnostic Context, Process Abstraction, Schema Centralization, Service Encapsulation, Service Layers

Increased ROI

Measuring the return on investment (ROI) of automated solutions is a critical factor in determining just how cost effective a given application or system actually is. The greater the return, the more an organization benefits from the solution. However, the lower the return, the more the cost of automated solutions eats away at an organization’s budgets and profits.

Because the nature of required application logic has increased in complexity and due to ever-growing, non-federated integration architectures that are difficult to maintain and evolve, the average IT department represents a significant amount of an organization’s overall operational budget. For many organizations, the financial overhead required by IT is a primary concern because it often continues to rise without demonstrating any corresponding increase in business value.

Service-oriented computing advocates the creation of agnostic solution logic – logic that is agnostic to any one purpose and therefore useful for multiple purposes. This multi-purpose or reusable logic fully leverages the intrinsically interoperable nature of services. Agnostic services have increased reuse potential that can be realized by allowing them to be repeatedly assembled into different compositions. Any one agnostic service can therefore find itself being repurposed numerous times to automate different business processes as part of different service-oriented solutions.

With this benefit in mind, additional up-front expense and effort is invested into every piece of solution logic so as to position it as an IT asset for the purpose of repeatable, long-term financial returns. As shown in the following figure, the emphasis on increasing ROI typically goes beyond the returns traditionally sought as part of past reuse initiatives. This has much to do with the fact that service-orientation aims to establish reuse as a common, secondary characteristic within most services.

Increased ROI 1 7

Figure: An example of the types of formulas being used to calculate ROI for SOA projects. More is invested in the initial delivery with the goal of benefiting from increased subsequent reuse.

It is important to acknowledge that this goal is not simply tied to the benefits traditionally associated with software reuse. Proven commercial product design techniques are incorporated and blended with existing enterprise application delivery approaches to form the basis of a distinct set of service-oriented analysis and design processes (as further described on the Service-Oriented Analysis and Service-Oriented Design pages).

Related Service-Orientation Principles

Standardized Service Contract, Service Loose Coupling, Service Abstraction, , Service Reusability, , Service Autonomy, Service Statelessness, Service Discoverability, Service Composability

Related SOA Patterns

Agnostic Capability, Agnostic Context, Canonical Expression, Capability Recomposition, Entity Abstraction, Logic Centralization, Metadata Centralization, Process Abstraction, Redundant Implementation, Service Data Replication, Service Grid, Service Normalization, State Repository, Stateful Services, Utility Abstraction

Increased Organizational Agility

Agility, on an organizational level, refers to efficiency with which an organization can respond to change. Increasing organizational agility is very attractive to corporations, especially those in the private sector. Being able to more quickly adapt to industry changes and outmaneuver competitors has tremendous strategic significance.

An IT department can sometimes be perceived as a bottleneck, hampering desired responsiveness by requiring too much time or resources to fulfill new or changing business requirements. This is one of the reasons agile development methods have gained popularity as they provide a means of addressing immediate, tactical concerns more rapidly.

Service-oriented computing is very much geared toward establishing wide-spread organizational agility. When service-orientation is applied throughout an enterprise, it results in the creation of services that are highly standardized and reusable and therefore agnostic to parent business processes and specific application environments.

Read More:  Conceptual and Physical View of Service-Oriented Computing

As a service inventory is comprised of more and more of these agnostic services, an increasing percentage of its overall solution logic belongs to no one application environment. Instead, because these services have been positioned as reusable IT assets, they can be repeatedly composed into different configurations. As a result, the time and effort required to automate new or changed business processes is correspondingly reduced because development projects can now be completed with significantly less custom development effort.

The net result of this fundamental shift in project delivery is heightened responsiveness and reduced time to market potential, all of which translates into increased organizational agility.

Increased Organizational Agility 1 8

Figure: Another example of a formula used in SOA projects. This time, the delivery timeline is projected based on the percentage of “net new” solution logic that needs to be built. Though in this example only 35% of new logic is required, the timeline is reduced by around 50% because significant effort is still required to incorporate existing, reusable services from the inventory.

Note that organizational agility represents a target state that organizations work toward as they deliver services and populate service inventories. The organization benefits from increased responsiveness after a significant amount of services is in place. The processes required to model and design those services require more upfront cost and effort than building the corresponding quantity of solution logic using traditional project delivery approaches.

It is therefore important to acknowledge that service-orientation has a strategic focus that intends to establish a highly agile enterprise. This is different from agile development approaches that have more of a tactical focus due an emphasis on delivering solution logic more rapidly. From a delivery perspective, service-orientation does not tend to increase agility.

Related Service-Orientation Principles

Standardized Service Contract, Service Loose Coupling, Service Abstraction, , Service Reusability, , Service Autonomy, Service Statelessness, Service Discoverability, Service Composability

Related SOA Patterns

Agnostic Capability, Agnostic Context, Canonical Protocol, Canonical Schema, Canonical Versioning, Capability Recomposition, Enterprise Service Bus, Orchestration, Service Grid, Service Layers, Service Refactoring

Reduced IT Burden

Consistently applying service-orientation results in an IT enterprise with reduced waste and redundancy, reduced size and operational cost, and reduced overhead associated with its governance and evolution. Such an enterprise can benefit an organization through dramatic increases in efficiency and cost-effectiveness.

In essence, the attainment of the previously described goals can create a leaner, more agile IT department; one that is less of a burden on the organization and more of an enabling contributor to its strategic goals.

Reduced IT Burden 1 9

Figure: If you were to take a typical automated enterprise and redevelop it entirely with custom, normalized services, its overall size would shrink considerably, resulting in a reduced operational scope.

Related Service-Orientation Principles

Standardized Service Contract, Service Loose Coupling, Service Abstraction, Service Reusability, Service Autonomy, Service Statelessness, Service Discoverability, Service Composability

Related SOA Patterns

The strategic goals of service-oriented computing represent a target state that service-orientation provides a method of achieving. The successful application of service-orientation helps shape and define requirements for different types of service-oriented architectures that end up establishing an IT automation model designed to fully support the endless two-way cycle of change through which business and IT communities continually transition. Amidst all of this, all SOA design patterns provide proven design solutions and practices that support (and are supported by) service-orientation.