implementing changes that span multiple services. For example, let’s imagine that you are implementing a story that requires changes to services A, B, and C, where A depends upon B and B depends upon C.
each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. Components in a loosely coupled system can be replaced with alternative implementations that provide the same services.
High behavioral coupling requires a provider to evolve its service offerings in response to changed consumer requirements. Temporal The degree to which the sending and handling of a message are connected in time A sender is dependent on a receiver being available when a message is sent http://iansrobinson.com/2009/04/27/temp oral-and-behavioural-coupling/
than that of the least available participant. The probability of failure is the joint probability of failure in any component or service. Michael Nygard - Release It!
Caller and callee execute at their own pace Format autonomy Caller and callee may use different formats of data exchanged Platform autonomy Caller and callee may be in different environments, written in different languages,… Reference autonomy F. Leymann - Loose Coupling and Architectural Implications
independently, with different languages and platforms. The enterprise needs to share data and processes in a responsive way. How can I integrate multiple applications so that they work together and can exchange information?
of distributed systems. Sending a message does not require both systems to be up and ready at the same time. Use Messaging to transfer packets of data frequently, immediately, reliably, and asynchronously, using customizable formats.
developers to recognize that working with a remote application is slower, which encourages design of components with high cohesion (lots of work locally) and low adhesion (selective work remotely).