SOA Patterns > Inventory Implementation Patterns > Dual Protocols
Dual Protocols (Erl)
How can a service inventory overcome the limitations of its canonical protocol while still remaining standardized?
Problem
Canonical Protocol requires that all services conform to the use of the same communications technology; however, a single protocol may not be able to accommodate all service requirements, thereby introducing limitations.
Solution
The service inventory architecture is designed to support services based on primary and secondary protocols.
Application
Primary and secondary service levels are created and collectively represent the service endpoint layer. All services are subject to standard service-orientation design considerations and specific guidelines are followed to minimize the impact of not following Canonical Protocol.
Impacts
This pattern can lead to a convoluted inventory architecture, increased governance effort and expense, and (when poorly applied) an unhealthy dependence on Protocol Bridging. Because the endpoint layer is semi-federated, the quantity of potential consumers and reuse opportunities is decreased.
Principles
Standardized Service Contract, Service Loose Coupling, Service Abstraction, Service Autonomy, Service Composability
Architecture
Inventory, Service
An enterprise partitioned into domain service inventories, each representing a pre-defined domain.
Related Patterns in This Catalog
Canonical Protocol, Concurrent Contracts, Contract Centralization, Logic Centralization, Protocol Bridging, Redundant Implementation
Related Service-Oriented Computing Goals
Increased Intrinsic Interoperability, Increased Organizational Agility, Increased Vendor Diversification Options, Reduced IT Burden