1. A method for performing message-based business processes among a plurality of applications, comprising: receiving a gateway message at the gateway, the gateway message including a gateway message header and a payload, the gateway message header including a routing slip block providing a template of a complex transaction in which the gateway message is participating, the complex transaction comprising one or more simple transactions performed in a defined order; persisting a copy of the received gateway message in a data store in the gateway; executing at the gateway at least one simple transaction in accordance with the template in the routing slip in the received gateway message; and persisting a copy of the gateway message, after executing the at least one simple transaction, in the data store.