Основа рабочего процесса Windows

Технология Майкрософт
Windows Workflow Foundation (WF)
Разработчик(и)Майкрософт
Первоначальный выпуск21 ноября 2006 г. ; 18 лет назад ( 2006-11-21 )
Стабильный релиз
WF45 / 15 августа 2012 г. ; 12 лет назад ( 2012-08-15 )
Операционная системаМайкрософт Виндоус
Платформа.NET Framework
ТипПрограммная структура
Веб-сайтdocs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/
dot net три точки ноль windows стек диаграмма
Эта подсистема является частью .NET Framework 3.0.

Windows Workflow Foundation ( WF [2] ) — это технология Microsoft , которая предоставляет API , механизм внутрипроцессного рабочего процесса и повторно размещаемый конструктор для реализации длительных процессов в качестве рабочих процессов в приложениях .NET . Последняя версия WF была выпущена как часть .NET Framework версии 4.5 и называется (WF45). [3]

Рабочий процесс, как здесь определено, представляет собой ряд отдельных шагов или фаз программирования. Каждый шаг моделируется в WF как Activity. .NET Framework предоставляет библиотеку действий (например, WriteLine, действие, которое записывает текст в консоль или другую форму вывода). Пользовательские действия также могут быть разработаны для дополнительной функциональности. Действия могут быть визуально собраны в рабочие процессы с помощью Workflow Designer, поверхности проектирования, которая работает в Visual Studio . Дизайнер также может быть размещен в других приложениях.

Инкапсуляция функциональности программирования в действия позволяет разработчику создавать более управляемые приложения; каждый компонент выполнения может быть разработан как объект Common Language Runtime , выполнением которого будет управлять среда выполнения рабочего процесса.

Версии Workflow Foundation

  • Workflow Foundation впервые был выпущен в версии 3 .NET Framework, [4] и в основном использует пространства имен System.Workflow.Activities, System.Workflow.ComponentModel и System.Workflow.Runtime. Рабочие процессы в версии 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, Flowchart и другие действия по управлению потоком. Рабочий процесс в .NET 4 использует пространство имен System.Activities. В частности, в версии 4 больше нет объекта Workflow Runtime; рабочие процессы выполняются напрямую с использованием WorkflowApplication или WorkflowInvoker.
  • Действия, созданные в предыдущих версиях .NET Framework, могут выполняться рабочими процессами .NET 4 с использованием действия Interop.
  • Будущие версии и релизы Windows Phone будут включать обновленный конечный автомат и динамическое обновление.

Сценарии использования рабочего процесса

Windows Workflow Foundation используется для создания приложений, которые выполняют упорядоченный бизнес-процесс, например, шаги, необходимые для утверждения документа, найма кандидата на должность или совершения покупки. Эти процессы могут выполняться в течение короткого промежутка времени, но обычно являются длительными, в которых приложение должно завершать работу для сохранения памяти между шагами. Обычно бизнес-процессы, которые должны быть смоделированы как рабочие процессы, имеют следующие характеристики:

  • Иметь определенную бизнес-логику, которую, возможно, придется периодически менять, например, расчет налога или доставки, необходимый для определения цены покупки товара, или последовательность шагов, необходимых для одобрения покупки, найма или процесса.
  • Вносить несколько изменений в рабочий процесс, которые могут происходить с интервалом в несколько часов или дней.
  • Иметь расширенную бизнес-логику, которая может потребовать выполнения рабочего процесса с перемещением по разным ветвям в зависимости от различных обстоятельств.
  • Необходимость взаимодействия с другими системами, такими как база данных, веб-сайт или другое клиентское приложение или веб-сервис.

Рабочие процессы создания

