Home > Service-Orientation Design Principles > Service Loose Coupling
|
Coupling refers to a connection or relationship between two things. A measure of coupling is comparable to a level of dependency. This principle advocates the creation of a specific type of relationship within and outside of service boundaries, with a constant emphasis on reducing (“loosening”) dependencies between the service contract, its implementation, and its service consumers.

The principle of Service Loose Coupling promotes the independent design and evolution of a service’s logic and implementation while still guaranteeing baseline interoperability with consumers that have come to rely on the service’s capabilities. There are numerous types of coupling involved in the design of a service, each of which can impact the content and granularity of its contract. Achieving the appropriate level of coupling requires that practical considerations be balanced against various service design preferences.


Figure: Coupling represents a core design consideration that spans both intra and inter-service design.

Chapter 7: Service Coupling (Intra-Service and Consumer Dependencies) provides an in-depth exploration of this principle and introduces related patterns and concepts.

|
Related Service-Orientation Computing Goals

Increased Intrinsic Interoperability, Increased Federation, Increased Vendor Diversification Options, Increased ROI, Increased Organizational Agility, Reduced IT Burden

|
Related SOA Patterns

Asynchronous Queuing, Capability Composition, Capability Recomposition, Compatible Change, Compensating Service Transaction, Concurrent Contracts, Contract Centralization, Contract Denormalization, Data Format Transformation, Decoupled Contract, Dual Protocols, Entity Abstraction, Event-Driven Messaging, File Gateway, Intermediate Routing, Inventory Endpoint, Legacy Wrapper, Messaging Metadata, Multi-Channel Endpoint, Partial Validation, Policy Centralization, Process Abstraction, Proxy Capability, Schema Centralization, Service Agent, Service Callback, Service Decomposition, Service Facade, Service_instance_routing, Service Messaging, Service Perimeter Guard, Service Refactoring, Trusted Subsystem, UI Mediator, Utility Abstraction, Validation Abstraction

|
|