- What is SOA
- Fundamental Design Terminology and Concepts
- Elements of Service-Oriented Computing
- Goals and Benefits of Service-Oriented Computing
- Service-Oriented Computing in the Real World
- Service-Orientation Principles
- Overview
- Introduction to Service-Orientation
- Service-Orientation Design Principles
- Effects of Service-Orientation on the Enterprise
- Service-Orientation in the
Real World
- SOA Manifesto
- Video of Announcement
- Become a Signatory
- SOA Manifesto (Original)
- SOA Manifesto (Annotated)
- About the Manifesto
- SOA Planning
- Four Pillars of Service-Orientation
- Levels of Organizational Maturity
- SOA Funding Models
- SOA Project Fundamentals
- Project and Lifecycle Stages
- Overview
- SOA Adoption Planning
- Service Inventory Analysis
- Service-Oriented Analysis (Service Modeling)
- Service-Oriented Design (Service Contract)
- Service Logic Design
- Service Development
- Service Testing
- Service Deployment and Maintenance
- Service Usage and Monitoring
- Service Discovery
- Service Versioning and Retirement
- Organizational Roles
- Overview
- Service Analyst
- Service Architect
- Service Developer
- Service Custodian
- Cloud Service Owner
- Service Administrator
- Cloud Resource Administrator
- Schema Custodian
- Policy Custodian
- Service Registry Custodian
- Technical Communications Specialist
- Enterprise Architect
- Enterprise Design Standards Custodian (and Auditor)
- SOA Quality Assurance Specialist
- SOA Security Specialist
- SOA Governance Specialist
- Other Roles
- Service Profiles
- Project and Lifecycle Stages
- SOA Methodology
- Overview
- Service Models
- Delivery Processes
- SOA Governance
- SOA Patterns
- Overview
- Design Pattern Basics
-
Design Patterns (alphabetical)
- Overview
- Agnostic Capability
- Agnostic Context
- Agnostic Sub-Controller
- Asynchronous Queuing
- Atomic Service Transaction
- Brokered Authentication
- Canonical Expression
- Canonical Protocol
- Canonical Resources
- Canonical Schema
- Canonical Versioning
- Capability Composition
- Capability Recomposition
- Compatible Change
- Compensating Service Transaction
- Composition Autonomy
- Concurrent Contracts
- Content Negotiation
- Contract Centralization
- Contract Denormalization
- Cross-Domain Utility Layer
- Data Confidentiality
- Data Format Transformation
- Data Model Transformation
- Data Origin Authentication
- Decomposed Capability
- Decoupled Contract
- Direct Authentication
- Distributed Capability
- Domain Inventory
- Dual Protocols
- Endpoint Redirection
- Enterprise Inventory
- Entity Abstraction
- Entity Linking
- Event-Driven Messaging
- Exception Shielding
- File Gateway
- Functional Decomposition
- Idempotent Capability
- Intermediate Routing
- Inventory Endpoint
- Legacy Wrapper
- Lightweight Endpoint
- Logic Centralization
- Message Screening
- Messaging Metadata
- Metadata Centralization
- Multi-Channel Endpoint
- Non-Agnostic Context
- Partial State Deferral
- Partial Validation
- Policy Centralization
- Process Abstraction
- Process Centralization
- Protocol Bridging
- Proxy Capability
- Redundant Implementation
- Reliable Messaging
- Reusable Contract
- Rules Centralization
- Schema Centralization
- Service Agent
- Service Callback
- Service Data Replication
- Service Decomposition
- Service Encapsulation
- Service Façade
- Service Grid
- Service Instance Routing
- Service Layers
- Service Messaging
- Service Normalization
- Service Perimeter Guard
- Service Refactoring
- State Messaging
- State Repository
- Stateful Services
- Termination Notification
- Trusted Subsystem
- UI Mediator
- Utility Abstraction
- Validation Abstraction
- Version Identification
-
Design Patterns (by category)
- Foundational Inventory Patterns
- Logical Inventory Layer Patterns
- Inventory Centralization Patterns
- Inventory Implementation Patterns
- Inventory Governance Patterns
- Foundational Service Patterns
- Service Implementation Patterns
- Service Security Patterns
- Service Contract Design Patterns
- Legacy Encapsulation Patterns
- Service Governance Patterns
- Capability Composition Patterns
- Service Messaging Patterns
- Composition Implementation Patterns
- Service Interaction Security Patterns
- Transformation Patterns
- REST-inspired Patterns
- SOA Glossary
- Master List
- A - B
- active (primary state)
- agnostic capability
- agnostic context
- agnostic logic
- agnostic sub-controller
- alternative format
- asynchronous queuing
- atomic service transaction
- best practice
- brokered authentication
- business aligned (organizational maturity level)
- business driven (organizational maturity level)
- C - D
- canonical expression
- canonical protocol
- canonical resources
- canonical schema
- canonical schema bus
- canonical versioning
- capability composition
- capability composition patterns
- capability granularity
- capability recomposition
- cloud
- cloud computing
- cloud delivery models
- cloud deployment models
- cloud resource administrator
- cloud service owner
- common compound design patterns
- compatible change
- compensating service transaction
- complex composition
- component
- composition autonomy
- composition controller
- composition implementation patterns
- composition initiator
- composition member
- composition member capability
- composition sub-controller
- compound design pattern
- complex service activity
- concurrent contracts
- constraint granularity
- contemporary SOA
- context (state information type)
- context data (context data type)
- context rules (context data type)
- contract centralization
- contract denormalization
- contract-to-functional coupling
- contract-to-implementation coupling
- contract-to-logic coupling
- contract-to-technology
- coupling
- composition controller capability
- core service logic coupling
- cross-domain utility layer
- data confidentiality
- data format transformation
- data granularity
- data model standardization
- data model transformation
- data origin authentication
- decomposed capability
- decoupled contract
- default namespace
- design-time autonomy
- design characteristic
- design paradigm
- design pattern
- design pattern catalog
- design pattern language
- design principle
- design standard
- designated controller
- direct authentication
- distributed capability
- domain inventory
- dual protocols
- E - F
- enterprise architect
- enterprise design standards custodian (and auditor)
- enterprise inventory
- enterprise service bus
- entity abstraction
- entity linking
- entity service
- event-driven messaging
- exception shielding
- expanded name
- functional expression standardization
- federated endpoint layer
- file gateway
- foundational inventory patterns
- foundational service patterns
- four pillars of service-orientation
- functional decomposition
- functional meta data
- I - J
- K - L
- M - N
- O - P
- official endpoint
- orchestration
- organizational maturity levels
- partial state deferral
- partial validation
- passive (primary state)
- point-to-point
- policy centralization
- policy custodian
- primitive SOA
- primitive service activity
- platform (service inventory) funding
- process abstraction
- process centralization
- programmatic logic meta data
- protocol bridging
- proxy capability
- Q - R
- S - T
- schema centralization
- schema custodian
- schema standardization
- service
- service abstraction
- service activity
- service administrator
- service agent
- service aggressive level (organizational maturity level)
- service analyst
- service architect
- service autonomy
- service aware (organizational maturity level)
- service broker
- service callback
- service candidate
- service capability
- service capable (organizational maturity level)
- service capability candidate
- service catalog
- service composability
- service composition
- service composition candidate
- service contract
- service contract design patterns
- service custodian
- service data replication
- service decomposition
- service developer
- service description document
- service discoverability
- service encapsulation
- service facade
- service funding
- service governance patterns
- service granularity
- service grid
- service ineffectual (organizational maturity level)
- service implementation patterns
- service instance routing
- service interaction security patterns
- service inventory
- service inventory blueprint
- service layers
- service loose coupling
- service messaging
- service messaging patterns
- service method
- service model
- service modeling
- service neutral (organizational maturity level)
- service normalization
- service operation
- service-orientation
- service-oriented analysis
- service-oriented architecture
- service-oriented computing
- service-oriented design
- service-oriented solution logic
- service perimetergguard
- service portfolio
- service refactoring
- service registry custodian
- service reusability
- service security patterns
- service statelessness
- session (state information type)
- standardized service contract
- state messaging
- state repository
- stateful (primary state condition)
- stateful services
- stateless (primary state condition)
- target namespace
- task service
- technical communications specialist
- technology meta data
- termination notification
- three-layer inventory
- transformation patterns
- transport caching
- trusted subsystem
- U - V
- W - Z
- Service Technology Specs
- SOA School
Service Loose Coupling
"Service contracts impose low consumer coupling requirements and
are themselves decoupled from their surrounding environment."
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 1 - Coupling represents a core design consideration that spans both intra and inter-service design.
SOA Principles of Service Design by Thomas Erl - 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