Integration Strategies
You may have seen applications reading configuration from a file system, persisting data to a database, sending messages to an external client, publishing email, FTPing daily snapshots, and performing other routine tasks. Whether you know it or not, your application is talking to different systems—File System, Database, email, FTP, etc. You may even have developed some sort of adapter that will integrate your application with these external systems.
Integrating disparate systems is not an uncommon task. Before the advent of integration frameworks, there were common strategies in the integration space. The most popular strategies are:
Shared File Systems: Two or more applications share a common file system; one may write to it while the other may poll the file system to read it. The sender and receiver are decoupled in this case. This solution certainly works, but has drawbacks like performance, reliability, and dependency on the File system.
Single Database: In this strategy, applications share the data from a single database. One application writes data to the table while the other simply reads from the table. The drawback is that this setup forces applications to use a unified schema throughout the organization. Shared databases also pose a few other issues, such as network lag and lock contention.
Messaging: This strategy mainly encourages and supports sender-receiver decoupling. A sender application sends a piece of data enclosed in a message to a messaging ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access