1. A method for processing messages, from one or more applications, in a gateway, comprising: standardizing an interface between the one or more applications and the gateway using an abstract queue; receiving, with the abstract queue, an application payload; obtaining at the gateway the application payload from the abstract queue; creating a raw message from the obtained application payload, the raw message including a raw message header and a payload, the raw message header including a message type block, the payload including content of the application payload; and creating a gateway message from the raw message in accordance with the message type provided in the message type block, the gateway message including a gateway message header and the payload, the gateway message header including a unique message identifier block, a target block identifying a simple transaction type associated with the gateway message, and a history block providing a log of what has happened to the gateway message.