viernes, 11 de diciembre de 2009

Servicio web en Azure con cliente

Profundizando un poco más en las características que proporciona Windos Azure, busqué la manera de poder crear un servicio Web situado en Azure, y que un cliente pudiera proporcionarle información y después recibir lo que el servicio hubiese procesado.
Esta estrategia va más en la linea de mi proyecto, ya que constará de estas dos partes. Por ello lo primero que se me ocurrió fue el conseguir dominar que la información entre un cliente y un servicio transcurrieran perfectamente.

Aquí comentaré un poco las dos aplicaciones cliente-servicio probadas localmente, tanto en la plataforma de Azure.
Más abajo adjunto también los proyectos a modo de ejemplo.


Primero creamos el ServicioWeb, para ello, abrimos un nuevo proyecto en C# del tipo Cloud Service, y la plantilla Windows Azure Cloud Service al cual solo le añadimos un WebRole en C#.
En nuestra solución, añadimos un nuevo elemento en el WebRole, que será un Servicio web. En este creamos un método que su función será concatenar un string que recibe en el argumento con otra string inventada por nosotros, y por último devolver esa concatenación.



Borramos los archivos de la solución webrole.cs y Default, y ponemos el WebService como página de inicio.
Ejecutamos el programa y vemos que sale un explorador con la página del servicio. Desde esta se puede probar si la aplicación nos ha salido correctamente.



Ahora sin cerrar la aplicación del servicio, creamos un nuevo proyecto C# en windows consola.
Lo primero que hacemos es añadir una referencia a un sitio web, y la dirección que le colocamos, la copiamos del explorador del servicio en ejecución.



Acto seguido en el main de Program.cs añadimos código donde se crea un objeto del servicio y llamamos a su método pasándole un nombre (string), y el resultado lo escribe en la consola.



Publicamos el proyecto del servicio, y lo colgamos en Azure.
Una vez esté el programa preparado en azure comprobamos que funcione pulsando en el link que nos proporciona. A esta dirección le añadimos al final WebService1.asmx quedando de esta manera:
http://b209baegai48btioabl3ot84pwjg93.cloudapp.net/WebService1.asmx
Aquí aparecerá la misma página que salia en cuando ejecutábamos el programa en local.

Para que nos funcione bien el cliente con el servicio en Azure tendremos que ir a la solución del cliente y abrir el archivo app.config. Podemos observar que en una de las lineas de código aparece la dirección del servicio local. Solo tenemos que copiar la dirección web del servicio (como la mencionada anteriormente) y substituirla por la que hay.





Guardamos el cliente y lo ejecutamos. Podemos comprobar como los datos son enviados y recibidos a la perfección por las dos partes.
¡Misión cumplida!



Dejo aquí un enlace donde encontrareis los dos programas:
http://www.megaupload.com/?d=000PL6MQ

Saludos.

jueves, 26 de noviembre de 2009

Hola Windows Azure

Después de indagar sobre aplicaciones web, busqué información sobre como dar mis primeros pasos en el servicio de Windows Azure, como utilizar sus herramientas y sacar algo de provecho. ¿Y qué mejor manera de empezar con un “Hola mundo” desde la nube?

A continuación explico e ilustro, como cree la más sencilla aplicación web dentro de Azure.

1. Dentro del Visual Studio 2008 se crea un nuevo proyecto, de tipo Cloud Service en Visual C#, con la plantilla Windows Azure Cloud Service. Le agregamos el nombre que queramos y le damos a Aceptar.



2. Seguidamente emerge una venta donde podemos elegir el tipo de proyecto, tanto en Visual Basic como en C#, y con las opciones de agregar a la solución del proyecto una serie de roles. Nosotros agregaremos el rol WebRole de Visual C#.



3. Cuando se despliegue la solución, abrimos el archivo Default.aspx y le añadimos el texto marcado con amarillo (que no existe en el proyecto inicial).



4. Guardamos los cambios realizados y depuramos el proyecto (presionando F5). Se desplegaran automáticamente los “development Fabric” y “development Storage”, que simulan un entorno de la plataforma Azure. Para acabar se abrirá el navegador Explorer con nuestra aplicación ejecutada.



5. Paramos la depuración del programa, y en nuestra solución, hacemos click con el botón derecho en el proyecto HolaWindowsAzure, y seleccionamos “Publicar…”



6. Se abrirá una carpeta dond ese alojan por un lado el archivo que contiene el paquete del programa, y es el archivo de configuración. A la vez se abre el explorador con la página personal de Windows Azure (para acceder a ella se debe de tener una cuenta Live y para usarla una invitación de Azure).



