Service API Patterns, Protocols, Coupling Types, Metrics > Service API Proxy and Gateway Patterns > Protocol Bridging
How can a service exchange data with consumers that use different communication protocols?
Services using different communication protocols or different versions of the same protocol cannot exchange data. When disparity between wire-level protocols exists, some form of intermediary program is required to “bridge” these differences. The Protocol Bridging pattern provides the design solution to overcome transport or messaging protocol differences. Protocol bridging technology is used to overcome the disparity between different communications frameworks by enabling the runtime conversion of protocols.
The consumer programs (left) cannot access the service because the communication protocols used by the consumers are not supported by the service. The service only accepts messages encoded in JSON and transmitted via HTTP version 1.1. To resolve these protocol issues, the consumer programs interact with a middle-tier broker (as part of an ESB) that provides protocol bridging features. Separate protocol adapters are used to translate the two incompatible protocols to the required JSON over HTTP 1.1. The broker that carries out the protocol bridging transmits the messages to the service on behalf of the consumers.