What this book covers
Chapter 1, Getting Started, explains how to set up the Eclipse IDE, a "Hello World" program, and a brief introduction of how Spring ROO can ease the configuration aspects even further. This will help overcome configuration nightmares and warm up developers to a hands-on experience.
Chapter 2, Message Ingestion, introduces channels through which messages can be read and processed. It describes the point-to-point and pub-sub models, which one is best suited for a given scenario, how errors can be handled in a decoupled manner on a channel, and finally how in-memory channels can be backed up with persistence for failover and recovery solutions.
Chapter 3, Message Processing, explains how to define components that can apply business logic on messages, introduces decoupled logging that can used for auditing, and discusses adding transactional behavior.
Chapter 4, Message Transformers, deals with processing message formats, its conversion to a homogenous format, and how annotations can help keep the configurations clean. Messages can be introduced in heterogeneous formats such as XML, JSON, and so on that need to be converted to a format understood by the system.
Chapter 5, Message Flow, will introduce flow aspects to messages such as filtering messages that do not comply to validation rules, routing them to an error branch, splitting messages, and redirecting them to components appropriate for their processing—waiting for incomplete payloads, aggregating partial messages, and finally the chaining of business processing handlers.
Chapter 6, Integration with External Systems, will give a hands-on overview of integration points. Integration with external systems is the most interesting and powerful aspect of Spring Integration—interaction with external systems is a matter of a few lines of configuration. Spring Integration has introduced adapters, gateways, and other components that make it a breeze to interact with filesystems, SQL, NoSQL persistence store, HTTP services, and other widely used external entities such as different servers, social media, and so on.
Chapter 7, Integration with Spring Batch, will introduce how to use Spring Integration and batch module for scheduling, triggering, and monitoring batch jobs.
Chapter 8, Testing Support, will explain how to leverage the readily available mocks for different components, what to test, and how much to test.
Chapter 9, Monitoring, Management, and Scaling Up, will cover using Spring Integration configuration to leverage JMX to get performance statistics of different configured components in the system. We will also peek into ways to scale up Spring Integration components.
Chapter 10, An End-to-End Example, has an end-to-end hands-on example that will help you to recollect concepts introduced in different chapters and reassert their understanding. Code will be pushed to a social repository as GitHub, but this chapter will give users enough instructions to use it and run it.