Lecture 7: EAI Flashcards
Enterprise Integration
Making separate applications work together to produce a unified set of functionality
Message Construction Patterns
- Correlation Identifier
- Message Sequence Pattern
Correlation Identifier
Each reply message should contain a correlation identifier that indicates which request message this reply is for
Message Sequence Pattern
Break the message into chunks with sequence identification fields
Messaging Channel Patterns
- Point-to-Point Channel
- Publish-Subscribe Channel
Point-to-Point Channel
- Only one receiver will receive the message
- Aka queue
- Priority queue or message queue (request buffer)
Publish-subscribe channel
- Creates copies
- Aka Topic
Message Endpoint Patterns
- Polling Consumer
- Event-driven Consumer
- Competing Consumers
- Message Dispatcher
Polling Consumer
Makes a call when it wants to receive a message (continuous polling)
Event-Driven Consumer
- Automatically handles messages when they come available
- Asynchronous messaging solution
Competing Consumers
- Load balancing by channel to spread the messages concurrently over the consumers
Message Dispatcher
- Based on the content of the message, the dispatcher can select the correct performer
Message Routing Patterns
- Content Based Router
- Recipient List
- Dynamic Router
- Message Filter
- Pipes and Filters
- Splitter
- Aggregator
- Scatter-Gather
Content based Router
Returns message to correct receiver based on content
Recipient List
- Useful when routing knowledges changes frequently (dynamic routing)
- Recipient list inspects each incoming message (determine list of recipients)
- Recipient channel (message is forwarded to all channels with the recipients in the list)
- Update routing rules