Patent ID: 8615601

Claim:
A system for communicating with a plurality of heterogeneous systems comprising: a processor; a service bus, executing on the processor, interacting with a plurality of heterogeneous systems, wherein the service bus receives messages from one or more clients, and uses a plurality of adapters to interact with the heterogeneous systems, and wherein the service bus converts the messages into different protocols as used by the heterogeneous systems; configuration information describing a core state for the service bus; a service broker, on the service bus, which queues and forwards the messages from the clients to the heterogeneous systems, based on metadata in the messages, and wherein the heterogeneous systems can be included or excluded by changing information in the service broker; a plurality of services hosted by the service bus, including one or more services which interact with a plurality of the heterogeneous systems, wherein each of the plurality of services defines a plurality of message processing stages including a transformation stage which includes nested flow control structures to select a transformation to be performed that changes a context, a routing stage which combines flow control structures to define a single endpoint to route each of the messages to, and a publish stage which determines a set of endpoints and operations to publish the messages to, wherein changes to the context are isolated to each published endpoint; and a service proxy hosted by the service bus that invokes an external service not hosted by the bus; wherein the core state defines behavior of the service bus and maintains changes after the transformation finishes.