8.12.2012

BPM y Workflow Foundation – Parte 3

Continuando con la tercera entrega de la serie de BPM utilizando tecnologías Microsoft, en este post vamos a realizar un workflow básico, lo vamos a instalar en el IIS/WAS y lo vamos a monitorear utilizando el Windows AppFabric.

El Workflow

En esta ocasión vamos a crear un workflow muy simple que va a llevar a cabo dos operaciones muy básicas a partir de una lista de números. Primeramente va a calcular el valor promedio de los ítems contenidos en la lista, y seguidamente va a dividir la lista de números en números pares y números impares. Iniciamos creando el workflow para ser consumido  a través de WCF tal y como se ve en la siguiente figura.

image

El workflow se puede ver en la siguiente figura.

image

Las figuras marcadas con rojo son las de activación del workflow vía el proxy de WCF y la de respuesta respectivamente. En la de activación se recibe como parámetro la lista de números con la que vamos a trabajar.

image

En la de respuesta se retorna la lista de pares, la lista de impares y el promedio calculado.

image

Probamos el workflow ejecutándolo en el WCFTest y vemos que funciona correctamente.

image

Ahora procedemos a instalar el workflow en el IIS/WAS, teniendo al AppFabric para monitoreo del workflow –el tema de los perfiles de deployment lo trataremos en otra serie. Para esto creamos una aplicación de consola y agregamos una referencia al servicio para poder activar el workflow.

image

Luego consumimos el servicio desde la aplicación de consola.

image

Si ejecutamos el código anterior el resultado es el siguiente:

image

Ahora procedemos a ver en el AppFabric como se ha estado comportando este workflow y este servicio en WCF; para esto vamos al sitio web dentro del IIS y vemos el dashboard del IIS.

image

Como podemos ver en el Panel del AppFabric, se han ejecutado 15 llamados a diversos servicios, y se han activado 5 workflows en ese lapso de tiempo ( 1 hora ).

Como podemos ver en este post, cumplimos con  3 de las 4 características de un BPM:

  1. Tener un diseñador de BPM en el Visual Studio ( en este caso 2012)
  2. Tener un motor de ejecución –> el que instancia y ejecuta el workflow, que es activado por un proxy WCF.
  3. Se puede monitorear utilizando el Windows AppFabric.
Etiquetas de Technorati: ,,,

No hay comentarios: