Contents

imagesContents at a Glance

imagesAbout the Authors

imagesAbout the Technical Reviewers

imagesAcknowledgments

imagesIntroduction

imagesChapter 1: Enterprise Application Integration Fundamentals

Integration of Data and Services Between Disparate Systems

Integration Between Information Silos

Integration Between Companies

Integration with Users

Challenges

Technology

People

Approaches

File Transfer

Shared Database

Remote Procedure Calls

Messaging

Event-Driven Architectures

SEDA (Staged Event-Driven Architecture)

EAI Architecture

Domination by Proprietary Solutions

webMethods (Active Software)

Tibco

Vitria

IBM MQSeries

SonicMQ

Axway Integrator

Oracle SOA Suite

Microsoft BizTalk

EAI Patterns

Spring Integration Framework

Summary

imagesChapter 2: Exploring the Alternatives

A Basic Example of Integration

Mule ESB

Philosophy and Approach

Implementing the Integration Example

ServiceMix

Philosophy and Approach

Implementing the Integration Example

OpenESB (GlassFish)

Philosophy and Approach

Implementing the Integration Example

DIY Architecture, or How Not to Do an Integration

Philosophy and Approach

Implementing the Integration Example

How Do They Compare?

Ease of Use

Maintainability

Extensibility

Summary

imagesChapter 3: Introduction to Core Spring Framework

Core Spring API Components

The Inversion of Control Container

Spring Container Metadata Configuration

Multiple Configuration Resources

Instantiating the IoC Container

Bean Instantiation from the IoC Container

Constructor Injection

Bean References and Setter Injection

Static and Instance Factory Injection

Bean Scopes

Customizing Bean Initialization and Disposal

Simplifying Configuration with Bean Autowiring

Autowiring Beans byType

Autowiring Beans by Annotation

Differentiating Auto-Wired Beans

Autowiring by Name

Automatically Discovering Beans on the Classpath

Further Reducing XML with Java Configuration

Making Beans Aware of the Container

Externalizing Bean Property Values

Internationalization (i18n) Using MessageSource

Aspect-Oriented Framework

Aspect-Oriented Programming with AspectJ

Declaring Aspects with AspectJ Annotations

Defining Advice Order

Introducing Behaviors to Your Beans

Writing Custom Spring Namespaces

Writing the Namespace Handler

The Spring Expression Language

Features of the Language Syntax

Uses of the Language in Your Configurations

Summary

imagesChapter 4: Introduction to Enterprise Spring

Data Access Framework

Selecting a Relational Model

Configuring an Embedded Data Source

Configuring a Remote Data Source

Basic JdbcTemplate Usages

JdbcTemplate Callback Interfaces

Using JdbcTemplate to Query

Integrating Hibernate 3 and Spring

Configuring a Hibernate SessionFactory

The Hibernate Template

Persistence with Hibernate in a JPA Context

Configuration and Usage of JpaTemplate

Using JPA EntityManagers Directly

Transaction Management Framework

Spring Transaction Management

Controlling Transaction Propagation with the TransactionStatus Interface

Introduction to PlatformTransactionManager and Implementations

Setting Up Transaction Control with TransactionTemplate

Declaring Transactions with Transaction Advices

Declarative Transaction Managing with the @Transactional Annotation

Spring Remoting

Exposing and Invoking Services with RMI

Summary

imagesChapter 5: Introduction to Spring Integration

Spring Integration Basics

History

Familiar Spring Idioms

Low Coupling, High Productivity

Messages

Message Channels

Message Endpoints

Event-Driven Architecture

First Steps for Spring Integration

How to Set Up Your IDE

Starting Your First Spring Integration Project

Using Spring Roo to Bootstrap Your Project

Using SpringSource Tool Suiteā€™s Visual Support

Playing Well With Others

Spring Batch

Spring BlazeDS

Summary

imagesChapter 6: Channels

EAI Message Channel Patterns

Point-to-Point Channel

Publish-Subscribe Channel

Data-Typed Channel

Invalid Message Channel

Dead Letter Channel

Channel Adapter

Messaging Bridge

Message Bus

Guaranteed Delivery

Choosing a Channel Instance

Point-to-Point Channel

Publish-Subscribe Channel

Channel Interceptors

MessagingTemplate

Configuring a Message Channel

QueueChannel

PriorityChannel

RendezvousChannel

DirectChannel

ExecutorChannel

PublishSubscribeChannel

ChannelInterceptor

Backing Up a Channel

