|
|
Service-orientation and Object-orientation (Part III)
|
Service autonomy
![](1pixel.gif)
The quality of autonomy is more emphasized in service-oriented design than it has been in OO. Achieving a level of independence between units of processing logic is possible through service-orientation, by leveraging the loosely coupled relationship between services. Cross-object references and inheritance-related dependencies within OO designs support a lower degree of object-level autonomy.
Service statelessness
![](1pixel.gif)
Objects within OO platforms consist of a combination of class and data, and are naturally stateful. Promoting statelessness within services therefore tends to deviate from typical OO design. Although it is possible to create stateful services and stateless objects, the principle of statelessness is generally more emphasized with service-orientation.
Service discoverability
![](1pixel.gif)
Designing class interfaces to be consistent and self-descriptive is another OO best practice that improves a means of identifying and distinguishing units of processing logic. These qualities also support reuse by allowing classes to be more easily discovered. Discoverability is another principle more emphasized by the service-orientation paradigm. It is encouraged that service contracts be as communicative as possible to support discoverability at design time and runtime.
This page contains excerpts from:
![](1pixel.gif)
Service-Oriented Architecture:
Concepts, Technology, and Design
by Thomas Erl
![](1pixel.gif)
(ISBN: 0131858580, Prentice Hall/PearsonPTR, Hardcover, 792 pages).
For more information, visit www.soabooks.com.
|
|
|
|
|