Publicado por: Carlos martes, abril 12, 2011

A modo de resumen, ideas básicas que tenemos que tener presente cuando desarrollamos WWF.
Existen tres tipos de flujos de trabajo:

Workflow Secuencial, útil para operaciones repetitivas y predecibles que siempre son iguales (ParallelActivity, EventHandlingScopeActivity, ConditionedActivityGroup, ListenActivity, IfElseActivity, WhileActivity, ReplicatorActivity).

Workflow State Machine, compuesto por un conjunto de estados controlados por eventos (EventDrivenActivity, SetStateActivity, StateActivity, StateInitializationActivity, StateFinalizationActivity)

Workflow controlado por datos, depende de los datos para determinar si se ejecutan o no ciertas actividades basadas en un estado de datos local.

Existe tres modalidades de contemplar WF y la lógica de negocio:

Sólo código. Éste es el modo de creación predeterminado para Windows Workflow Foundation
Separación de código
Sin código

Un RuleSet está compuesto de una o más condiciones de regla y sus acciones resultantes. Son como reglas de instrucción IF-THEN-ELSE, con la condición que corresponde a IF, y las acciones que definen el comportamiento de las cláusulas THEN y ELSE. El mecanismo de evaluación puede describirse conceptualmente como:

Comience con la lista de reglas activas.

Busque la regla de prioridad máxima.

Evalúe la regla y ejecute sus acciones Then/Else, según corresponda.

Si las acciones de una regla actualizan un campo o propiedad utilizada por la condición de una o más reglas anteriores de la lista (las que tienen mayor prioridad), vuelva a evaluar esas reglas anteriores.

Windows Workflow Foundation proporciona compatibilidad para la recuperación de errores de transacción mediante la actividad TransactionScopeActivity para encapsular transacciones System.Transactions.NET Framework, que automáticamente deshacen sus acciones si se produce un error.

Su flujo de trabajo guarda periódicamente su estado en un almacenamiento persistente durante determinados puntos de control llamados puntos de persistencia. Si algo va mal en su flujo de trabajo, podría ser necesario que el motor de tiempo de ejecución recupere la información conservada para volver a un estado estable. Si dos o más componentes se están comunicando, es a menudo útil coordinar la persistencia para que los estados de los componentes sean coherentes. Los lotes de trabajo los usan los servicios externos al flujo de trabajo para conservar información de estado. Estos servicios procesan por lotes sus elementos de trabajo y comparten la misma transacción que la del flujo de trabajo. Si el flujo de trabajo no está llevando a cabo una transacción, algunos elementos de trabajo aún pueden ser procesados por lotes por los servicios durante los puntos de persistencia.
Windows Workflow Foundation proporciona IWorkBatch y IPendingWork para ayudar a los servicios y las instancias de flujo de trabajo a conservar información de estado.

El control de errores en Windows Workflow Foundation hace referencia al control de excepciones de una manera asincrónica. Esto significa que el motor de tiempo de ejecución de flujo de trabajo detecta las excepciones producidas en una actividad (explícita o implícitamente) y, a continuación, se programan en una cola para ser administradas más tarde. Esto difiere del control de excepciones normal en que si se produce una excepción en un bloque try, el bloque catch exception adecuado lo detecta o se devuelve inmediatamente al usuario.

El modelo de compensación de Windows Workflow Foundation para transacciones completadas es el proceso de administrar cualquier excepción de negocio que se produce en un flujo de trabajo y deshacer lógicamente las transacciones completadas. La compensación de Windows Workflow Foundation puede ser:

Implícita de forma predeterminada, cuando no se especifica el controlador de excepciones o no se administra una excepción concreta.

Explícita, cuando se utiliza la actividad CompensateActivity. Para obtener más información, consulte Uso de la actividad CompensateActivity.

Los servicios de comunicación de Windows Workflow Foundation admiten el intercambio de datos entre un flujo de trabajo y su entorno host. Los servicios de comunicación de Windows Workflow Foundation le permiten a un flujo de trabajo intercambiar datos con un host local mediante las clases HandleExternalEventActivity y CallExternalMethodActivity junto con las interfaces que admiten el atributo ExternalDataExchangeAttribute.

