[http://creativecommons.org/licenses/by/3.0/]
This work is licensed under a CC
Attribution 3.0 Unported License [http://creativecommons.org/licenses/by/3.0/]
Loose coupling is often quoted as a desirable property of systems architectures. One of the main goals of building systems using Web technologies is to achieve loose coupling. However, given the lack of a widely accepted definition of this term, it becomes hard to use coupling as a criterion to evaluate alternative Web technology choices, as all options may exhibit, and claim to provide, some kind of loose
coupling effects. This paper presents a systematic study of the degree of coupling found in service-oriented systems based on a multi-faceted approach. Thanks to the metric introduced in this paper, coupling is no longer a one-dimensional concept with loose coupling found somewhere in between tight coupling and no coupling. The paper shows how the metric can be applied to real-world examples in order to support and improve the design process of service-oriented systems.
Technical Foundations of the World Wide Web [http://dret.net/netdret/publications#wil98]
The notion of designing services to be loosely coupled is the most important, the most far reaching, and the least understood service characteristic.
Understanding SOA with Web Services
, Eric Newcomer and Greg Lomow, Addison-Wesley, 2004 [http://www.informit.com/store/product.aspx?isbn=0321180860]
Loose Coupling is the secret sauce of Web services.
Service Orient or Be Doomed!
, Jason Bloomberg and Ronald Schmelzer, Wiley, 2006 [http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471768588.html]
loosely coupled?
Couplingdepends on perspectives and goals
dimensionsbecause they are not completely independent
loosely coupled? What do you mean by that?
tightly coupled? What do you mean by that?
Facet | Tight Coupling | Loose Coupling |
---|---|---|
Discovery [Discovery (1)] | Registration | Referral |
Identification [Identification (1)] | Context-Based | Global |
Binding [Binding (1)] | Early | Late |
Platform [Platform (1)] | Dependent | Independent |
Interaction [Interaction (1)] | Synchronous | Asynchronous |
Interface Orientation [Interface Orientation (1)] | Horizontal | Vertical |
Model [Model (1)] | Shared Model | Self-Describing Messages |
Granularity [Granularity (1)] | Fine | Coarse |
State [State (1)] | Shared, Stateful | Stateless |
Evolution [Evolution (1)] | Breaking | Compatible |
Generated Code [Generated Code (1)] | Static | None/Dynamic |
Conversation [Conversation (1)] | Explicit | Reflective |
a linkfrom other clients
![]()
|
![]()
|
Die Bedeutung eines Wortes ist sein Gebrauch in der Sprache. (The meaning of a word is its use in language.)
Ludwig Wittgenstein [http://en.wikipedia.org/wiki/Ludwig_Wittgenstein], Philosophical Investigations [http://en.wikipedia.org/wiki/Philosophical_Investigations]
, 1953
Model sharingshould be limited as much as possible
deep modelsof data → tight coupling
surface models→ loose coupling
|
![]() |
dumbing downGUIs creates powerful network effects
the best solution
loose coupling
best architectural style
best architecture