Введение

Технология Microsoft Windows Workflow Foundation (WF) — это технология Microsoft, предоставляющая API, движок рабочих процессов, работающий непосредственно в процессе, и переносимый дизайнер для реализации длительных процессов в виде рабочих процессов в приложениях .NET. Последняя версия WF была выпущена в составе .NET Framework версии 4.5 и называется (WF45). Рабочий процесс, в данном контексте, представляет собой последовательность отдельных этапов или фаз программирования. Каждый этап моделируется в WF как действие (Activity). .NET Framework предоставляет библиотеку действий (например, WriteLine — действие, которое выводит текст в консоль или другую форму вывода). Также можно разрабатывать пользовательские действия для расширения функциональности. Действия можно визуально компоновать в рабочие процессы с помощью Дизайнера рабочих процессов — дизайнерской поверхности, работающей в Visual Studio. Дизайнер также может быть размещен в других приложениях. Инкапсуляция функциональности программирования в действия позволяет разработчикам создавать более удобные в управлении приложения; каждый компонент выполнения может быть разработан как объект среды выполнения Common Language 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 года.

.NET Framework 4.5 (вводится в действие с 1 января 2013)

Bayer White: Pro WF 4.5, Apress, 14 ноября 2012 года.