Введение
Технология Microsoft Windows Workflow Foundation (WF) — это технология Microsoft, предоставляющая API, движок рабочих процессов, работающий непосредственно в процессе, и переносимый дизайнер для реализации длительных процессов в виде рабочих процессов в приложениях .NET. Последняя версия WF была выпущена в составе .NET Framework версии 4.5 и называется (WF45). Рабочий процесс, в данном контексте, представляет собой последовательность отдельных этапов или фаз программирования. Каждый этап моделируется в WF как действие (Activity). .NET Framework предоставляет библиотеку действий (например, WriteLine — действие, которое выводит текст в консоль или другую форму вывода). Также можно разрабатывать пользовательские действия для расширения функциональности. Действия можно визуально компоновать в рабочие процессы с помощью Дизайнера рабочих процессов — дизайнерской поверхности, работающей в Visual Studio. Дизайнер также может быть размещен в других приложениях. Инкапсуляция функциональности программирования в действия позволяет разработчикам создавать более удобные в управлении приложения; каждый компонент выполнения может быть разработан как объект среды выполнения Common Language Runtime, выполнением которого управляет среда выполнения рабочих процессов.
Windows Workflow Foundation (WF) is a Microsoft technology that provides an API, an in process workflow engine, and a rehostable designer to implement long running processes as workflows within NET applications. The latest version of WF was released as part of the NET Framework version 4.5 and is referred to as (WF45). A workflow, as defined here, is a series of distinct programming steps or phases. Each step is modeled in WF as an Activity. The NET Framework provides a library of activities (such as WriteLine, an activity that writes text to the console or other form of output). Custom activities can also be developed for additional functionality. Activities can be assembled visually into workflows using the Workflow Designer, a design surface that runs within Visual Studio. The designer can also be hosted in other applications. Encapsulating programming functionality into the activities allows the developer to create more manageable applications; each component of execution can be developed as a Common Language Runtime object whose execution will be managed by the workflow runtime.
Версии Workflow Foundation
Workflow Foundation был впервые выпущен в версии 3 .NET Framework и в основном использует пространства имен System.WorkflowActivities, System.Workflow.ComponentModel и System.WorkflowRuntime. Рабочие процессы в версии 3 создавались с использованием либо последовательной модели (в которой действия выполняются последовательно, а завершение одного действия запускает следующее), либо модели конечного автомата (в которой действия выполняются в ответ на внешние события). Microsoft SharePoint 2007 использует WF 3. В .NET Framework 3.5 были представлены действия обмена сообщениями, которые интегрировали Workflow с Windows Communication Foundation (WCF). С новым действием ReceiveActivity рабочие процессы могли реагировать на входящие сообщения WCF. Новые возможности Workflow в версии 3.5 используют пространство имен System.ServiceModel. Microsoft SharePoint 2010 использует WF 3.5. В .NET Framework 4 Windows Workflow Foundation был значительно обновлен, с добавлением новых функций, таких как Data Contract Resolver, блок-схема и другие действия управления потоком. Workflow в .NET 4 использует пространство имен SystemActivities. Важно отметить, что в версии 4 больше не существует объекта Workflow Runtime; рабочие процессы выполняются непосредственно с использованием WorkflowApplication или WorkflowInvoker. Действия, созданные в предыдущих версиях .NET Framework, могут выполняться в рабочих процессах .NET 4 с помощью действия Interop. Будущие версии и выпуски Windows Phone будут включать обновленные конечные автоматы и динамическое обновление.
Авторские рабочие процессы
Рабочие процессы создаются либо путем определения в языке разметки расширяемых приложений XAML с использованием конструктора рабочих процессов, либо путем программной сборки на языке .NET, таком как C# или VB.NET. Если используется конструктор, действия компонуются на панели конструктора рабочего процесса путем перетаскивания из панели инструментов. Аргументы и переменные рабочего процесса также создаются и назначаются в конструкторе. Если рабочий процесс собирается в коде, действия создаются экземплярами, как и другие объекты CLR, и компонуются в коллекции, подчиненные одной родительской активности, обычно Sequence или Flowchart. Затем родительская активность выполняется с помощью WorkflowApplication или WorkflowInvoker и запускается как рабочий процесс. Термин "Workflow" здесь обычно относится к корневой активности, выполняемой хостом. Рабочие процессы могут использовать как стандартные действия, так и пользовательские действия. Стандартные действия включают в себя действия управления потоком, такие как DoWhile, действия, связанные с блок-схемами, такие как FlowDecision, действия WCF Messaging, такие как Send, и примитивные действия, выполняющие простые задачи, такие как Assign и WriteLine. Пользовательские действия — это объекты CLR, созданные пользователем, производные от класса System.Activities.Activity и предоставляющие декларативную функциональность, позволяя разработчику определять поведение выполнения действия в коде. Пользовательские действия могут получить преимущества от наличия связанного с ними пользовательского конструктора действий для улучшения визуального опыта разработки в Visual Studio IDE.
.NET Framework 4.0 (вводится в действие с 1 января 2013)
Марк Коллинз: Основы WF: Windows Workflow в .NET 4.0, Apress, 19 марта 2010 года,
Брюс Буковикс: Pro WF: Windows Workflow в .NET 4, Apress, 29 июня 2010 года,
Эндрю Чжу: Microsoft Windows Workflow Foundation 4.0. Кулинарная книга, Packt Publishing, 24 сентября 2010 года.
Bruce Bukovics: Pro WF: Windows Workflow in NET 4, Apress, June 29, 2010,
Andrew Zhu: Microsoft Windows Workflow Foundation 4.0 Cookbook, Packt Publishing, September 24, 2010,
.NET Framework 4.5 (вводится в действие с 1 января 2013)
Bayer White: Pro WF 4.5, Apress, 14 ноября 2012 года.