7. Si se tiene un proyecto creado, accedemos al link “New Servie”.



8. Escogemos crear un “Hosted Services”, ya que aun no usamos “Storage Acount”.



9. Escribiremos un nombre para el servicio, y si se desea también podemos anotar una descripción del mismo. Al acabar presionamos el botón de “Create” abajo a la derecha de la página.



10. Elegimos un nombre para que funcione como URL del servicio, lo chequeamos, y si este es correcto, acabamos la operación dándole al botón “Create”.



11. En esta página se muestra un cubo que representa el contenedor donde la aplicación que se suba al cloud está en producción. A la derecha de este cubo hay un triangulo que al pulsarlo se despliega otro cubo con el nombre de “Staging”. Debajo de este último cubo apretamos el botón “Deploy…”



12. Para subir la aplicación que hemos creado, buscamos por el “Browse” los dos archivos que se han generado cuando publicamos el proyecto. También añadimos un nombre para mostrar. Al pulsar “Deploy” se subirán los archivos a la nube.




13. Una vez subido se mostrara la página con los cubos, y en el Staging deberemos pulsar el botón de “Run”.



14. Cuando aparezca el círculo verde debajo de WebRole1, con la palabra Ready, querrá decir que nuestra aplicación está correctamente funcionando en Azure. Para ver que funciona, hay una URL donde si pulsamos, veremos los resultados en el navegador.




15. Si todo ha salido bien, entonces podemos montar nuestra aplicación en Producción, con el botón de “Promote” que se encuentra entre los dos cubos.



16. Cuando sea efectivo el cambio a Producción, se esconderá el cubo de Staging. Ahora podemos probar nuestra aplicación con el enlace Web Site URL que habíamos creado anteriormente. En el navegador Podremos disfrutar de nuestra primera aplicación ejecutándose en Windows Azure Platform.





Saludos!

domingo, 22 de noviembre de 2009

Calentando motores

Mi primer día, dedique casi todo el tiempo a investigar que era Mircrosoft Azure Platform, que posibilidades tenía, y como podría empezar a tratarlo.

Para empezar, en mi ordenador instalé todas las cosas necesarias para poder comenzar a familiarizarme con Visual Studio 2008.

Estuve toqueteando el Visual, y probando algunos ejemplos de aplicaciones web que encontré en Internet, a modo de aprendizaje. Y aquí vino mi primer problema. Tengo en mi ordenador, como Sistema Operativo, Windows Vista Home Premium, en el cual no vienen instalados de serie el IIS (Internet Information Services), con lo cual no podía hacer funcionar aplicaciones web en servicio local. Intenté instalar el IIS mediante agregar o quitar características de Windows, pero saltaba un error que no he logrado solventar.

Un compañero de la empresa, me proporcionó una máquina virtual con Windows Vista Business, en el cual instalé con exito los IIS, en este caso correctamente, y decidí dedicar esta maquina virtual como espacio de trabajo de todo el proyecto.

Entonces pasé a la instalación, de nuevo, de todos los programas necesarios sobre el Windows de la máquina virtual. Empecé a probar, creando servicios web muy elementales para familiarizarme con el tema, ya que nunca antes había trabajado con ellos.

He aquí la interfaz Web de mi primera aplicación:



Una aplicación muy sencilla, pero su único objetivo era tomar contacto con el Visual Studio 2008 y con aplicaciones Web.

sábado, 21 de noviembre de 2009

Hola Blog

Saludos a todos.

Para empezar, estreno mi primera entrada con una breve presentación.

Me llamo Carlos, y soy estudiante de informática. Actualmente estoy cursando el Proyecto Fin de Carrera en colaboración con la empresa Icinetic, una Spin Off de la Universidad de Sevilla, que se dedica al desarrollo de tecnologías de producción de software.
El proyecto que curso, como titulo del mismo, es el de adaptar el producto software de esta empresa, denominado RADARC (en .NET), a la tecnología de Cloud Computing, haciendo uso de las prestaciones de Microsoft: el Sistema Windows Azure.

El fin de crear este blog es un poco documentar los pasos realizados en mis investigaciones para mi proyecto, así poder conseguir un seguimiento de todo mi trabajo, el cual me servirá para escribir la memoria. A la vez pretendo, con la ayuda de quien lo desee, mejorar aspectos y resolver problemas a medida que se me vayan presentando en el transcurso de mi trabajo; como también dejar para la posteridad, un blog para aquellos que como yo han iniciado el mismo camino.

Así que ¡queda inaugurado mi "Blob's Blog"!
Espero que os guste.