As we saw in Chapter 2, a messaging application sends and/or receives messages. In this chapter, I introduce a grammar for describing the message exchange between messaging participants. The terms used when describing a message exchange depend on the level of granularity you wish to describe. MEPs are the most granular way to describe the message exchange between two messaging participants. The three most widely known MEPs are datagram, request/reply, and duplex. MEPs may be grouped among messaging participants into message topologies. Furthermore, a set of message exchanges can fit a predefined message choreography. In the next chapter, we will see how the major architectural components of a WCF application fit together.