Skip Navigation LinksAzure Developers Guide > Azure Service Bus > Brokered Messaging > Managing Messaging Artifacts

Training Courses

All course material is in English, and courses are delivered in English. Feel free to contact me for further information. cloudcasts.net@gmail.com

Managing Messaging Artifacts

Service Bus queues topics and subscriptions are created in a service bus name space and accessed using the URI for the queue in that namespace. If a queue with the name orderqueue is created in the appfabricdevguide namespace in the Service Bus environment the URI for the queue will be as follows.

sb://appfabricdevguide.servicebus.windows.net/orderqueue

Entity Immutability

Once a queue, topic or subscription has been created in a Service Bus namespace it is immutable and cannot be modified. This means that it is not possible to change any of the properties on a messaging entity once created. For development and test purposes this does not present a problem as it’s quick and easy to create and delete messaging entities.

In production scenarios if the properties for a queue have not been set with appropriate properties and they need to be changed it will mean the queue will have to be deleted and recreated, or a new queue created and applications configured to communicate with it. Either of these scenarios could result in a break in communication between line-of-business applications.

When creating messaging artifacts is it wise to carefully consider the settings before they are used in production systems.

Management Interfaces

There are a number of options for managing Service Bus queues. .NET developers will typically opt for the direct programming model whilst administrators may want to use the sample PowerShell provider, for cross platform compatibility a REST model is provided. The management portal can also be used for basic management scenarios.

AppFabMgmtInterfaces.png

Service Bus Management Portal

The Service Bus management portal provides a quick and easy way to manage queues, topics and subscriptions in a Service Bus service bus namespace. The portal has some limitations in the number of artifacts that can be displayed in the interface, and can be time consuming to use when creating or deleting a large number of artifacts. This makes it most useful for managing small numbers of artifacts.

Direct Programming Model

The direct programming model provides a set of .NET classes that allow messaging artifacts to be managed from .NET applications. This allows .NET developers to manage artifacts programmatically and can be the best option to take when managing a large amount of entities or creating and deleting entities dynamically.

REST Interface

All management operations on the Service Bus namespace take place through a REST interface. The direct programming model is built on this interface. The REST interface can also be used from non .NET applications.

Sample PowerShell Provider

The AppFabric samples contain a sample PowerShell provider that provides cmdlets for managing queues, topics, subscriptions and rules. The sample is located at:

[Samples Root]\ServiceBus\Scenarios\BrokeredMessaging\PowerShellProvider

 

AppFabric Application Model

The AppFabric application model that was released in the Azure AppFabric June CTP provides an option to provision queues, topics and subscriptions when an application is deployed to the AppFabric hosting environment. This allows developers to focus on the composition and creating of applications without having to spend time working with the provisioning or artifacts.

Service Bus Explorer

The Service Bus Explorer is an open source tool designed to manage queues, topics and subscriptions in the June CTP release of Azure AppFabric. As there have been significant changes made to the API between the CTP and the September 2011 the application will not work with this release. Hopefully the application will be updated for the latest release.

The link for the current Service Bus Explorer release at the time of writing is:

http://archive.msdn.microsoft.com/appfabriccat/Release/ProjectReleases.aspx?ReleaseId=5672

 

Speaking Engagements