Request-Reply
Consumer / Producer with Request - Reply ChannelMultiple Consumers / single producer with Request-Reply Channel
Return Address
Consumer specifying return address in the request message. Producer sends the response to the return address
Request getting consumed by more than one service provider
Correlation Identifier
Each message is having Message Id, CorrelationId, Business Id (ex: orderId)
Provider copies the these id's to the replies
Pipes and Filters
There is always queue / pipe / channel between filters i.e. the sequence of execution
Context-based routers
Based on context routed to multiple service providers and output channels
Splitter
Splitting the messages into individual message consisting data for one item
Splitter-Router
This is combination of splitter and context-based routing
Aggregator
Multiple services responses are combined together by aggregator (example: for completing order we may have to do multiple tasks, aggregate the response and send the response)
Scatter-Gather
Example: Sending quote to multiple lenders and sending final quote that is with lowest rate of interst
Composing Patterns
Combination of Splitter - Scatter-Gather