Información general de Windows Workflow

Un flujo de trabajo es un conjunto de unidades elementales llamadas actividades que están almacenadas como un modelo que describe un proceso real. Los flujos de trabajo 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 al final y las actividades pueden ser ejecutadas por personas o por funciones de sistema.

Motor de tiempo de ejecución del flujo de trabajo

Las instancias de flujo de trabajo en ejecución se crean y se mantienen por medio de un motor de tiempo de ejecución en curso con el que el proceso de host interactúa a través de alguna de las clases siguientes:

  • 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 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 encapsule 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).

Workflow components in the host process
Componentes del flujo de trabajo en el proceso de host

Interacción entre los componentes de flujo de trabajo

El siguiente diagrama muestra cómo los componentes de flujo de trabajo interactúan unos con otros.

Diagram that shows how workflow components interact.

En el diagrama anterior, el método Invoke de la clase WorkflowInvoker se usa para invocar varias instancias de flujo de trabajo. WorkflowInvoker se usa para los flujos de trabajo ligeros que no necesitan la administración desde el host; los flujos de trabajo que necesitan la administración desde el host (como la reanudación de Bookmark) se deben ejecutar mediante Run en su lugar. Antes de invocar una nueva instancia de flujo de trabajo no es necesario esperar a que se complete la instancia de flujo de trabajo en ejecución. El motor de tiempo de ejecución permite ejecutar varias instancias de flujo de trabajo simultáneamente. Los flujos de trabajo invocados son los siguientes:

Consulte también