This document discusses enterprise application integration (EAI), which seeks to provide efficient, reliable data exchange between multiple enterprise applications. EAI involves integrating various types, including information portals, data replication, shared business functions, service-oriented architecture, and distributed business processes. The main challenges with integration are that networks are unreliable and slow, and any two applications are different. Common integration approaches include file transfer, shared databases, remote procedure invocation, and messaging. Messaging in particular allows for high-speed, asynchronous, and reliable integration through send-and-forget and store-and-forward communication.