Communication styles and protocols
Communication protocols and the data formats carried by those protocols are not design patterns but they are things that need to be decided upon and followed as part of an application design strategy. Hence, they are a fundamental part of any architecture, especially if communication is required across process or the machine boundaries. They are to be considered even more carefully for modern cloud-based implementation architectures.
Before listing the communication protocols, let's look at the most widely used communication methods in the next sections.
Synchronous and asynchronous communication
In an enterprise application setup, there are two main types of communication mode: synchronous and asynchronous. In your C# code, when calling any web service via REST or an RPC method, you may use async calls to invoke the web service on the client-side code. This is basically asynchronous execution on the client side that is applied at the...