1. A method for performing message-based business processes among a plurality of applications, comprising: storing configuration data in a data store in a gateway comprising at least one processor and non-transitory memory, the configuration data comprising information defining at least one simple transaction that can be performed by the gateway; receiving a gateway message at the gateway through an abstract queue that supports multiple different message transmission protocols, the gateway message comprising a gateway message header and a payload, the gateway message header comprising a routing slip element that contains a template of a complex transaction in which the gateway message is participating, the complex transaction comprising a plurality of simple transactions performed in a defined order, where each simple transaction describes transmission of the message between a source and a destination and a reply if required; executing at the gateway comprising the at least one processor, at least one of the simple transactions of the complex transaction in accordance with the template in the routing slip element and the configuration data in the data store.