You are previewing Pro Spring Integration.
O'Reilly logo
Pro Spring Integration

Book Description

Pro Spring Integration is an authoritative book from the experts that guides you through the vast world of Enterprise Application Integration and application of the Spring Integration framework towards solving integration problems. The book is:

  • An introduction to the concepts of Enterprise Application Integration

  • A reference on building event-driven applications using Spring Integration

  • A guide to solving common integration problems using Spring Integration

What makes this book unique is its coverage of contemporary technologies and real-world information, with a focus on common problems that users are likely to confront. This book zeros in on extending the Spring Integration framework to meet your custom integration demands.

As Spring Integration is an extension of the Spring programming model it builds on the Spring Framework's existing support for enterprise integration. This book will take you through all aspects of this relationship and show you how to get the best out of your Spring applications, where integration is a consideration. It discusses simple messaging within Spring-based applications and integration with external systems via simple adapters. Those adapters provide a higher-level of abstraction over Spring's support for remoting, messaging, and scheduling, all of which receives coverage in this book.

What you'll learn

  • Introduces the wide world of Spring Integration with an overview of application integration, the patterns involved and then quickly moving into applications

  • How to identify integration problems that are best solved using Spring Integration and enterprise application integration (EAI)

  • Discover and apply EAI patterns and related architectural concepts like staged event driven architectures (SEDA)

  • Explore the concepts behind message-oriented middleware (MOM)

  • How to interface with external systems using Spring Integration

  • Extend the Spring Integration stack with custom adapters, endpoints, and more

  • What are the next steps to production with expert insight into error handling, monitoring, management, and scaling the enterprise Java application

What you'll learn

This book is for any developer looking for a more natural way to build event-driven applications using familiar Spring idioms and techniques. The book is also geared towards architects seeking to better their applications and increase productivity in their developers.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Authors
  6. About the Technical Reviewers
  7. Acknowledgments
  8. Introduction
    1. Who This Book Is For
    2. How This Book Is Structured
  9. CHAPTER 1: Enterprise Application Integration Fundamentals
    1. Approaches
    2. EAI Architecture
    3. Domination by Proprietary Solutions
    4. EAI Patterns
    5. Summary
  10. CHAPTER 2: Exploring the Alternatives
    1. A Basic Example of Integration
    2. Mule ESB
    3. ServiceMix
    4. OpenESB (GlassFish)
    5. DIY Architecture, or How Not to Do an Integration
    6. How Do They Compare?
    7. Summary
  11. CHAPTER 3: Introduction to Core Spring Framework
    1. Customizing Bean Initialization and Disposal
    2. Simplifying Configuration with Bean Autowiring
    3. Automatically Discovering Beans on the Classpath
    4. Making Beans Aware of the Container
    5. Internationalization (i18n) Using MessageSource
    6. Aspect-Oriented Framework
    7. Writing Custom Spring Namespaces
    8. The Spring Expression Language
    9. Summary
  12. CHAPTER 4: Introduction to Enterprise Spring
    1. Data Access Framework
    2. Basic JdbcTemplate Usages
    3. Integrating Hibernate 3 and Spring
    4. Persistence with Hibernate in a JPA Context
    5. Transaction Management Framework
    6. Spring Transaction Management
    7. Spring Remoting
    8. Summary
  13. CHAPTER 5: Introduction to Spring Integration
    1. Spring Integration Basics
    2. First Steps for Spring Integration
    3. Playing Well With Others
    4. Summary
  14. CHAPTER 6: Channels
    1. EAI Message Channel Patterns
    2. Choosing a Channel Instance
    3. Channel Interceptors
    4. MessagingTemplate
    5. Configuring a Message Channel
    6. Backing Up a Channel
    7. Summary
  15. CHAPTER 7: Transformations and Enrichment
    1. The Canonical Data Model Concept
    2. Spring Integration Transformer
    3. Leveraging Transformations in Integration
    4. Header Enrichers
    5. Message Mappers: Moving Transformation into the Framework
    6. Summary
  16. CHAPTER 8: Message Flow: Routing and Filtering
    1. Message Flow Patterns
    2. Message Flows Using Spring Integration
    3. Message Handler Chain
    4. Message Bridge
    5. Workflow
    6. Summary
  17. CHAPTER 9: Endpoints and Adapters
    1. Messaging Endpoint API
    2. Service Activator
    3. Spring Integration Adapters
    4. Configuring an Adapter Through the XML Namespace
    5. Configuring Adapters with STS
    6. Messaging Gateways
    7. Secure Channels
    8. Summary
  18. CHAPTER 10: Monitoring and Management
    1. Error Handling
    2. JMX
    3. Measuring Performance
    4. Hyperic
    5. Wire Tap
    6. Message History
    7. Control Bus
    8. Summary
  19. CHAPTER 11: Talking to the Metal
    1. File System Integration
    2. TCP and UDP Integration
    3. Stream Processing
    4. FTP/FTPS and SFTP
    5. JDBC
    6. Summary
  20. CHAPTER 12: Enterprise Messaging with JMS and AMQP
    1. JMS Integration
    2. AMQP Integration
    3. Other Messaging Systems
    4. Summary
  21. CHAPTER 13: Social Messaging
    1. E-mail
    2. XMPP
    3. Twitter
    4. News Feed
    5. Summary
  22. CHAPTER 14: Web Services
    1. Maven Dependencies
    2. XML Schema
    3. Configuring a Web Services Inbound Gateway
    4. Invoking Web Services Using an Outbound Gateway
    5. Web Services and XML Marshalling
    6. WSDL Options
    7. Summary
  23. CHAPTER 15: Extending Spring Integration
    1. Inbound Adapters
    2. Outbound Adapters
    3. Packaging Your Adapters for Reuse
    4. Summary
  24. CHAPTER 16: Scaling Your Spring Integration Application
    1. Introducing Scalability
    2. Concurrency
    3. Scaling State in Spring Integration
    4. Summary
  25. CHAPTER 17: Spring Integration and Spring Batch
    1. What Is Spring Batch?
    2. Event-Driven Batch Processing
    3. Launching Jobs with Spring Integration
    4. Partitioning
    5. Spring Batch Admin
    6. Summary
  26. CHAPTER 18: Spring Integration and Your Web Application
    1. HTTP Adapters and Gateways
    2. Spring Integration, Comet, and the Asynchronous Web
    3. Spring Integration, Flex, and BlazeDS
    4. Summary
  27. Index