Home > SOA Glossary > Coupling


Coupling refers to a relationship or connection between two things. If two things do not have a connection, they are considered decoupled. If they do have a connection, they are considered coupled, which then raises the question as to what the extent of the coupling is.

Something that is coupled to something else may rely on the other thing's existence, which means that the coupling results in a dependency. The extent of coupling therefore may relate to the extent of dependency one thing has on another. This measure of dependency is often communicated with the terms "tight coupling" and "loose coupling," the former indicating a high level of dependency and the latter representing a low degree of dependency.

Coupling can be unidirectional, as in the case where thing A is coupled to thing B and thing B is not coupled to thing A. In this situation, only thing A has formed a dependency. In a bi-directional coupling scenario, both things form dependencies on each other, although the extent of each thing's dependency may vary.

In service-orientation, the emphasis is on the coupling between a service contract and its underlying implementation and on the coupling between service contract and service consumers that bind to this contract. The implications of coupling within and between services and the different forms of coupling that exist are all associated with the Service Loose Coupling design principle.


See Also: