sábado, 19 de enero de 2013

Windows Azure Service Bus {Primera Aplicación} - Parte 2

Ahora que ya tenemos configurado un namespace en nuestra cuenta de Windows Azure, procedemos a programar un ejemplo de como utilizar el Bus de Servicio de Windows Azure. Lo primero que vamos a hacer es hacer una simple aplicación de consola desde donde vamos a poder interactuar con el bus de Windows Azure.

Agregando las Referencias

Para iniciar, tenemos que agregar las referencias a las librerías requeridas para poder desarrollar contra el Bus de Servicios. Esto lo podemos hacer buscando las librerías correspondientes o utilizando el paquete de NuGet – el cual utilizaremos en este ejemplo.

image

En la pantalla de administración de paquetes procedemos a buscar el paquete el cual se llama WindowsAzure.ServiceBus. Cuando lo encontramos seleccionamos instalar.

image

En la instalación vamos a requerir que aceptemos la licencia del software y listo, el proceso inicia.

image

Cuando termina la instalación, vamos a ver las referencias al paquete agregada a nuestro proyecto.

image

Creando Entidades en el Bus de Servicios

Para poder hacer nuestro primero demo, vamos a crear una cola desde el Explorador de Servidores; para esto, le damos botón derecho a el ítem llamado Queues en nuestro namespace y seleccionamos “Create New Queue”.

image

Aquí nos aparece la pantalla desde donde podemos establecer todos los valores de la nueva Cola. En nuestro caso solo vamos a ponerle nombre “TestQueue1” y procedemos a guardarla.

image

 

 

 

 

 

 

 

 

 

 

 

 

 

Una vez creada la cola, la misma aparece listada en el server explorer – El mismo proceso lo podemos utilizar para crear Topics.

image

Listando las Colas en el Bus de Servicios

Ahora vamos a programar nuestro primer ejemplo. Vamos a listar las colas disponibles en nuestro bus de servicios. Primero que todo en la aplicación de consola procedemos a crear una instancia del NamespaceManager, el cual nos da todo el acceso al namespace en el bus de servicios. Como requiero conocer conocer los datos para conectarme al bus, voy a requerir el string de conexión del mismo. Este lo consigo si le doy botón derecho al namespace en el server explorer y selecciono propiedades. En las propiedades tengo acceso al string de conexión del bus de servicios y del respectivo namespace.

image 

Luego de esto procedemos a crear una constante con dicho valor – lo ideal es cambiar este connection string a un archivo de configuración, así podemos redireccionar el servicio a la nube o a una aplicacion on premises utilizando el mismo código pero con el Windows Service Bus en lugar del Windows Azure Service Bus.

const string connString = "Endpoint=sb://arc3labsdemocloud.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=IT4haj3NiSsZP/kGMTQDRiozTs49niEf9O8TzIZVg=";



Seguidamente agregamos el namespace del bus de servicios para tener acceso a la clase NamespaceManager.

using Microsoft.ServiceBus;



Ahora procedemos a crear el namespace, y luego de eso obtenemos las colas que existen en ese namespace.

var _namespaceManager = NamespaceManager.CreateFromConnectionString(connString);
var _listaDeColasDisponibles = _namespaceManager.GetQueues();




El siguiente paso es simplemente recorrer la colección y desplegar las colas que fueron encontradas en el namespace:

foreach (var _colaActual in _listaDeColasDisponibles)
{
Console.WriteLine(_colaActual.Path);
}



El resultado de la ejecución de este pequeño ejemplo es el siguiente:


image


Como podemos ver en la figura anterior, la cola llamada testqueue1 esta disponible.


Igualmente podemos crear una cola desde código utilizando la instrucción CreateQueue de la clase NamespaceManager.

_namespaceManager.CreateQueue("testQueue2");

Si agregamos la línea anterior antes de la instrucción para ejecutar las colas, el resultado de la ejecución nos muestra ahora dos colas en el namespace del bus de servicios.


image


