|
|
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.
|
|
|
|
|