NEWS >> << NEWS
Return to Home Page

Introduction to
Service-Orientation
    Services (Part I)
    Services (Part II)
    The Service-Orientation
Design Paradigm
    Origins and Influences of Service-Orientation (Part I)
    Origins and Influences of Service-Orientation (Part II)

Service-Orientation
Design Principles
    Standardized Service Contracts
    Service Loose Coupling
    Service Abstraction
    Service Reusability
    Service Autonomy
    Service Statelessness
    Service Discoverability
    Service Composability
    Service-Orientation and Interoperability

Effects of Service-Orientation on the Enterprise
    Service-Orientation and the Concept of "Application"
    Service-Orientation and the Concept of "Integration"
    The Service Composition

Service-Orientation
in the Real World
    Life Before
Service-Orientation (Part I)
    Life Before
Service-Orientation (Part II)
    The Need for
Service-Orientation (Part I)
    The Need for
Service-Orientation (Part II)
    Challenges Introduced by Service-Orientation (Part I)
    Challenges Introduced by Service-Orientation (Part II)
    Additional Considerations

Resources
    SOA Book Series
    SOA Training & Certification
    Free SOA Principles Poster
    Notification
    SOAPatterns.org
    WhatIsSOA.com
    SOA Visio Stencil


Life Before Service-Orientation (Part I)

Home > Service-Orientation in the Real World > Life Before Service-Orientation (Part I)

Note: It is fully acknowledged that past design paradigms have advocated similar principles and strategic goals as service-orientation. Several of these design approaches, in fact, directly inspired or influenced service-orientation (as explained on the Origins and Influences of Service-Orientation page). The following discussion is focused specifically on the silo-based design approach because it has persisted as the most common means by which applications are delivered.

To best appreciate why service-orientation has emerged and how it is intended to improve the design of automation systems, we need to compare before and after perspectives. By studying some of the common issues that have historically plagued IT we can begin to understand the solutions proposed by this design paradigm.

In the world of business it makes a great deal of sense to deliver solutions capable of automating the execution of business tasks. Over the course of IT’s history the majority of such solutions have been created with a common approach of identifying the business tasks to be automated, defining their business requirements, and then building the corresponding solution logic.


Figure: A ratio of one application for each new set of automation requirements has been common.

This has been an accepted and proven approach to achieving tangible business benefits through the use of technology and has been successful at providing a relatively predictable return on investment.


Figure: A sample formula for calculating ROI is based on a predetermined investment with a predictable return.

The ability to gain any further value from these applications is usually inhibited because their capabilities are tied to specific business requirements and processes (some of which will even have a limited lifespan). When new requirements and processes come our way we are forced to either make significant changes to what we already have or build a new application altogether.

In the latter case, although repeatedly building "disposable applications" is not the perfect approach, it has proven itself as a legitimate means of automating business. Let’s explore some of the lessons learned by first focusing on the positive.
- Solutions can be built efficiently because they only need to be concerned with the fulfillment of a narrow set of requirements associated with a limited set of business processes.
- The business analysis effort involved with defining the process to be automated is straight forward. Analysts are focused only on one process at a time and therefore only concern themselves with the business entities and domains associated with that one process.
- Solution designs are tactically focused. Although complex and sophisticated automation solutions are sometimes required, the sole purpose of each is to automate just one or a specific set of business processes. This predefined functional scope simplifies the overall solution design as well as the underlying application architecture.
- The project delivery lifecycle for each solution is streamlined and relatively predictable. Although IT projects are notorious for being complex endeavors, riddled with unforeseen challenges, when the delivery scope is well-defined (and doesn’t change), the process and execution of the delivery phases have a good chance of being carried out as expected.
- Building new systems from the ground up allows organizations to take advantage of the latest technology advancements. The IT marketplace progresses every year to the extent that we fully expect technology we use to build solution logic today to be different and better tomorrow. As a result, organizations that repeatedly build disposable applications can leverage the latest technology innovations with each new project.
continued on next page...
The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    SOA School    What is SOA?    SOA Patterns    SOA Methodology    SOA Glossary    SOA Specs    Legal
Copyright © 2007-2009 SOA Systems Inc.