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 realoble para implementar procesos de larga ejecución como flujos de trabajo dentro de aplicaciones .NET . La corriente [ ¿cuándo? ] versión de WF se lanzó como parte de .NET Framework versión 4.5 y se conoce como (WF45). [3]
Desarrollador (es) | Microsoft |
---|---|
Versión inicial | 21 de noviembre de 2006 |
Lanzamiento estable | WF45 / 15 de agosto de 2012 |
Sistema operativo | Microsoft Windows |
Plataforma | .NET Framework |
Tipo | Marco de software |
Sitio web | docs |
Un flujo de trabajo, como se define aquí, es una serie de distintos pasos o fases de programación. Cada paso se modela en WF como una actividad. .NET Framework proporciona una biblioteca de actividades (como WriteLine, una actividad que escribe texto en la consola u otra forma de salida). También se pueden desarrollar actividades personalizadas para una funcionalidad adicional. Las actividades se pueden ensamblar visualmente en flujos de trabajo mediante el Diseñador de flujo de trabajo, una superficie de diseño que se ejecuta dentro de Visual Studio . El diseñador también puede alojarse 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 se puede desarrollar como un objeto Common Language Runtime cuya ejecución será gestionada por el workflow runtime.
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, con la finalización de una actividad que lleva a la siguiente) o el modelo de máquina de estado (en el que las actividades se ejecutan en respuesta a eventos externos). Microsoft SharePoint 2007 usa WF 3.
- En .NET 3.5, se introdujeron actividades de mensajería que integraron el flujo de trabajo con Windows Communication Foundation (WCF). Con la nueva ReceiveActivity, los flujos de trabajo podrían responder a los mensajes WCF entrantes. Las nuevas funciones de Workflow en la versión 3.5 utilizan el espacio de nombres System.ServiceModel. Microsoft SharePoint 2010 usa WF 3.5.
- En .NET 4, Windows Workflow Foundation se actualizó en gran medida, con nuevas características como Data Contract Resolver, Flowchart y otras actividades de control de flujo agregadas. El flujo de trabajo en .NET 4 usa el espacio de nombres System.Activities. En particular, ya no hay un objeto Workflow Runtime en la versión 4; Los flujos de trabajo se ejecutan directamente utilizando WorkflowApplication o WorkflowInvoker en su lugar.
- Las actividades creadas en versiones anteriores de .NET Framework se pueden ejecutar mediante flujos de trabajo de .NET 4 utilizando la actividad Interop.
- Las futuras versiones y lanzamientos de Windows Phone incluirán una máquina de estado actualizada y una actualización dinámica.
Escenarios de uso del flujo de trabajo
Windows Workflow Foundation se utiliza para crear aplicaciones que ejecutan un proceso comercial ordenado, como los pasos necesarios para aprobar un documento, contratar a un candidato para un puesto o realizar una compra. Estos procesos se pueden ejecutar en poco tiempo, pero normalmente son de larga duración, en los que la aplicación deberá cerrarse para conservar memoria entre los pasos. Normalmente, los procesos de negocio que se modelan como flujos de trabajo tienen las siguientes características:
- Tener una lógica comercial específica que pueda necesitar cambiar periódicamente, como el cálculo de impuestos o envío necesario para determinar el precio de compra de un artículo, o la serie de pasos necesarios para aprobar una compra, contratación o proceso.
- Tener varias entradas en el flujo de trabajo que pueden ocurrir con horas o días de diferencia.
- Tenga una lógica empresarial avanzada que pueda requerir que la ejecución del flujo de trabajo se desplace por diferentes ramas en función de las diferentes circunstancias.
- Necesita interactuar con otros sistemas, como una base de datos, un sitio web u otra aplicación cliente o servicio web.
Flujos de trabajo de creación
Los flujos de trabajo se crean definiéndose en XAML Extensible Application Markup Language con el diseñador de flujo de trabajo o ensamblándose 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 flujo 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 en código, las actividades se instancian como otros objetos CLR y se ensamblan en colecciones de una sola actividad principal, generalmente una secuencia o un diagrama de flujo. A continuación, la actividad principal única 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 listas para usar como actividades personalizadas. Las actividades listas para usar 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 se 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 en el código. Las actividades personalizadas pueden beneficiarse de tener un diseñador de actividades personalizado asociado a ellas para mejorar la experiencia de creación visual en el IDE de Visual Studio.
Libros sobre flujo de trabajo
.NET 3.0 y 3.5
- Dharma Shukla, Bob Schmidt: Essential Windows Workflow Foundation , Addison-Wesley Professional, 13 de octubre de 2006, ISBN 0-321-39983-8
- Michael Stiefel: Creación de aplicaciones con Windows Workflow Foundation (WF): Conceptos básicos de Windows Workflow Foundation (atajo digital) , 5 de junio de 2007, Kindle, ISBN 0-321-51454-8
- Brian Noyes: Desarrollo de aplicaciones con Windows Workflow Foundation (WF) (formación en vídeo) , 7 de junio de 2007, Brian Noyes, ISBN 0-321-50313-9
- Brian R. Myers: Foundations of WF , 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: Professional Windows Workflow Foundation , Wrox, 12 de marzo de 2007, ISBN 0-470-05386-0
- Kenn Scribner: Microsoft Windows Workflow Foundation Step by Step , Microsoft Press, 28 de febrero de 2007, ISBN 0-7356-2335-X
.NET 4.0
- Mark Collins: Beginning WF: Windows Workflow in .NET 4.0 , Apress, 19 de marzo de 2010, ISBN 978-1-4302-2485-3
- Bruce Bukovics: Pro WF: flujo de trabajo de Windows en .NET 4 , Apress, 29 de junio de 2010, ISBN 978-1-4302-2721-2
- Andrew Zhu: Libro de recetas de Microsoft Windows Workflow Foundation 4.0 , Packt Publishing, 24 de septiembre de 2010, ISBN 978-1-84968-078-3
.NET 4.5
- Bayer White: Pro WF 4.5 , Apress, 14 de noviembre de 2012, ISBN 978-1-4302-4383-0
Referencias
- ^ "Preguntas frecuentes de Windows Workflow Foundation (WF)" . Microsoft. 22 de diciembre de 2018 . Consultado el 25 de enero de 2021 .
WF es una abreviatura aceptable de Windows Workflow Foundation. WWF no es aceptable porque es una marca registrada de World Wildlife Fund
- ^ La abreviatura WWF no se usa porque está registrada por el Fondo Mundial para la Naturaleza [1]
- ^ "Introducción de un desarrollador a Windows Workflow Foundation (WF) en .NET 4" . Consultado el 21 de agosto de 2012 .
- ^ .NET Framework 3.0