1. A method for persisting information associated with performing message-based business processes among a plurality of different applications, comprising: receiving or sending a gateway message at a gateway, the gateway message comprising a message header and a payload, the message header comprising a history block and a security block, and the payload comprising payload information, wherein entries in the history block comprise at least two states, wherein the at least two states comprise a first state of processing a transaction and a second state of processing the transaction, wherein the first state preceded the second state in the history of processing the transaction, wherein entries in the security block comprise information associated with security of the message and indicating what is encrypted or digitally signed in the message and by which entity, and wherein the entries in the security block are not encrypted, persisting the entries in the history block in a data store of the gateway; persisting the entries in the security block in the data store of the gateway; and persisting the payload in the data store of the gateway.