Summary

imagesChapter 7: Transformations and Enrichment

The Canonical Data Model Concept

Spring Integration Transformer

Transforming a Message

Built-In Transformers

Leveraging Transformations in Integration

Header Enrichers

Message Mappers: Moving Transformation into the Framework

Method-Mapping Transformation

ConversionService

Summary

imagesChapter 8: Message Flow: Routing and Filtering

Message Flow Patterns

Router

Filter

Splitter

Aggregator

Resequencer

Message Flows Using Spring Integration

Filters

Splitter

Aggregator

Message Handler Chain

Message Bridge

Workflow

Software Processes

Introducing Activiti, an Apache 2 Licensed BPMN 2 Engine

Configuring Activiti with Spring

The Spring Integration Inbound Activiti Gateway

Summary

imagesChapter 9: Endpoints and Adapters

Messaging Endpoint API

Polling and Event-Driven Consumers

Message Assignment vs. Message Grab

Synchronous and Asynchronous Services

Polling Consumers

Event-Driven Consumers

ConsumerEndpointFactoryBean

Service Activator

Spring Integration Adapters

File System Adapters

Database (JDBC) Adapters

JMS Adapters

Web Services Adapters

Custom Adapters

Configuring an Adapter Through the XML Namespace

Configuring Adapters with STS

Messaging Gateways

Spring Integration Support for Gateways

Asynchronous Gateways

Gateways Receiving No Response

Inbound/Outbound Gateways via JMS

Secure Channels

Summary

imagesChapter 10: Monitoring and Management

Error Handling

History in EAI and MOM: The Dead Letter Queue

The Error Channel in Spring Integration

JMX

Basic Monitoring for Your Application

Exposing Your Services Through JMX

Measuring Performance

Hyperic

Wire Tap

Message History

Control Bus

Summary

imagesChapter 11: Talking to the Metal

File System Integration

File Adapter

Native Event File Adapter

TCP and UDP Integration

Stream Processing

Stdin and Stdout

Following a Log File

FTP/FTPS and SFTP

FTP

SFTP

Spring Integration's Remote File System Abstractions

Spring Integration's File System Abstractions

JDBC

JDBC Inbound Channel Adapter

JDBC Outbound Channel Adapter

JDBC Outbound Gateway

Summary

imagesChapter 12: Enterprise Messaging with JMS and AMQP

JMS Integration

JMS Brokers

JMS Channel Adapters

JMS Gateway

JMS-Backed Message Channel

AMQP Integration

SpringSourceRabbitMQ

Apache Qpid

Other Messaging Systems

Amazon SQS

Kestrel MQ

Kafka

Summary

imagesChapter 13: Social Messaging

E-mail

IMAP and IMAP-IDLE

POP3

SMTP

XMPP

Twitter

News Feed

Summary

imagesChapter 14: Web Services

Maven Dependencies

XML Schema

Configuring a Web Services Inbound Gateway

Configuring Web Services Endpoints

Payload Extraction with DOM

Invoking Web Services Using an Outbound Gateway

Web Services and XML Marshalling

WSDL Options

Outbound Web Services Gateway with XML Marshalling

Summary

imagesChapter 15: Extending Spring Integration

Inbound Adapters

Writing an Event-Driven Adapter

Writing a Polling Adapter

Outbound Adapters

Packaging Your Adapters for Reuse

Building a Namespace for the File System Monitoring Adapter

Building a Namespace for the Polling Adapter

Building a Namespace for the Outbound Channel Adapter

Summary

imagesChapter 16: Scaling Your Spring Integration Application

Introducing Scalability

Concurrency

Java SE

Java EE

Spring Framework

Scaling the Middleware

Message Broker

Web Services

Database

Scaling State in Spring Integration

Claim Check Pattern

MessageGroupStore

Summary

imagesChapter 17: Spring Integration and Spring Batch

What Is Spring Batch?

Setting Up Spring Batch

Reading and Writing

Retry

Transaction and Rollback

Concurrency

Launching a Job

Event-Driven Batch Processing

Launching Jobs with Spring Integration

Partitioning

Spring Batch Admin

Summary

imagesChapter 18: Spring Integration and Your Web Application

HTTP Adapters and Gateways

HTTP Adapter and Gateway Namespace Support

HTTP Adapter and Gateway Example

Multipart Support

Spring Integration, Comet, and the Asynchronous Web

Spring Integration, Flex, and BlazeDS

Summary

imagesIndex

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.242.157