Hola la presente de este articulo es para resalta de forma general el tema de WorkFlow con un enfoque sobre aplicaciones Web de ASP.NET.
Índices:
- WorkFlow
- Estilos de Creación de WorkFlow.
- Elementos de un WorkFlow.
- Motor de tiempo de ejecución del WorkFlow
- Pasos básico para iniciar solución ASP.NET con WorkFlow
- Descripción Solución de Ejemplo Test WorkFlow ASP.NET
- Descripción Solución de Ejemplo Hosting WorkFlow in ASP.NET
- Códigos Fuentes.
- Puntos de Interés de WorkFlow para su estudio.
- En Resumen.
- Enlaces de Referencia
1. WorkFlow: Flujo de Trabajo
Un WorkFlow es un conjunto de unidades de trabajos elementales llamadas actividades que están almacenadas como un modelo que describe un proceso real. Los WorkFlow proporcionan una manera de describir el orden de ejecución y las relaciones de dependencia entre las partes de trabajo de ejecución corta o prolongada. Este trabajo pasa a través del modelo desde el principio hasta el final y las actividades pueden ser ejecutadas por personas o por funciones de sistema.
2. Estilos de Creación de WorkFlow
- WorkFlow Secuencial: Este WorkFlow consta de un conjunto de actividades que se ejecuta de forma secuencial, uno por uno hasta que finalice la última actividad. También a dicho WorkFlow se puede agregar actividades compuesta por defecto o personalizada. Ejemplo de WorkFlow Secuencial:

- WorkFlow Maquina de Estado: Este WorkFlow consta de un conjunto de Estados. Cada estado puede recibir un determinado conjunto de eventos. Basado en un evento, es posible una transición a otro Estado. El WorkFlow de máquina de Estado tiene un estado Inicial y puede tener un estado final. Cuando se realiza una transición al estado final, se completa el WorkFlow. Ejemplo de WorkFlow Maquina de Estado:

3. Elementos de un WorkFlow:
| Elementos de WF 4 | Descripción | ||||||||||||||||||||
| Control Flow (Flujo de Control) |
|
||||||||||||||||||||
| Flowchart (Diagrama de Flujo) |
|
||||||||||||||||||||
| State Machine (Maquina de estado) |
|
||||||||||||||||||||
| Messaging (Mensajería) |
|
||||||||||||||||||||
| Runtime (Tiempo de Ejecución) |
|
||||||||||||||||||||
| Primitives (Primitivos) |
|
||||||||||||||||||||
| Transaction (Transacción) |
|
||||||||||||||||||||
| Collection (Colección) |
|
||||||||||||||||||||
| Error Handling (Control de Errores) |
|
4. Motor de tiempo de ejecución del WorkFlow:
-
Una clase WorkflowInvoker, que invoca el flujo de trabajo como si se tratara de un método.
- Una clase WorkflowApplication para el control explícito de la ejecución de una única instancia de flujo de trabajo.Una
- Una clase WorkflowServiceHost para las interacciones basadas en mensajes en escenarios de varias instancias.
Cada una de estas clases ajusta el tiempo de ejecución de la actividad principal, representado como una clase ActivityInstance responsable de la ejecución de la actividad. Puede haber varios objetos ActivityInstance ejecutándose simultáneamente dentro de un dominio de aplicación.
Los tres objetos de interacción de host anteriores se crean a partir de un árbol de actividades al que se hace referencia como programa de flujo de trabajo. Con estos tipos o con un host personalizado que ajuste la clase ActivityInstance, los flujos de trabajo se pueden ejecutar dentro de cualquier proceso de Windows, incluidos las aplicaciones de consola, las aplicaciones basadas en formularios, los Servicios de Windows, los Sitios web de ASP.NET y los servicios de Windows Communication Foundation (WCF).
5. Pasos básico para iniciar solución ASP.NET con WorkFlow :
6. Descripción Solución de Ejemplo Test WorkFlow ASP.NET :
Se trata de la función Cifrado .NET llevada a la versión WorkFlow la cual es consumida desde Aplicación Web de ASP.NET
| 1. Diseño y Desarrollo WF | 2. Generación | 3. Consumo |
7. Descripción Solución de Ejemplo Hosting WorkFlow in ASP.NET :
Se trata de una solución que involucra 3 proyectos (Actividad de Envió de Email, Servicio WCF para Envío de Email, Aplicación Web de ASP.NET). Esta solución tiene finalidad de Enviar Email desde Aplicación cliente (ASP.NET) a través de un series elementos Workflow enlazado como un servicio WCF y biblioteca de proceso. Aquí es importe paremetrizar correctamente (From, host, password, subject, to, UserName) de la actividad SendEmailActivity contenida en el WorkFlow del Servicio WCF de Envío de Email, para obtener resultado satisfactorio.
| 1. Actividad de Envío de Email | 2. Servicio WCF de Envío de Email | 3. Consumo de Servicio WCF Email |
8. Códigos Fuentes:
- My WF Web App (Código Visual Basic 2010)
- Test WorkFlow in ASP.NET (Código Visual Basic 2010)
- Hosting WorkFlow in ASP.NET (Código C# 2010)
9. Puntos de Interés de WorkFlow para su estudio:
- Diseñar e implementar actividades personalizadas.
- Modelo de datos de Windows Workflow Foundation.
- Esperar entrada en un flujo de trabajo.
- Excepciones, transacciones y compensación.
- Hospedar de WorkFlow.
- Servicios de WorkFlow.
- Persistencia del WorkFlow.
- Migrar WorkFlow.
- Seguimiento y traza del WorkFlow
- Seguridad del WorkFlow
10. En Resumen:
Windows Workflow Foundation (WF) genera el nivel de abstracción para desarrollar aplicaciones interactivas de ejecución prolongada. Las unidades de trabajo se encapsulan como actividades. Las actividades se ejecutan en un entorno que proporcione los medios para el control de flujo, el control de excepciones, la propagación de errores, la persistencia de los datos de estado, la carga y descarga de flujos de trabajo en progreso de la memoria, el seguimiento y el flujo de la transacción.
11. Enlaces de Referencia:
- Windows Workflow Foundation 4 (Español)
- Windows Workflow Foundation Dev Center (Ingles)
- Beginner’s Guide to Windows Workflow Foundation (Ingles)
- WF 4.0: How to Execute a Worklflow (WorkflowInvoker vs WorkflowInstance) (Ingles)
- Windows Workflow Foundation (WF4) – Introduction to State Machine Hands On Lab (Ingles)
- Stopwatch Class (Ingles)