
Windows Workflow Foundation ( WF [ 2 ] ) es una tecnología de Microsoft que proporciona una API , un motor de flujo de trabajo en proceso y un diseñador rehostable para implementar procesos de larga duración como flujos de trabajo dentro de aplicaciones .NET . La última versión de WF se lanzó como parte de .NET Framework versión 4.5 y se conoce como (WF45). [ 3 ]
Un flujo de trabajo, tal como se define aquí, es una serie de pasos o fases de programación diferenciadas. Cada paso se modela en WF como una actividad. .NET Framework proporciona una biblioteca de actividades (como WriteLine, que escribe texto en la consola u otro tipo de salida). También se pueden desarrollar actividades personalizadas para añadir funcionalidad. Las actividades se pueden ensamblar visualmente en flujos de trabajo mediante el Diseñador de flujos de trabajo, una interfaz de diseño que se ejecuta en Visual Studio . El diseñador también puede integrarse en otras aplicaciones.
Encapsular la funcionalidad de programación en las actividades permite al desarrollador crear aplicaciones más manejables; cada componente de ejecución puede desarrollarse como un objeto Common Language Runtime cuya ejecución será gestionada por el entorno de ejecución del flujo de trabajo.
Versiones de Workflow Foundation
- Workflow Foundation se lanzó por primera vez en la versión 3 de .NET Framework, [ 4 ] y utiliza principalmente los espacios de nombres System.Workflow.Activities , System.Workflow.ComponentModel y System.Workflow.Runtime . Los flujos de trabajo en la versión 3 se crearon utilizando el modelo secuencial (en el que las actividades se ejecutan en orden, y la finalización de una actividad conduce a la siguiente) o el modelo de máquina de estados (en el que las actividades se ejecutan en respuesta a eventos externos). Microsoft SharePoint 2007 utiliza WF 3.
- En .NET Framework 3.5, se introdujeron actividades de mensajería que integraban Workflow con Windows Communication Foundation (WCF). Con la nueva ReceiveActivity, los flujos de trabajo podían responder a los mensajes WCF entrantes. Las nuevas características de Workflow en la versión 3.5 utilizan el espacio de nombres System.ServiceModel. Microsoft SharePoint 2010 utiliza WF 3.5.
- En .NET Framework 4, Windows Workflow Foundation se actualizó ampliamente, incorporando nuevas características como Data Contract Resolver, Flowchart y otras actividades de control de flujo. Workflow en .NET 4 utiliza el espacio de nombres System.Activities . Cabe destacar que ya no existe un objeto Workflow Runtime en la versión 4; en su lugar, los flujos de trabajo se ejecutan directamente mediante WorkflowApplication o WorkflowInvoker.
- Las actividades creadas en versiones anteriores de .NET Framework pueden ser ejecutadas por flujos de trabajo de .NET 4 mediante la actividad Interop.
- Las futuras versiones y lanzamientos de Windows Phone incluirán una máquina de estados actualizada y la función de actualización dinámica.
Escenarios de uso del flujo de trabajo
Windows Workflow Foundation se utiliza para crear aplicaciones que ejecutan un proceso empresarial ordenado, como los pasos necesarios para aprobar un documento, contratar a un candidato para un puesto o realizar una compra. Estos procesos pueden ejecutarse en poco tiempo, pero suelen ser de larga duración, por lo que la aplicación deberá cerrarse para ahorrar memoria entre pasos. Normalmente, los procesos empresariales que se modelan como flujos de trabajo presentan las siguientes características:
- Debe existir una lógica empresarial específica que pueda necesitar modificarse periódicamente, como el cálculo de impuestos o gastos de envío necesarios para determinar el precio de compra de un artículo, o la serie de pasos necesarios para aprobar una compra, una contratación o un proceso.
- El flujo de trabajo incluye varias entradas que pueden llegar con horas o días de diferencia.
- Poseer una lógica empresarial avanzada que podría requerir que la ejecución del flujo de trabajo se desplace por diferentes ramas dependiendo de las distintas circunstancias.
- Es necesario interactuar con otros sistemas, como una base de datos, un sitio web u otra aplicación cliente, o un servicio web.
Flujos de trabajo de autoría
Los flujos de trabajo se crean definiéndolos en XAML ( Lenguaje de Marcado de Aplicaciones Extensible) mediante el diseñador de flujos de trabajo, o bien ensamblándolos mediante programación en un lenguaje .NET como C# o VB.NET. Si se utiliza el diseñador, las actividades se ensamblan en el lienzo del diseñador de flujos de trabajo arrastrándolas desde la caja de herramientas. Los argumentos y variables del flujo de trabajo también se crean y asignan dentro del diseñador. Si un flujo de trabajo se ensambla mediante código, las actividades se instancian como otros objetos CLR y se agrupan en colecciones de una única actividad principal, generalmente una Secuencia o un Diagrama de Flujo. Esta actividad principal se ejecuta mediante WorkflowApplication o WorkflowInvoker y se ejecuta como un flujo de trabajo. El término "flujo de trabajo" aquí generalmente se refiere a la actividad raíz que ejecuta el host. Los flujos de trabajo pueden usar tanto actividades predefinidas como actividades personalizadas. Las actividades predefinidas incluyen actividades de control de flujo como DoWhile, actividades relacionadas con diagramas de flujo como FlowDecision, actividades de mensajería WCF como Send y actividades primitivas que realizan tareas simples como Assign y WriteLine. Las actividades personalizadas son objetos CLR creados por el usuario que derivan de la clase System.Activities.Activity y proporcionan funcionalidad declarativa al permitir que el desarrollador defina el comportamiento de ejecución de la actividad mediante código. Las actividades personalizadas pueden beneficiarse de tener un diseñador de actividades personalizado asociado para mejorar la experiencia de creación visual en el IDE de Visual Studio.
Libros sobre flujo de trabajo
.NET Framework 3.0 y 3.5
- Dharma Shukla, Bob Schmidt: Fundamentos esenciales del flujo de trabajo en Windows , Addison-Wesley Professional, 13 de octubre de 2006, ISBN 0-321-39983-8
- Michael Stiefel: Creación de aplicaciones con Windows Workflow Foundation (WF): Fundamentos de Windows Workflow Foundation (Digital Short Cut) , 5 de junio de 2007, Kindle, ISBN 0-321-51454-8
- Brian Noyes: Desarrollo de aplicaciones con Windows Workflow Foundation (WF) (Vídeo de formación) , 7 de junio de 2007, Brian Noyes, ISBN 0-321-50313-9
- Brian R. Myers: Fundamentos de la agricultura de campo , Apress, 23 de octubre de 2006, ISBN 1-59059-718-4
- Bruce Bukovics: Pro WF: Windows Workflow in .NET 3.0 , Apress, 19 de febrero de 2007, ISBN 1-59059-778-8
- Todd Kitta: Fundamentos del flujo de trabajo profesional en Windows , Wrox, 12 de marzo de 2007, ISBN 0-470-05386-0
- Kenn Scribner: Fundamentos del flujo de trabajo de Microsoft Windows paso a paso , Microsoft Press, 28 de febrero de 2007, ISBN 0-7356-2335-X
.NET Framework 4.0
- Mark Collins: Introducción a WF: Flujo de trabajo de Windows en .NET 4.0 , Apress, 19 de marzo de 2010, ISBN 978-1-4302-2485-3
- Bruce Bukovics: Pro WF: Windows Workflow in .NET 4 , Apress, 29 de junio de 2010, ISBN 978-1-4302-2721-2
- Andrew Zhu: Microsoft Windows Workflow Foundation 4.0 Cookbook , Packt Publishing, 24 de septiembre de 2010, ISBN 978-1-84968-078-3
.NET Framework 4.5
- Bayer White: Pro WF 4.5 , Apress, 14 de noviembre de 2012, ISBN 978-1-4302-4383-0
Referencias
- ↑ "Preguntas frecuentes sobre Windows Workflow Foundation (WF)" . Microsoft. 22 de diciembre de 2018. Consultado el 25 de enero de 2021.
WF es una abreviatura aceptable para Windows Workflow Foundation. WWF no es aceptable porque es una marca registrada del Fondo Mundial para la Naturaleza (WWF)
. - ↑ La abreviatura WWF no se utiliza porque es una marca registrada del Fondo Mundial para la Naturaleza [ 1 ].
- ↑ "Introducción para desarrolladores a Windows Workflow Foundation (WF) en .NET 4" . 21 de abril de 2010. Consultado el 21 de agosto de 2012 .
- ↑ .NET Framework 3.0
Enlaces externos
- Documentación de Microsoft: Fundamentos del flujo de trabajo de Windows
- Windows Vista
- Terminología de .NET Framework