Introduction
 About this Site
 About the Principles

Common Principles of Service-Orientation
 Service reusability
 Service contract
 Service loose coupling
 Service abstraction
 Service composability
 Service autonomy
 Service statelessness
 Service discoverability

How Service-Orientation Principles Inter-relate
 Service reusability
 Service contract
 Service loose coupling
 Service abstraction
 Service composability
 Service autonomy
 Service statelessness
 Service discoverability

Service-Orientation and Related Principles and Paradigms
 Separation of Concerns
 Object-Orientation (Part I)
 Object-Orientation (Part II)
 Object-Orientation (Part III)

More
 Advanced
   service-orientation

 Submit your opinions
 Training for SOA and
   Service-Orientation
 About the author
Service-orientation and Object-orientation (Part II)
Service loose coupling

Although the creation of interfaces somewhat decouples a class from its consumers, coupling in general is one of the primary qualities of service-orientation that deviates from object-orientation. The use of inheritance and other OO principles encourages a much more tightly coupled relationship between units of processing logic when compared to the service-oriented design approach.

Service abstraction

The OO principle of abstraction requires that a class provide an interface to the external world, and that it be accessible via this interface. Encapsulation supports this by establishing the concept of information hiding, where any logic within the class outside of what is exposed via the interface is not accessible to the external world. Service abstraction accomplishes much of the same as OO abstraction and encapsulation. Its purpose is to hide the underlying details of the service, so that only the service contract is available and of concern to service requestors.

Service composability

OO supports association concepts, such as aggregation and composition. These, within a loosely coupled context, are also supported by service-orientation. For example, the same way a hierarchy of objects can be composed, a hierarchy of services can be assembled through service composability.

This page contains excerpts from:

Service-Oriented Architecture:
Concepts, Technology, and Design

by Thomas Erl

(ISBN: 0131858580, Prentice Hall/PearsonPTR, Hardcover, 792 pages).

For more information, visit
www.soabooks.com.
Opinions

"Service-orientation is an important complement to object-orientation that applies the lessons learned from component software, message-oriented middleware and distributed object computing.

Service-orientation differs from object-orientation primarily in how it defines the term "application."

Object-oriented development focuses on applications that are built from interdependent class libraries.

Service-oriented development focuses on systems that are built from a set of autonomous services.

This difference has a profound impact on the assumptions one makes about the development experience."


- Don Box, Microsoft






www.soasystems.com

Copyright © 2005-2007 SOA Systems Inc.