|
|
Service reusability and other principles
|
Service reusability and its relationship with other service-orientation principles.
When a service encapsulates logic that is useful to more than one service requestor, it can be considered reusable. The concept of reuse is supported by a number of complementary service principles, as follows.
|
Service autonomy establishes an execution environment that facilitates reuse because the service has independence and self-governance. The less dependencies a service has, the broader its reuse applicability.
|
|
Service statelessness supports reuse because it maximizes the availability of a service, and typically promotes a generic service design that defers activity-specific processing outside of service logic boundaries.
|
|
Service abstraction fosters reuse because it establishes the black box concept, where processing details are completely hidden from requestors. This allows a service to simply express a generic public interface.
|
|
Service discoverability promotes reuse, as it allows requestors (and those that build requestors) to search for and discover reusable services.
|
|
Service loose coupling establishes an inherent independence that frees a service from immediate ties to others. This makes it a great deal easier to realize reuse.
|
Additionally, the principle of service reuse itself enables the following related principle:
|
Service composability is primarily possible because of reuse. The ability for one service to compose an activity around the utilization of a collection of services is feasible when those services being composed are built for reuse. (It is technically possible to build a service so that its sole purpose is to be composed by another, but reuse is generally emphasized.)
|
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.
|
|
|
|
|