Chapter 13. Enterprise integration

 

This chapter covers

  • Shared database integration using Spring Data JPA
  • Integrating web services with Spring Data REST
  • Messaging via Spring Integration with RabbitMQ and JavaMail

An enterprise of any size might have hundreds of different software systems, such as monitoring tools, ticketing systems, collaboration platforms, and so forth. And if it appears that there isn’t much rhyme or reason to the specific mix of tools, that’s often because there isn’t. In a perfect world, there might be a fixed set of business processes, and the systems chosen to support those processes would play nicely together. But this isn’t a perfect world.

There are many reasons why the systems in an environment might be a jumbled mess. Among them:

  • Business needs change. Those changes drive tool changes.
  • Different teams in an organization have different tool preferences.
  • A single vendor may offer a highly integrated tool suite, but the IT organization may prefer a best-of-breed tool strategy, or may prefer to keep multiple vendors in the game just to keep any one vendor from gaining too much leverage.
  • Throw in some vendor-sponsored lunches, events, and outings, and suddenly the systems start to look as if they were deliberately chosen not to work together!

Those are some of the realities of enterprise IT. And despite the difficulty, the need for systems integration is very much alive and well.

13.1. A whirlwind tour of Spring Integration

13.2. Integrating applications via a shared database

13.3. Decoupling applications with RESTful web services

13.4. Implementing a message bus using RabbitMQ and Spring Integration

13.5. Sourcing tickets from an IMAP store

13.6. Send confirmation messages over SMTP

13.7. Summary