Windows Workflow Foundation

jueves, 22 de marzo de 2007


¿Que es Windows Workflow Foundation?

Windows Workflow Foundation es el modelo de programación de Microsoft que permite crear aplicaciones con funcionalidad de workflow. Consiste en un motor de workflow embebido y un add-ins para el entorno de desarrollo de Visual Studio 2005.

Un workflow es un conjunto de actividades guardadas como un modelo que describe un proceso del mundo real. El trabajo pasa a través del modelo desde el principio hasta el final, y las actividades pueden ser ejecutadas por personas o por funciones del sistema.

Las actividades pueden ser simples o compuestas. Una actividad compuesta es un conjunto de actividades simples.

Seria totalmente posible escribir un workflow completamente en código, pero éste en general es mejor visto si es representado gráficamente.



¿Que puedo hacer con WWF?

Windows Workflow Foundation soporta una amplia gama de situaciones de flujo de trabajo, incluyendo aplicaciones de línea de negocio, flujo de páginas de interfaz de usuario, flujo de trabajo centrado en documentos, flujo de trabajo humano, flujo de trabajo compuesto para aplicaciones orientadas a servicios, flujo de trabajo impulsado por reglas empresariales y flujo de trabajo para gestión de sistemas.

Usando Windows Workflow Foundation, los desarrolladores pueden incorporar conceptos tales como scheduling, coordinación de tareas y escalabilidad en sus aplicaciones existentes sin costo alguno. WWF provee la plataforma base donde se pueden desarrollar aplicaciones con muchos procesos.


¿Cómo ejecuto un workflow?

Una vez que el modelo es compilado, puede ser ejecutado dentro de cualquier proceso de Windows, incluyendo aplicaciones de consola y WinForms, Servicios Windows y Web, como también páginas ASP.NET o aplicaciones de servidor.
Tambien en SharePoint y otros productos como Microsoft BizTalk Server y los servidores de Microsoft Office.

Tipos de workflows

Flujo Secuencial: Es aquel donde se ejecutan una serie de actividades en una secuencia predefinida. Esta secuencia puede incluir operadores de control de flujo similares a los que han existido durante años en lenguajes de programación. Por ejemplo, operadores de decisión (if…else) o de iteración (while). Se utiliza para flujos donde nos interesa que el control lo tanga primordialmente el proceso definido.

Flujo de Máquina de Estados: En este flujo las actividades se ejecutan dependiendo de el estado en el que se encuentre una máquina de estados, así como de las transiciones entre estos estados (que pueden ser iniciadas por las actividades mismas). Se utiliza normalmente para flujos donde se prefiere que el control recaiga mayormente en los usuarios del sistema.
Ejemplo


Requisitos

Microsoft .NET Framework 3.0 Redistributable Package
http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en

Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation)
http://www.microsoft.com/downloads/details.aspx?FamilyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&displaylang=en

Sitios de interés

http://wf.netfx3.com/
http://msdn2.microsoft.com/en-us/library/ms741723.aspx