workflow foundation
DESCRIPTION
Introduction into Workflow Foundation 4.0TRANSCRIPT
![Page 1: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/1.jpg)
Workflow Foundationв .NET Framework 4.0
Принципы работы и обзор возможностей
TulaDev.NET
Андрей КулешовCodemasters InternationalSenior C# Developer, Team Lead
[email protected] | http://www.codemastersintl.com/Blogs/Andrey-Kuleshov
![Page 2: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/2.jpg)
Что будет:Цели и задачи Workflow FoundationПринципы построения Workflow 4Hello Workflow WorldWorkflow и окружающий мирCodeActivitiesDynamic WorkflowsWorkflow PersistenceWorkflow WCF Service
![Page 3: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/3.jpg)
Цели и задачи Workflow Foundation
• Control Flow
• Реализация алгоритма внешне сходна с самим алгоритмом
• Улучшение коммуникации с экспертами предметной области
• Возможность изменять потоки выполнения на стороне клиента
![Page 4: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/4.jpg)
Принципы построения Workflow 4• Всё состоит из Activities – минимальных строительных единиц
• Можно как использовать различные Activities из стандартной поставки, так и реализовывать собственные
•В визуальном дизайнере выстраивается поток выполнения
• Некоторые Activity выполняют действия, некоторые – управляют потоком
• Хранение Workflow – в виду XAML-файлов
![Page 5: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/5.jpg)
ДемоHello Workflow World
![Page 6: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/6.jpg)
Code Activities
• CodeActivity позволяет писать свой код• AsyncCodeActivity позволяет безопасно выполнять в нем асинхронные операции• Activities используют In/Out/InOutArgument<T> для передачи данных• Activities используют Variable<T> для хранения данных• Доступ к данным должен всегда осуществляться через контекст• Async/CodeActivity<T> задает результат как OutArgument <T>•Перегружайте CacheMetadata для лучшей производительности•Перегружайте CacheMetadata для валидации Custom Activities
![Page 7: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/7.jpg)
Dynamic Workflows
• Workflow в .NET 4.0 хранятся в виде XAML
• По умолчанию workflow компилируется при компиляции всей программы
• Фактически, возможно создание Workflow из любой XAML-строки
• Хранение в виде файлов и в базах данных
• Редактирование на стороне клиента
![Page 8: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/8.jpg)
ДемоDynamic Workflows
![Page 9: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/9.jpg)
Workflows Persistence
• Большинство Workflows являются долгоживущими
• В первую очередь – при взаимодействии с человеком (изменение состояний в ответ на действия пользователя)
• Средство хранения Workflows с некоторой реализацией по умолчанию SqlWorkflowInstanceStore
• Сохранение традиций в области поддержки версионности Workflow (вылетает Loading Exception)
![Page 10: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/10.jpg)
ДемоWorkflows Persistence
![Page 11: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/11.jpg)
Чего сегодня не было,а стоило бы...
• Поддержка транзакций
• Разбор связки WF - WCF
• Работа с конкретными инстансами Workflow
• Детальный разбор Flowchart
• Другое
![Page 12: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/12.jpg)
Вопросы?Внимательно слушаю
Андрей КулешовCodemasters InternationalSenior C# Developer, Team [email protected] | http://www.codemastersintl.com/Blogs/Andrey-Kuleshov
![Page 13: Workflow Foundation](https://reader036.vdocuments.site/reader036/viewer/2022082921/555dc327d8b42ab56b8b4679/html5/thumbnails/13.jpg)
Источники• Центр разработчиков .NET – Windows Workflow Foundation
http://msdn.microsoft.com/ru-ru/netframework/aa663328• The Workflow Way
http://msdn.microsoft.com/en-us/library/dd851337.aspx• Сессия для новичков
http://www.msteched.com/2010/NorthAmerica/DEV207• A Developer's Introduction to Windows Workflow Foundation (WF) in .NET 4
http://msdn.microsoft.com/en-us/library/ee342461.aspx• Windows Workflow Foundation (WF) Screencasts
http://msdn.microsoft.com/en-us/netframework/wf-screencasts.aspx• Windows Workflow Foundation 4 Performance
http://msdn.microsoft.com/en-us/library/gg281645.aspx
Андрей КулешовCodemasters InternationalSenior C# Developer, Team [email protected] | http://www.codemastersintl.com/Blogs/Andrey-Kuleshov