Spring Integration is an API from the creators of the Spring Framework that’s geared towards Enterprise Application Integration (EAI). When it comes to integration, there is no shortage of “solutions”: hard coded Java clients, other ESBs, and more traditional application integration technologies like message queues. Spring Integration offers improvements on every case, sometimes in dramatic ways! Spring Integration is very lightweight, and easily tested. It has almost no barrier to entry, and is conceptually going to be simpler than any “I’ll just write it myself” solution. In the long run, it’s much more flexible and resilient. The instinct to just write it yourself can be suppressed. Spring Integration works with standard technologies like EJB, RMI, and JMS, and enhances them by allowing you to model complex solutions in one place. This simplifies the use of those technologies considerably. Because Spring Integration is so lightweight (you deploy the Spring Integration server with your application; you don’t deploy your application to Spring Integration) and so focused on the development life cycle (XML schemas to facilitate configuration, POJO-friendly APIs, and strong integration with the Spring Framework and JEE), you’ll find Spring Integration a better fit than a lot of other ESBs.