Igualmente si refrescamos el server explorer podemos ver que existen ahora dos colas en el namespace.


image


Las colas se pueden crear con el método CreateQueueDescription, el cual nos permite agregar más parámetros para la creación de la cola. El mismo procedimiento aplica para los tópicos.





Etiquetas de Technorati: ,

Iniciando con el Bus de Servicios en Windows Azure – Parte 1

Esta es una serie de post dedicados a como desarrollar aplicaciones utilizando el Bus de Servicios de Windows Azure. El enfoque principal es ayudar a desarrolladores y arquitectos a explotar todas las bondades que nos ofrece el Windows Service Bus.

Alistando el ambiente para desarrollar

Para utilizar el bus de servicios en Windows Azure, debemos primero que todo instalar el SDK para desarrollo de Windows Azure. Para esto, vamos a visitar el sitio WindowsAzure.com y luego seleccionamos la opción desarrollo del menú principal; cuando estamos ahí escogemos .NET del menú secundario. En esta pantalla, seleccionamos instalar el SDK. Luego de eso nos aparece la siguiente pantalla.

image

Aquí seleccionamos la opción de acuerdo al Visual Studio que tengamos instalado. Al seleccionar esta opción, nos lleva directamente al Web Platform Installer – si no lo tenemos instalado lo instala y lo inicia. Ahí nos lleva a la pantalla del WPI donde nos indica que versión del SDK vamos a instalar.

image

Si exploramos los ítems que se van a instalar – link en la esquina inferior izquierda – vemos todo los componentes que se descargaran y luego se instalarán para que el SDK de desarrollo para Azure funcione.

image

Namespaces

Una vez finalizado procedemos el trabajo con el bus de Servicios procedemos a configurar el namespace donde van a ejecutarse nuestros servicios. Para entender la funcionalidad de los namespaces en el contexto del service bus de azure pueden visitar el post que escribí al respecto en el tema del Windows Service Bus, el cual tiene exactamente la misma funcionalidad que el Azure Service Bus.

Para proceder a crear el namespace ingresamos al sitio de Windows Azure – windowsazure.com – y nos logueamos. Ahi seleccionamos el portal de administración y nos vamos a la sección de Service Bus. Aqui procedemos a crear un nuevo espacio de nombres.

image

Cuando le damos agregar un nuevo namespace nos aparece un diálogo en donde tenemos que indicar el nombre que le vamos a poner – el cual debe de ser único – y la región en donde queremos funcione el namespace – más acerca de las regiones en otro post posterior.

image

Una vez creado el namespace veremos que esta listo para usarse en la pantalla de bus de servicios.

image

Podemos conectarnos al namespace usando el service bus Explorer o el Visual Studio. El service bus explorer fue utilizado en nuestro post acerca de namespaces en el Windows Service Bus, por lo tanto en esta ocasión vamos a utilizar Visual Studio. Para esto nos vamos al Server Explorer y procedemos a seleccionar la opción Windows Azure Service Bus.

image

Aquí dándole botón derecho, seleccionamos agregar nueva conexión. En esta pantalla tenemos la opción de agregar el perfil de suscripción de Azure o agregar las credenciales de forma manual. La segunda opción es útil sobre todo para hacer la conectividad al Windows Service Bus.

image

Sin embargo, para conectarse a Azure lo mejor es descargar la configuración de publicación – publish settings – y cargarlo desde ahí.

image

Para esto, le damos click al link “Download Publish Settings” y descargamos nuestro perfil.

image

Ya en la página Web procedemos a descargar el archivo de perfil – extensión publishsettings y lo guardamos en nuestra máquina, posteriormente procedemos a cargarlo desde la opción import del Subscription.

image

Una vez cargado, veremos que toda la información necesaria para conectarse al bus está disponible.

image

Si le damos click al botón ok, vamos a ver la conexión del bus disponible, desde donde podremos ver nuestras colas y tópicos disponibles.

image

Etiquetas de Technorati: