It can be beneficial to create more than one layer of Messaging Gateways. The “lower-level” Messaging Gateway can simply abstract the syntax of the messaging system but maintain generic messaging semantics, for example, SendMessage. This Messaging Gateway can help shield the rest of the application when the enterprise changes messaging technologies, for example, from MSMQ to Web services.

