Windows Azure Service Bus provides a hosted, secure, and widely available infrastructure for widespread communication, large-scale event distribution, naming, and service publishing. Service Bus provides connectivity options for Windows Communication Foundation (WCF) and other service endpoints – including REST endpoints — that would otherwise be difficult or impossible to reach. Service Bus Queues support a brokered messaging communication model. When using queues, components of a distributed application do not communicate directly with each other, they instead exchange messages via a queue, which acts as an intermediary. A message producer (sender) hands off a message to the queue and then continues its processing.
Service Bus queues are a general-purpose technology that can be used for a wide variety of scenarios:
- Communication between web and worker roles in a multi-tier Windows Azure application
- Communication between on-premises apps and Windows Azure hosted apps in a hybrid solution
- Communication between components of a distributed application running on-premises in different organizations or departments of an organization
The Windows Azure AppFabric Service Bus September 2011 (version 1.5) release introduces enhancements to the Service Bus such as “brokered” messaging capabilities, through namespace entities represented by queues, topics and subscriptions. The Brokered Messaging infrastructure enables to build an Event-driven distributed Service Oriented Architecture, Distributed Asynchronous Cloud Notifications and Intra-Application Messaging. Basically, it can be useful anywhere where a loosely decouple messaging is required such as Queuing and Publish-Subscribe messaging across both on-promises and cloud targets.
From the abstraction point of the view, the Azure Service Bus represents a logical connectivity between the event sources and their consumers using a loosely decouple model. The consumers need to subscribe their interest to the Service Bus in prior of receiving a specific event interest. This metadata (subscriptions) represents a logical connectivity for event interest; they are stored on the cloud a managed by tools and/or specific client applications.