Рабочие процессы создаются либо путем определения в языке XAML Extensible Application Markup Language с помощью конструктора рабочих процессов, либо путем программной сборки на языке .NET, таком как C# или VB.NET. Если используется конструктор, действия собираются на холсте конструктора рабочих процессов путем перетаскивания их из панели инструментов. Аргументы и переменные рабочего процесса также создаются и назначаются в конструкторе. Если рабочий процесс собирается в коде, действия создаются как и другие объекты CLR и собираются в коллекции одного родительского действия, обычно Sequence или Flowchart. Затем одно родительское действие выполняется с помощью WorkflowApplication или WorkflowInvoker и запускается как рабочий процесс. Термин «рабочий процесс» здесь обычно относится к корневому действию, которое выполняется хостом. Рабочие процессы могут использовать как готовые действия, так и пользовательские действия. Готовые действия включают действия по управлению потоком, такие как DoWhile, действия, связанные с Flowchart, такие как FlowDecision, действия WCF Messaging, такие как Send, и примитивные действия, которые выполняют простые задачи, такие как Assign и WriteLine. Пользовательские действия — это созданные пользователем объекты CLR, которые являются производными от класса System.Activities.Activity и предоставляют декларативную функциональность, позволяя разработчику определять поведение выполнения действия в коде. Пользовательские действия могут выиграть от наличия конструктора пользовательских действий, связанного с ними, для улучшения визуального опыта создания в Visual Studio IDE.

Книги по Workflow

.NET Framework 3.0 и 3.5

  • Дхарма Шукла, Боб Шмидт: Essential Windows Workflow Foundation , Addison-Wesley Professional, 13 октября 2006 г., ISBN  0-321-39983-8
  • Майкл Штифель: Создание приложений с помощью Windows Workflow Foundation (WF): Основы Windows Workflow Foundation (цифровой ярлык) , 5 июня 2007 г., Kindle, ISBN 0-321-51454-8 
  • Брайан Нойес: Разработка приложений с помощью Windows Workflow Foundation (WF) (видеообучение) , 7 июня 2007 г., Брайан Нойес, ISBN 0-321-50313-9 
  • Брайан Р. Майерс: Основы WF , Apress, 23 октября 2006 г., ISBN 1-59059-718-4 
  • Брюс Буковикс: Pro WF: Windows Workflow в .NET 3.0 , Apress, 19 февраля 2007 г., ISBN 1-59059-778-8 
  • Тодд Китта: Professional Windows Workflow Foundation , Wrox, 12 марта 2007 г., ISBN 0-470-05386-0 
  • Кенн Скрибнер: Microsoft Windows Workflow Foundation Step by Step , Microsoft Press, 28 февраля 2007 г., ISBN 0-7356-2335-X 

.NET Framework 4.0

  • Марк Коллинз: Начало работы с WF: Windows Workflow в .NET 4.0 , Apress, 19 марта 2010 г., ISBN 978-1-4302-2485-3 
  • Брюс Буковикс: Pro WF: Windows Workflow в .NET 4 , Apress, 29 июня 2010 г., ISBN 978-1-4302-2721-2 
  • Эндрю Чжу: Microsoft Windows Workflow Foundation 4.0 Cookbook , Packt Publishing, 24 сентября 2010 г., ISBN 978-1-84968-078-3 

.NET Framework 4.5

Ссылки

  1. ^ "Windows Workflow Foundation (WF) FAQ". Microsoft. 22 декабря 2018 г. Получено 25 января 2021 г. WF — приемлемая аббревиатура для Windows Workflow Foundation. WWF недопустимо, поскольку это зарегистрированная торговая марка Всемирного фонда дикой природы
  2. ^ Аббревиатура WWF не используется, поскольку она является торговой маркой Всемирного фонда дикой природы [1]
  3. ^ "Введение разработчика в Windows Workflow Foundation (WF) в .NET 4". 21 апреля 2010 г. Получено 21 августа 2012 г.
  4. ^ .NET Framework 3.0
  • Microsoft Docs: Windows Workflow Foundation
Взято с "https://en.wikipedia.org/w/index.php?title=Windows_Workflow_Foundation&oldid=1258634319"