AppFabric Service Bus Test Client

En http://appfabricservicebus.codeplex.com/ podemos encontrar un proyecto, código fuente incluido, que puede ser de gran utilidad para poder entender y probar las colas y topics de Service Bus.

En este apartado se verá un ejemplo de cómo crear un servicio de colas y topics y cómo es posible emplear esta herramienta para poder probar dicha funcionalidad.

Al venir con código fuente, podemos emplear esta aplicación para poder entender la forma de utiliza las librerías (Microsoft.ServiceBus.dll) que ofrece el Sdk de Windows Azure para poder trabajar con colas y topics.

public List<Message> ReceiveQueueMessages(string queue, ReceiveMode mode) { QueueDescription queueDescription = namespaceManager.GetQueue(queue); if (queueDescription != null) { MessagingFactory factory = MessagingFactory.Create(serviceUri, credentials); QueueClient client = factory.CreateQueueClient(queue, mode); List<Message> messageList = new List<Message>(); for (int count = 0; count < queueDescription.MessageCount; count++) { BrokeredMessage message = client.Receive(TimeSpan.FromSeconds(5)); if (message != null) { if (mode == ReceiveMode.PeekLock) message.Complete(); messageList.Add(GetMessage(message)); } } return messageList; } return null; }

El primer paso es crear un namespace de Windows Azure AppFabric desde el portal de Windows Azure.

topics01

Una vez creado el namespace se podrá ver desde el portal el listado de todos los namespace disponibles y cómo service bus dispone de las características de colas y topics.

Desde el portal se puede crear las colas, topics y subscripciones, que posteriormente serán las que utilice la aplicación de ejemplo.

Lógicamente, las mismas tareas de aprovisionamiento que se hacen desde el portal podrían hacerse por código empleando los diferentes modelos de programación que permite service bus.

topics02

A continuación se muestran las ventanas a través de las cuáles es posible crear colas, topics y subscripciones. Se puede ver en dichas ventanas las opciones de configuración que ofrece cada servicio.

topics03

topics04

topics06

topics05

Una vez creado el servicio, éste ya puede ser consumido desde una aplicación cliente. En este caso se usará la herramienta cliente que se ha mencionado anteriormente.

Una vez descargado el código fuente se podrán ver que existe dos soluciones de Visual Studio, una para la aplicación cliente y otra para la aplicación servidora, las cuáles pueden ser usadas para probar toda la funcionalidad comentada anteriormente.

Desde la aplicación cliente tendremos que realizar una conexión al servicio de Service Bus, para el cuál será necesario indicar el namespace del servicio y las credenciales de acceso; el nombre y la clave.

En este caso cabe recordar que toda la autenticación se realiza a través del servicio de Access Control.

topics07

topics07.1

topics08

Una vez conectados al servicio se podrán ver todas las colas, topics y subscripciones creados anteriormente y simular el envío de uno o varios mensajes.

Hay que destacar que para probar este servicio no es necesario disponer del servidor arrancado, ya que la comunicación ocurre de manera asíncrona y que todos los mensajes son persistidos en el Service Bus hasta que el servidor los lea y elimine.

Para el servidor habría que realizar el mismo proceso; abrir la aplicación, ejecutarla, conectarse al service bus e indicar de qué cola o subscripción se desea hacer la lectura.

topics10

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *