How to change the communication behavior of devices participating in a network with an already defined topology? This question describes the fundamental problem, which the Message Encapsulation Pattern aims to solve. Network participants usually follow a client - server, or peer to peer based communication model. This model uses a dedicated application layer protocol, which defines the message types exchanged by the communicating devices. In client - server based models, the client sends requests to and receives responses from the server, thus constituting a one - way message exchange. This setup can be changed by using a different application layer protocol, or by tunneling the messages of the application layer protocol through an underlying bidirectional protocol layer. With both approaches, a peer to peer communication can be achieved. However, tunneling the existing application layer protocol has the advantage that the application does not need to change its message parsing. This tunneling approach can be found in various domains. It is not only used in the context of Internet services, but can also be found in the communication between the single components of System on Chips (SoCs), or the smart card to terminal interaction. This paper describes, how the Message Encapsulation Pattern works, its advantages and disadvantages, and how it can be used.
|Title of host publication||Proceedings of the 23rd European Conference on Pattern Languages of Programs|
|Publication status||Published - Jul 2018|