5.31.2011

Publicando y Monitoreando un Servicio en el Windows App Fabric

En este post vamos a crear un servicio WCF y lo vamos a publicar en el Windows AppFabric. Igualmente vamos a monitorear el servicio utilizando el “dashboard” del AppFabric.

Creando el Servicio WCF

El primer paso a realizar es crear un servicio WCF en Visual Studio el cual vamos a publicar en el AppFabric y el IIS. Este servicio tiene una operación que simplemente recibe el nombre de un producto y regresa el código de este producto. La interface del servicio es la siguiente:

image

La implementación de este servicio solamente comprende la devolución de un GUID generado cada vez que el componentes es invocado; es decir, vamos a tener un código nuevo en cada retorno.

image

En el siguiente paso vamos a crear una aplicación web en nuestro sitio web por defecto – default web site – de nuestro IIS, para lograr esto damos botón derecho sobre el sitio web y seleccionamos “Add Application.

image

Seguidamente nos aparece el cuadro de diálogo para configurar nuestra aplicación Web el cual se puede ver en la siguiente figura.

image

En este cuadro de diálogo se configuran los siguientes ítems:

  1. Alias: Es el nombre que llevará nuestra aplicación Web y a través de la cual la accederemos desde nuestra aplicación.

  2. Application Pool: Es el proceso que va a ejecutar nuestra aplicación Web. Debe de estar configurado para que use el mismo framework de .NET con el que desarrollamos nuestra aplicación - en nuestro caso el 4.0

  3. Physical Path: Es la ruta física en donde se van a guardar los componentes del servicio; es decir, en ese directorio estarán nuestros binarios y nuestros archivos de configuración, pero el directorio virtual siempre estará en el IIS y cuando alguien lo invoca, el IIS ejecuta los componentes guardados en la ruta física.

AplicacionWeb

El siguiente paso es publicar el servicio en IIS. Esto lo vamos a conseguir dándole botón derecho

image

Seguidamente nos aparece el diálogo para configurar la forma en que queremos publicar el servicio. Este diálogo me pide la dirección en donde lo vamos a publicar, igualmente que archivos vamos a poner en la ubicación de publicación seleccionada. Lo primero que hacemos es seleccionar el botón del target location para establecer la ubicación del servicio que vamos a publicar.

ConfigurarPublish 

Después de esto vamos ver el diálogo donde podemos seleccionar que aplicación web vamos a utilizar como contenedor para nuestro servicio, en este caso vamos a utilizar la recién creada ServicioPOS.

IISLocation

Cuando seleccionamos la opción Open regresamos a la pantalla de configuración para publicar el servicio pero ya con la dirección seleccionada en la pantalla anterior configurada. Por ahora los demás campos los dejamos como están en la pantalla y seleccionamos publish.

ConfigurarPublish2

En este momento el proceso de publicación inicia y visual studio nos notifica el estado del mismo. Cuando esta listo el servicio para ser consumido podemos ver el siguiente mensaje en la ventana de output de Visual Studio.

resultadopublicar

Una vez publicado podemos probar el servicio desde el navegador de su preferencia utilizando el URL que nos da la ventana de output del mismo. Sin embargo como podemos ver en este caso, se nos presenta un error porque la aplicación web no permite inspeccionar el contenido del directorio.

ErrorIIS

Para solucionar este error procedemos a habilitar esta característica de la aplicación Web seleccionando la opción de Directory Browsing.

DirectoryBrowsing

Luego le seleccionamos habilitar en la cejilla de la derecha de la opción seleccionada.

directorybrowsing2

Después de esto ya podemos probar el servicio desde el navegador. Primero nos aparece el contenido de la aplicación web.

SErvicioen IIS

Aquí seleccionamos el archivo svc y nos aparece el servicio listo para probarse.

definiciondelservicio

Ahora procedemos a crear un cliente – en este caso una aplicación WPF – que nos permita consumir el servicio. Para esto creamos una nueva aplicación WPF y agregamos una referencia al servicio POS.

AddserviceReference

El siguiente paso es crear la interface para consumir el servicio. Esta se presenta en la siguiente figura:

image

Luego procedemos a agregar el código para consumir el servicio desde la ventana.

image

El siguiente paso es habilitar el monitoreo en el AppFabric para ver que tan utilizado es el servicio que acabamos de crear – esto será un tema que es digno de otro post completo. Sin embargo si vamos a al a sección servicios del AppFabric y seleccionamos el servicio que recién creamos vamos a poder ver si el monitoreo está habilitado o no para el servicio específico.

image

Luego de esto procedemos a ejecutar nuestro cliente una cuantas veces para ver si el AppFabric loguea los requests hechos a WCF desde el cliente WPF.

image

Por último vamos al “dashboard” del AppFabric y podemos verificar que el servidor ha logueado las solicitudes a WCF – en este caso solo han habido solicitudes exitosas, es decir terminadas.

image

Etiquetas de Technorati: ,,

3 comentarios:

Wendy dijo...

Hola Diego.

Primero felicitarte por tu blog.

Segundo, podrías mostrar cómo publicar un servicio pero usando el enlace net.tcp.

Diego Rojas dijo...

Hola Wendy,
primero que todo gracias por tomarte el tiempo para leer el blog.
Respecto al segundo punto, estaré publicando un post al respecto la próxima semana.

Saludos

Anónimo dijo...

hola que tal exelente blog...

una duda comentabas que en una prox publicacion estarias mencionanado como monitorear los wcf.. ya lo publicaste ..


saludos.