Windows Workflow Foundation proporciona a los diseñadores y programadores una manera declarativa de crear flujos de trabajo mediante el lenguaje de marcado de aplicaciones eXtensible (XAML) para crear archivos de origen de marcado. Estos archivos de marcado se pueden compilar en un tipo de flujo de trabajo, cargarse directamente en el motor de tiempo de ejecución en el flujo de trabajo en tiempo de ejecución, o se pueden compilar en un tipo de flujo de trabajo con archivos de código subyacente implementados en C# o Visual Basic. Esto significa que los archivos de marcado de flujo de trabajo pueden compilarse o no, según las razones comerciales y si se requiere lógica de implementación adicional. El uso de marcado del flujo de trabajo con archivos lógicos de código subyacente es similar a cómo ASP.NET separa los archivos de presentación de los archivos lógicos.

Windows Workflow Foundation contiene un conjunto predeterminado de actividades que proporcionan la funcionalidad para el flujo de control, las condiciones, el control de eventos, la administración de estados, y la comunicación con aplicaciones y servicios. Al diseñar flujos de trabajo, puede utilizar las actividades proporcionadas por Windows Workflow Foundation y crear sus propias actividades personalizadas.

Las actividades son las unidades de creación fundamentales de los flujos de trabajo. Un flujo de trabajo es un conjunto de actividades organizadas jerárquicamente en una estructura de árbol. Una actividad representa una acción en un flujo de trabajo. Puede ser una acción simple, como un retraso, o una actividad compuesta que se compone de varias actividades secundarias. Una actividad, como un flujo de trabajo, puede ser secuencial, lo que significa el orden de sus acciones se especifica en el tiempo de diseño. O, la actividad puede estar orientada a eventos, lo que significa que el orden de sus acciones se determina en el tiempo de ejecución en respuesta a eventos externos. Cada actividad tiene un contexto de ejecución que representa el entorno de ejecución de la actividad. Puede utilizar las API de Windows Workflow Foundation para crear actividades personalizadas. Desarrolle una actividad personalizada mediante la definición de una clase de actividad personalizada que derive directamente de Activity, o de una actividad predeterminada que deriva de Activity. Tiene la opción de personalizar varios aspectos de su actividad personalizada, por ejemplo, la serialización, la validación, el diseño y la lógica predeterminada, utilizando un conjunto de clases relacionadas que encapsulan esas partes de funcionalidad concretas. Los atributos de actividad se utilizan para hacer referencia a estas clases personalizadas de modo que se utilice la lógica personalizada en lugar de la lógica predeterminada que usan los atributos.

Windows Workflow Foundation proporciona numerosos servicios que su aplicación puede utilizar para procesar por lotes el trabajo mediante transacciones, administrar el subprocesamiento de instancias de flujo de trabajo, conservar instancias de flujo de trabajo en medios de almacenamiento para posterior recuperación y realizar el seguimiento de la ejecución de instancias de flujo de trabajo.

El motor de tiempo de ejecución de Windows Workflow Foundation es responsable de crear y mantener en ejecución las instancias de flujo de trabajo. Para conseguirlo, el motor de tiempo de ejecución necesita un proceso host que incluya aplicaciones de consola, aplicaciones basadas en Windows Forms, sitios web de ASP.NET y servicios web. Además, las aplicaciones habilitadas por flujos de trabajo que hospedan el motor de tiempo de ejecución de Windows Workflow Foundation pueden refinar más el comportamiento del motor de tiempo de ejecución del flujo de trabajo utilizando los servicios. Los servicios base en Windows Workflow Foundation se pueden configurar para que admitan transacciones, persistencia, seguimiento, subprocesamiento y programación. Para la funcionalidad específica de aplicación, su aplicación puede definir también servicios personalizados que se pueden agregar al motor de tiempo de ejecución.

Windows Workflow Foundation admite servicios de comunicación local en el entorno host del flujo de trabajo y las comunicaciones de servicio web.

Los servicios de comunicación de Windows Workflow Foundation permiten a un flujo de trabajo interactuar con un sistema externo a través de mensajería con métodos y eventos. Los eventos se usan para enviar datos a un flujo de trabajo, mientras que los flujos de trabajo utilizan métodos para enviar datos a la aplicación host. La capacidad de comunicarse con los flujos de trabajo a través de eventos proporciona una manera asincrónica de enviar datos a un flujo de trabajo.

Populares!

- Copyright © - Oubliette - -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -