domingo, 13 de febrero de 2011

Mi primera experiencia con Windows Azure

Bueno, pues acabo de enterarme que me gané un XBOX 360 con Kinect  por participar en el primer concurso de Cloud XBOX realizado por Microsoft.

Antes que nada, agradezco a Microsoft Colombia por brindarme la oportunidad de participar en el concurso, lo que me ha permitido además de de ganarme el premio, indagar sobre una tecnología que estoy seguro me va a abrir nuevas posibilidades de negocios.

Bueno, el concurso consistía en realizar un prototipo de una aplicación para Windows Azure, publicarla (para esto utilicé una cuenta de prueba), realizar un video explicando el prototipo y participar de la carrera de Windows Azure en el programa MVA . Este fue el video con el cual participé:

 

Acerca de Celuturno

El sistema fue una idea pensada para mejorar el servicio que prestan los restaurantes, al tomar el celular del cliente al tomar el pedido para enviarle un mensaje de texto avisando que su pedido se encuentra listo.

Con esta aplicación se pretende eliminar la espera que tiene que hacer el cliente frente a un tablero o esperando ser llamado desde la zona de entrega de pedidos, o en el mejor de los casos cargar un dispositivo grande e incómodo que avisará al cliente cuando el pedido se encuentre listo.

Mi primera experiencia con Windows Azure

Este prototipo fue mi primer acercamiento al desarrollo para Windows Azure. Y en esta experiencia he notado que no no difiere mucho de lo que ya venia haciendo como desarrollador de aplicaciones ASP .NET, lo cual me facilitó la creación del prototipo.

Sin embargo para implementar la aplicación es necesario tener un conocimiento adicional sobre el almacenamiento de información, el manejo de sesiones y otras cosas mas que pude dominar gracias a:

1. Curso de capacitación realizado por la comunidad BogotaDotNet

2. El Windows Azure Plataform Training Kit

3. La carrera de Cloud Computing de MVA 

4. El blog de Walter Novoa, en el cual encontré detalles claves para que mi aplicación funcionara correctamente.

un punto adicional: La aplicación es perfecta para ser montada en Windows Azure, teniendo en cuenta que el procesamiento de esta es mayor a ciertas horas (hora de almuerzo) y en otras horas la aplicación puede estar detenida (horas de la noche), lo que disminuye el costo de la aplicación en un ambiente de alta disponibilidad.

Detalle de la aplicación

La aplicación es una aplicación web forms de ASP.NET, la cual la implemeté sobre un web role.

Consta de un formulario ASPX que tiene la interfaz de digitación de celulares y el envío de mensajes a los clientes y otro formulario que permite la iniciación a cero del contador de turnos.

Teniendo en cuenta que la aplicación no necesita un complejo modelo de base de datos el almacenamiento se hizo utilizando el Azure Storage, alimentando los datos mediante tables

El manejo de tables me permite almacenar los telefonos con los turnos y una manipulación simple de estos datos a través de linq.

Por ultimo, la aplicación tiene una clase que permite enviar el mensaje de texto a el celular del cliente, utilizando las api que los proveedores de telefonía celular tienen para tal fin.