Enterprise Integration Patterns
Conversation Patterns
HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT
Conversation Patterns
Introduction to Basic ConversationsConversation Patterns » Basic Conversations

Once two or more parties have detected their respective conversation partners and negotiated a connection, they can begin the "real" conversation. Frequently, the initial steps of setting up a conversation are handled by the infrastructure or a lower-level protocol, so that this part of the conversation is sometimes called the application-level conversation in contrast to the infrastructure-level conversation, which deals with the aspects of the conversation that are needed, but do not support the conversation partners in exchanging application-level information.

Basic conversations consist of two conversation partners, the service consumer and the service provider. They engage in a variety of conversation patterns, which differ in the following design aspects:

PatternDirectionAsynchronousMulti-MessageTerminationError Handling
Fire-and-Forgetunidirectionalprovidersingleimplicitnone
Asynchronous Request-Responsebidirectionalprovidertwoimplicitnone
Request-Response with Retrybidirectionalprovidermultipleimplicitretry
Pollingbidirectionalprovidermultipleimplicitnone
Subscribe-Notifybidirectionalconsumer & providermultipleexplicitnone
Quick Acknowledgmentbidirectionalproviderthreeimplicitnone

The conversation patterns in this chapter can stand on their own, but are also frequently combined into larger conversations. As such they form an important vocabulary to more easily describe complex conversations.