Pablo Marambio
Tecnología & desarrollo
Archivos
-
Jun13No Comments
Esta es una versión un poco más producida, y escrita en .NET, de lo que presentó Steve Marx en su charla “Building Java Applications with Windows Azure“. La idea es mostrar cómo se puede usar la API de almacenamiento de Azure a través de un wrapper, en este caso el que fue escrito para .NET.
El ejemplo es bastante simple: Una aplicación web que sirve para aumentar un contador, el que es incrementado cada vez que se hace click sobre un botón. El contador se almacena como texto en un blob.
La aplicación cuenta con dos vistas:
- La primera incrementa directamente el contador modificando el valor del blob cada vez que se hace click sobre el botón.
- La segunda deja un mensaje en una cola para que “otro” se encargue de incrementar el contador en el blob. Ese “otro” es el “back-end” de la aplicación; en este caso, un proceso independiente corriendo en otra máquina virtual dentro de Windows Azure.
La arquitectura de cada vista es más o menos como sigue:
- Para la primera vista, la acción de hacer click sobre el botón “incrementar” se traduce automáticamente en una escritura del blob.
- Para la segunda vista, sin embargo, el hacer click sobre el botón sólo deja un mensaje para que el back-end incremente el valor del blob, cuando lo estime conveniente.
- Por otra parte, cada cierto tiempo, el rol trabajador (”el otro“, como fue describido más arriba) se encarga de aumentar el blob por cada mensaje existente en la cola.
El código de la aplicación de ejemplo es provisto como una solución de visual studio que puede ser descargado al final de este post. Cuenta con dos proyectos principales, uno para la aplicación web (”web role”) y otro para el back-end (”worker role”). Además, cuenta con un tercer proyecto que almancena los componentes y servicios comunes a ambos roles.
Los requisitos para poder compilar y probar esta solución son:
- Visual Studio 2010
- Cloud Service 1.1 o superior (Cloud Service es el ambiente de desarrollo para Windows Azure)
- Castle Windsor 2.1 (inversor de dependencias; me resulta más fácil escribir aplicaciones web ASP.NET MVC con un componente de este tipo). Este componente está incluido como binario en la solución.
- Mvc Contrib (muchas funcionalidades, pero para este caso, permite usar Castle Windsor fácilmente). Este componente está incluido como binario en la solución.
- jQuery 1.4.2 (biblioteca javascript para mostrar los mensajes en la cola). Este componente está incluido como código fuente en la solución.
Si además estás interesado en probar este proyecto directamente sobre Windows Azure, te recomiendo echarle una mirada a las ofertas que hace MSDN al respecto.
Happy coding!
Descargas: solución con código fuente y algunas dependencias en formato binario (link).
-
Jun11No Comments
Ayer en la tarde tuve el privilegio de dar una charla sobre Windows Azure junto a Luis Hereira (a.k.a. “Luisón”) en las oficinas de Microsoft Chile.
Entre otros, hice 3 demos:
- Cómo usar la API de storage sobre .NET y Java,
- Cómo subir “otros programas” a la nube (ver Apache Tomcat corriendo sobre Windows Azure), y
- Qué estrategias se pueden seguir para desacoplar distintas partes de una aplicación
Desde ya hago la promesa de subir tanto la presentación como las demos a este sitio durante el fin de semana. Lamentablemente, hoy no puedo hacerlo puesto que tengo que trabajar como loco (esto de preparar presentaciones te quita algo de tiempo…).
Por ahora, dejo para los fanáticos de Windows Azure la dirección al sitio web con los mejores instructores con los que cuenta la plataforma hasta ahora: los de Cloud Cover. Échenle una mirada a esos webcasts: son entretenidos, fáciles de seguir y, además, gratis




