1. A method for routing application-level messages in a message routing network, comprising: (a) providing a message routing network for exchanging application-level messages between a plurality of services, said message routing network being built on an open platform overlaying a public network and managing said plurality of services, each of said services being accessible by others of said plurality of services according to properties and permissions associated with each service in said plurality of services; (b) invoking a first service among the plurality of services during a logical routing of an application-level message in said message routing network, said logical routing allowing said first service to modify a route or a context for said message without said message being physically delivered to said first service, said first service invocation having a first context; and (c) invoking a second service among the plurality of services during said logical routing of said message in said message routing network, said logical routing allowing said second service to modify a route or a context for said message without said message being physically delivered to said second service, said second service invocation having a second context that is defined at least in part by said first service; said logical routing determined by an evaluation of routing scripts defined by individual ones of said plurality of services such that each of said services is capable of including one or more others of said plurality of services in said logical routing without being included in a route for physical delivery of said message.