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
Services are autonomous
Autonomy requires that the range of logic exposed by a service exist within an explicit boundary. This allows the service to execute self-governance of all its processing. It also eliminates dependencies on other services, which frees a service from ties that could inhibit its deployment and evolution. Service autonomy is a primary consideration when deciding how application logic should be divided up into services, and which operations should be grouped together within a service context.

Deferring the location of business rules is one way to strengthen autonomy and keep services more generic. Processes generally assume this role by owning the business rules that determine how the process is structured and, subsequently, how services are composed to automate the process logic. (This is another aspect of orchestration explored in the Orchestration service layer in Chapter 9.)



Autonomous services have
control over underlying resources.

Note that autonomy does not necessarily grant a service exclusive ownership of the logic it encapsulates. It only guarantees that at the time of execution the service has control over whatever logic it represents. We can therefore make a distinction between two types of autonomy:

Service-level autonomy � Service boundaries are distinct from each other, but the service may share underlying resources. For example, a wrapper service that encapsulates a legacy environment that is also used independently from the service has a service-level autonomy. It governs the legacy system, but also shares resources with other legacy clients.

Pure autonomy � The underlying logic is under complete control and ownership of the service. This is typically the case when the underlying logic is built from the ground up in support of the service.

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 forces us to change how we think about what exactly an application is.

Though more traditional definitions will continue to be valid, as more enterprises become service enabled, the notion of application will apply more to assembled or composite applications that are pulled together from services."


- Jef Newsom, Improving Enterprises, LLC






www.soasystems.com

Copyright © 2005-2007 SOA Systems Inc.