Continuando con la serie de artículos acerca del workflow Foundation y los BPMs, en este post vamos a crear nuestro primer workflow y lo vamos a exponer de forma tal que sea activado utilizando un proxy de WCF.
Implementando el Workflow
En primera instancia vamos a ir al Visual Studio y crear un proyecto de Workflow Foundation del tipo “WCF Workflow Service Application” tal y como se ve en la siguiente figura.
Como vemos en la figura anterior en la descripción del tipo de proyecto, este permite crear un servicio WCF que esta hosteado en el IIS/WAS – es decir soporta múltiples protocolos de activación – y se puede administrar vía el AppFabric. Este tipo de proyectos funciona de la siguiente manera cuando están en producción:
Inicialmente los workflows van a estar hosteados en el IIS; estos workflows pueden accederse vía HTTP o vía otros protocolos utilizando WAS; además van a ser monitoreados por el AppFabric y todo su logging y su trazabilidad va a estar almacenada en el SQL Server que esta configurado en el AppFabric para tal propósito. El workflow va a estar disponible vía un proxy WCF, por lo tanto los consumidores del workflow van a agregar una referencia al servicio cuando quieran activar el proceso.
Cuando creamos el proyecto del tipo seleccionado, se va a crear un workflow con dos actividades listas por defecto tal y como se ve en la siguiente figura:
Como se ve en la figura anterior, las dos figuras generadas son para recibir la solicitud y para enviar la respuesta de la activación del workflow, todo el proceso que vayamos a crear, estará dentro de la zona marcada de color azul. En la figura ReceiveRequest están todos los aspectos de la configuración del workflow.
En esta actividad se define el namespace del servicio, el nombre del contrato, el nombre de la actividad y por último es establece si un servicio puede crear una instancia del servicio o no ( indispensable para que corra ).
Los parámetros de recibo del workflow se pueden ver en la forma de recibo en el campo content; si damos clic podemos ver la opción para poner parámetros de recibo.
El mismo método se utiliza para asignar los parámetros en la parte de la respuesta. En este caso, al respuesta del workflow simplemente será hacer un ToString del parametro de ingreso como se muestra en la siguiente pantalla.
Esto parámetros ( de recibo y respuesta ) se asignan a partir de variables definidas en el workflow, tal y como se ve en la siguiente figura.
Si ejecutamos esta actividad tal y como esta dándole F5, vamos a ver que este se hostea en el servidor de pruebas Web de VS y además que podemos consumirlo en el WCF Test Cliente.
En este caso, el WCF Test Client trabaja como el cliente que activa el workflow a través de un proxy que se genera de forma automática a la hora de debuguear el workflow.
En el próximo post vamos a crear un workflow aplicado a lo que se hace normalmente en una aplicación de negocios y lo vamos a publicar en el IIS.
1 comentario:
Hola Diego, vengo siguiendo tus posts de BPM, pero debo decirte que no me sentí muy cómodo con este último ya que me sentí perdido con el tema de WCF y del AppFabric. De todas maneras te segiré leyendo ya que es un tema interesante!!! Gracias
Publicar un comentario