How can a service preserve its functional context while also
fulfilling special capability processing requirements?
Problem
A capability that belongs within a service may have unique
processing requirements that cannot be accommodated by the
default service implementation, but separating capability logic
from the service will compromise the integrity of the service
context.
Solution
The underlying service logic is distributed, thereby allowing the
implementation logic for a capability with unique processing
requirements to be physically separated, while continuing to be
represented by the same service contract.
Application
The logic is moved and intermediary processing is added to act
as a liaison between the moved logic and the main service logic.
Impacts
The distribution of a capabilityˇ¦s logic leads to performance
overhead associated with remote communication and the need
for new intermediate processing.
The logic for the Consolidate operation is relocated to a separate physical environment. A service facade component
interacts with the consolidation logic on behalf of the Invoice service contract.
This page contains excerpts from:
SOA Design Patterns by Thomas Erl
Foreword by Grady Booch
With contributions from David Chappell, Jason Hogg, Anish Karmarkar, Mark Little, David Orchard, Satadru Roy, Thomas Rischbeck, Arnaud Simon, Clemens Utschig, Dennis Wisnosky, and others.
(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)
For more information about this book, visitwww.soabooks.com.
This pattern is also discussed in the following title:
Web Service Contract Design and Versioning for SOA
by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang Kevin Liu, David Orchard, Andre Tost, James Pasley
Foreword by David Chappell
(ISBN: 013613517X, Hardcover, 826 pages)
For more information about this book, visitwww.soabooks.com.