There are different approaches to categorizing MEPs. I'll start with two basic patterns and then explain some others based on these patterns.
Probably the most important pattern for SOA is request/response (sometimes also called request/reply). In this pattern, the consumer sends a request message to the service provider and waits for the provider to send a response message (see Figure 10-1). The response message might contain requested data and/or a confirmation of successful processing of the request.
Figure 10-1. Request/response message exchange pattern
From a consumer's point of view, such a service call is like a remote procedure call (RPC). That is, the consumer is blocked until the response arrives. You can think of this like a telephone conversation, where you ask a question and wait for the answer before continuing.
Exchanging messages according to this pattern has a big advantage: it makes code pretty simple. A service call is handled like any other function or procedure call. When you need some information or need something to be done, you make your request, wait for the answer or confirmation, and then continue with your work, knowing that the problem has been solved.
The drawback of this pattern is that you cannot do anything else while you are waiting for the response. This typically means either that you need a fast response or that running ...