All Service Broker applications communicate through conversations -- reliable, long-running, asynchronous exchanges of messages. Service Broker uses the following objects for conversations.
Messages are the data exchanged between services. Each message belongs to one conversation, and has a specific message type.
Dialogs are bidirectional conversations between two Service Broker services. Dialogs allow Service Broker to provide exactly-once-in-order (EOIO) message delivery. Each dialog belongs to one conversation group, and follows a specific contract.
Conversation groups identify conversations that work together to complete the same task. Service Broker uses conversation groups to manage message locking, which helps software developers manage concurrency. Application developers also use conversation groups to help with state management.