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

Additional Resources
    SOA Sites
    SOA Book Series
    SOA Training & Certification
    Free SOA Principles Poster
    Notification


Introduction to Service-Orientation

Origins and Influences of Service-Orientation (Part II)

...continued from previous page
Business Process Management (BPM)

BPM places a significant emphasis on business processes within the enterprise both in terms of streamlining process logic to improve efficiency and also to establish processes that are adaptable and extensible so that they can be augmented in response to business change.

The business process layer represents a core part of any service-oriented architecture. From a composition perspective, it usually assumes the role of the parent service composition controller. The advent of orchestration technology reaffirmed this role from an implementation perspective.

A primary goal of service-orientation is to establish a highly agile automation environment fully capable of adapting to change. This goal can be realized by abstracting business process logic into its own layer, thereby alleviating other services from having to repeatedly embed process logic.

While service-orientation itself is not as concerned with business process reengineering, it fully supports process optimization as a primary source of change for which services can be recomposed.

Enterprise Application Integration (EAI)

Integration became a primary focal point in the late 90's, and many organizations were ill prepared for it. Numerous systems were built with little thought given to how data could be shared outside of the system boundary. As a result, point-to-point integration channels were often created when data sharing requirements emerged. This led to well known problems associated with a lack of stability, extensibility, and inadequate interoperability frameworks.

EAI platforms introduced middleware that allowed for the abstraction of proprietary applications through the use of adapters, brokers, and orchestration engines. The resulting integration architectures were, in fact, more robust and extensible. However, they also became notorious for being overwhelmingly complex and expensive, as well as requiring long-term commitments to the middleware vendor's platform and roadmap.

The advent of the open Web services framework and its ability to fully abstract proprietary technology changed the face of integration middleware. Vendor ties could be broken by investing in mobile services as opposed to proprietary platforms, and organizations gained more control over the evolution of their integration architectures.

Several innovations that became popularized during the EAI era were recognized as being useful to the overall goals associated with building SOA using Web services. One example is the broker component, which allows for services using different schemas representing the same type of data to still communicate through runtime transformation. The other is the orchestration engine, which can actually be positioned to represent an entire service layer within larger SOA implementations. These parts of the EAI platform support several service-orientation principles, including Service Abstraction, Service Statelessness, Service Loose Coupling, and Service Composability.

Aspect-Oriented Programming (AOP)

A primary goal of AOP is to approach the separation of concerns with the intent of identifying specific concerns that are common to multiple applications or automation scenarios. These concerns are then classified as "cross-cutting," and the corresponding solution logic developed for cross-cutting concerns becomes naturally reusable.

Aspect-orientation emerged from object-orientation by building on the original goals of establishing reusable objects. Although not a primary influential factor of service-orientation, AOP does demonstrate a common goal in emphasizing the importance of investing in units of solution logic that are agnostic to business processes and applications and therefore highly reusable. It further promotes role-based development, allowing developers with different areas of expertise to collaborate.

This page contains excerpts from:

SOA: Principles of Service Design
by Thomas Erl

ISBN: 0132344823, Prentice Hall/PearsonPTR, Hardcover
240+ Full Color Illustrations, 573 pages

Download the free Color SOA Principles Poster at www.soaposters.com.
For more information about this book, visit
www.soabooks.com.
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-2008 SOA Systems Inc.