🗓️ 05042024 1232
Background
- Problem: connecting an application to send / receive messages
 

Pattern
TLDR
Use a Channel Adapter to decouple logic for interacting with a messageChannel
QUOTE
Example: Stock Trading
- A stock trading system may wish to keep a log of all of a stock's prices in a database table
 - Channel-to-RDBMS
- relational database adapter that logs each message from a channel to a specified table and schema
 
 - Internet-to-channel adapter
- The system may also be able to:
- Recieve external quote requests from the Internet (TCP/IP or HTTP)
 - Send them on its internal quote-request channel with the internal quote requests
 
 
 - The system may also be able to:
 
Example: Commercial EAI Tools
- Commercial EAI vendors provide a collection of Channel Adapters as part of their offerings
 - Having adapters to all major application packages available simplifies development of an integration solution greatly
 - Most vendors also provide more generic database adapters as well as software development kits (SDK's) to develop custom adapters
 
Example: Legacy Platform Adapters
- A number of vendors provide adapters from common messaging system to legacy systems executing on platforms such as as UNIX, MVS, OS/2, AS/400, Unisys, and VMS
 - Most of these adapters are specific to a certain messaging system
 - For example, Envoy Technologies' 
EnvoyMQis a Channel Adapter that connects many legacy platforms with MSMQ- Components:
- Client that runs on the legacy computer
 - Server that runs on a Windows computer with MSMQ
 
 
 - Components:
 
References
- Enterprise Integration Patterns by Gregor Hohpe, Bobby Woolf