A simple sample for new Azure Queues and Topics | Un exemple simple pour les queues et les rubriques

English Français
In september 2011, Windows Azure production platform welcomed queues and topics in the Appfabric Service Bus. They are an implementation of publish/subscribe. In order to basically explain what they can do, here is a simple sample. En septembre 2011 sont arrivés sur la plateforme de production de Windows Azure les queues et les rubriques. Elles correspondent à une implémentation de publication/abonnement. De façon à expliquer de façon basique ce que cela fait, voici un exemple simple.
A system can capture orders and preorders. Then a prevalidation processing checks that pre-orders correspond to products that are not yet available, and that orders correspond to products that are already available (in sample code, it always validates). At the end of the whole process, there are 3 listeners. The first one only gets the pre-orders, the second one only gets the orders, and the third one wants all the orders and pre-orders for auditing purposes. On peut saisir dans un système des commandes et des pré-commandes. Puis une pré-validation vérifie que les précommandes correspondent à des produits qui ne sont pas encore disponibles et que les commandes correspondent à des produits déjà disponibles (dans le code exemple, tout est validé). A la fin du processus, il y a 3 receveurs. Le premier récupère uniquement les pré-commandes, le deuxième consomme uniquement les commandes et le troisième s’intéresse à tous les types de commandes/pré-commandes pour de l’audit.
To implement that, a first queue captures all orders and pre-proders in order to make them available for the pre-validation process. The latter sends a copy of each message to a topic, with a “type” property that can have “Pre-order” or “Order” as a value. A subscription with a filter on that property is created for pre-orders and another one for the orders. A third subscription is also created with no filter (or a filter that matches all messages) to get all the messages that went thru the topic. Pour mettre en oeuvre cela, une première queue reçoit toutes les commandes et pré-commandes de façon à les rendre disponibles pour le processus de pré-validation. Ce dernier envoie une copie de chaque message à une rubrique, avec une propriété type qui vaut soit “pre-commande” soit “commande”. Un abonnement avec un filtre sur cette propriété est créé pour les commandes, et un autre l’est aussi pour les pré-commandes. Un troisième abonnement est créé sans filtre (ou plutôt avec un filtre qui accepte tout) pour avoir tous les messages qui sont passés dans la rubrique.

image

Here is how this looks in the Windows Azure Management portal Voici à quoi cela ressemble dans le portail de gestion Windows Azure

image

By running 2 instances of the project, we have the following result (1): Quand on exécute 2 instances du projet, voici le résultat:

Running the sample

 

The code is available for download. Le code est disponible au téléchargement.
In order to make it run, you need Windows Azure AppFabric SDK 1.5, and Visual Studio 2010. De façon à le faire fonctionner, il faut avoir le Windows Azure AppFabric SDK 1.5, et Visual Studio 2010.
You must change the values in the MyAzureEnvironment.cs file: Il faut changer les valeurs dans le fichier MyAzureEnvironment.cs

image

 

Smile

Benjamin

 

(1) As the video displays a French GUI, here are a few translations:

Envoyer = send, commande = order, Démarrer = Start, Arrêter = Stop, Recevoir = Receive, tout type = any type, Effacer = clear, En train de … = currently doing …