Windows Azure Service Bus helps provide connectivity across network and organizational boundaries. This flexibility helps developers connect applications and services in the cloud or on-premises. This includes applications running on Windows Azure, Windows Server, or another platform.
Service Bus provides security-enhanced connectivity between loosely coupled services and applications, helping enable them to navigate firewalls or network boundaries and to use a variety of communication patterns. Services that register on Service Bus can easily be discovered and accessed across any network topology.
Service Bus functionality is exposed via the SDKs for .NET, Node.js, Java, PHP, and Python, as well as REST-based APIs that can be used from any language or platform. The Eclipse Java plugin enables any Java app to use Service Bus – including apps running on Tomcat, JBoss, Jetty, and Glassfish.
An organization may not be ready to move its entire system from an on-premises data center to the cloud platform in one piece. This organization can consider an enterprise reporting application that the organization runs on-premises.
However, the organization may want to provide its sales force with the flexibility to update the sales database with real-time sales information from the field. The organization can choose to use Service Bus to send messages that contain these updates. This scenario is depicted in the following illustration.
Cloud platforms should provide a secured migration path that preserves existing investments, and they should enable the coexistence of on-premises software and cloud services.
Windows Azure facilitates application components hosted on disparate infrastructure (such as on Windows Azure, on-premises, or on other cloud providers such as Amazon Web Services EC2) to seamlessly connect and function as a single system for end users.
Because Service Bus is accessible via standard protocols, the entire on-premises (enterprise) infrastructure does not need to be deployed to Windows Azure in a single piece. Some components of an on-premises infrastructure can be moved to Windows Azure incrementally while others can continue to remain on-premises. This flexibility makes migration easier.
The following schematic illustrates the way that Service Bus can be used to connect disparate applications or create a composite application that spans infrastructure boundaries.
Service Bus and Windows Azure Active Directory Access Control are both based on industry standards. Service Bus offers a lightweight, developer-friendly programming model that supports standard protocols such as SOAP and REST. Access Control is provided as a flexible standards-based service that supports the Web Resource Authorization Protocol (WRAP) profiles in OAuth (also known as OAuth WRAP). Access Control supports multiple credentials, including X.509 certificates, and standard protocols, including REST.