Using messaging as a medium to integrate with external systems can often be a challenging task. There are various issues to consider, including the complexity of connection mechanisms and the transformation of the message formats produced by different systems. In addition, organizations usually have disparate system interactions, e.g., booking trades against external brokers, fetching data files from an intra-site file systems, consuming messages from an external JMS, or posting a company CEO’s feed to Twitter. You will need to write integration adapters, either developing them in-house or buying them off the shelf.
As these are common organizational requirements, the ideal solution would be an open-source framework that can be extended or configured according to the needs of an individual or an organization. Spring Integration is this ideal framework that provides many adapters out of the box.
All adapters are very similar—working as inbound and outbound adapters. Inbound adapters fetch files or database resultsets. Outbound adapters do the opposite, taking the messages off the channels and converting them to files, then transferring them onto a file system or database record to persist them to the database.
The fundamentals are explained in the first section—File Adapters. The other adapters work in similar ways, except for differences related to underlying resources where the artifacts are picked up or published to.