Максим Игнатов «Windows Worflow Foundation»

42
Разработка приложений с использованием Workflow Foundation Максим Игнатов e-Legion Ltd. mail: [email protected] 1 www.e-legion.com

description

Maxim IgnatovPresentation from Application Developers Days 2011

Transcript of Максим Игнатов «Windows Worflow Foundation»

Page 1: Максим Игнатов «Windows Worflow Foundation»

Разработка приложений с использованием Workflow

Foundation

Максим Игнатовe-Legion Ltd.

mail: [email protected]

1www.e-legion.com

Page 2: Максим Игнатов «Windows Worflow Foundation»

Human Resource Management System

2www.e-legion.com

Page 3: Максим Игнатов «Windows Worflow Foundation»

Цели

http://www.flickr.com/photos/lofink/4501610335/

Узкие места WFВарианты решений

3www.e-legion.com

Page 4: Максим Игнатов «Windows Worflow Foundation»

Ретроспектива ADD Conf

http://www.flickr.com/photos/lofink/4501610335/

Новая технологияHow To

Хочется НЕ хочетсяГотовый продуктWell Done

http://www.flickr.com/photos/lofink/4501610335/4www.e-legion.com

Page 5: Максим Игнатов «Windows Worflow Foundation»

Коротко о возможностях WF

http://www.flickr.com/photos/lofink/4501610335/

Бизнес-процесс – как отдельная сущностьLong running processГибкий фрэймворкИнтеграция с другими технологиями

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/5www.e-legion.com

Page 6: Максим Игнатов «Windows Worflow Foundation»
Page 7: Максим Игнатов «Windows Worflow Foundation»

Xaml or Assembly

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/7www.e-legion.com

Page 8: Максим Игнатов «Windows Worflow Foundation»

Транзакционность процессов

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/8www.e-legion.com

Page 9: Максим Игнатов «Windows Worflow Foundation»

Custom Activity

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/9www.e-legion.com

Page 10: Максим Игнатов «Windows Worflow Foundation»

AppFabric

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/10www.e-legion.com

Page 11: Максим Игнатов «Windows Worflow Foundation»

Примеры

http://www.flickr.com/photos/lofink/4501610335/

RSS ReaderFactorial CalculatorApproval Process

Много, много, много других примеров

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/11www.e-legion.com

Page 12: Максим Игнатов «Windows Worflow Foundation»

RSS Reader

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/12www.e-legion.com

Xaml WF definitionПередача в WF объектов0 ветвлений бизнес-процесса

http://www.techdays.ru/videos/2470.html

Page 13: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/13www.e-legion.com

Page 14: Максим Игнатов «Windows Worflow Foundation»

RSS Reader

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/14www.e-legion.com

Page 15: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/

Page 16: Максим Игнатов «Windows Worflow Foundation»

Factorial Calculator

http://www.flickr.com/photos/lofink/4501610335/

Xaml WF definitionПередача в WF объектов0 ветвлений бизнес-процесса

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/16www.e-legion.com

http://www.techdays.ru/videos/2470.html

Page 17: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/17www.e-legion.com

Page 18: Максим Игнатов «Windows Worflow Foundation»

Factorial Calculator

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/18www.e-legion.com

Page 19: Максим Игнатов «Windows Worflow Foundation»

Approval process

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/

Code WF definition – 2 штука Передача в WF объектовРазветвленный бизнес-процессWCF взаимодействие

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/19www.e-legion.com

Page 20: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/

Page 21: Максим Игнатов «Windows Worflow Foundation»

Approval process

http://www.flickr.com/photos/lofink/4501610335/

WF

Transferred objects

Contract types

Custom Activities

Database objects

Typed Arguments

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/21www.e-legion.com

Page 22: Максим Игнатов «Windows Worflow Foundation»
Page 23: Максим Игнатов «Windows Worflow Foundation»

Подходы к проектированию WF

http://www.flickr.com/photos/lofink/4501610335/23

Разделить процессы на подпроцессыЕдиный процесс на все

23www.e-legion.com

Page 24: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/

Page 25: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/

Page 26: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/

Удачно соотносится с моделью данныхЛогически понятнейМенее “тяжеловесный” WFНужна логика маршрутизации к нужным WF

Процессы на подпроцессы

http://www.flickr.com/photos/lofink/4501610335/2626www.e-legion.com

Page 27: Максим Игнатов «Windows Worflow Foundation»

Единый процесс на все

http://www.flickr.com/photos/lofink/4501610335/

Маршрутизация к WF не требуетсяМодель “размазана” на весь WFБолее “тяжеловесный” WF

http://www.flickr.com/photos/lofink/4501610335/2727www.e-legion.com

Page 28: Максим Игнатов «Windows Worflow Foundation»

Что если?

http://www.flickr.com/photos/lofink/4501610335/

Когда в WF изменилась логикаКогда в WF изменились входные или выходные параметрыКогда в WF + WCF поменялось OperationNameИзменили базу данных

WF

Transferred objects

Contract types

Custom Activities

Database objects

Typed Arguments

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/2828www.e-legion.com

Page 29: Максим Игнатов «Windows Worflow Foundation»

О чем пойдет речь

http://www.flickr.com/photos/lofink/4501610335/

Версионность процессовПоддержка старых процессовМиграция

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/2929www.e-legion.com

Page 30: Максим Игнатов «Windows Worflow Foundation»

30

WF Loader

XAML Service Save To DBLoad From DB

Load WFPersist WF

Resume Bookmark

WF Services

Migrate

DAL Services

Get ActionsDo Action

ASP Pages

30www.e-legion.com

Page 31: Максим Игнатов «Windows Worflow Foundation»

31

XAML Service Save To DBLoad From DB

Load WFPersist WF

Resume Bookmark

WF Services

Migrate

DAL Services

Get ActionsDo Action

ASP Pages

31www.e-legion.com

WF Loader

Page 32: Максим Игнатов «Windows Worflow Foundation»

32

WF Loader

Save To DBLoad From DB

Load WFPersist WF

Resume Bookmark

WF Services

Migrate

DAL Services

Get ActionsDo Action

ASP Pages

32www.e-legion.com

XAML Service

Page 33: Максим Игнатов «Windows Worflow Foundation»

33

WF Loader

XAML Service Save To DBLoad From DB

Load WFPersist WF

Resume Bookmark

DAL Services

Get ActionsDo Action

ASP Pages

33www.e-legion.com

WF Services

Migrate

Page 34: Максим Игнатов «Windows Worflow Foundation»

34

WF Loader

XAML Service Save To DBLoad From DB

Load WFPersist WF

Resume Bookmark

WF Services

MigrateGet ActionsDo Action

ASP Pages

34www.e-legion.com

DAL Services

Page 35: Максим Игнатов «Windows Worflow Foundation»

35

WF Loader

XAML Service Save To DBLoad From DB

Load WFPersist WF

Resume Bookmark

WF Services

Migrate

DAL Services

Get ActionsDo Action

35www.e-legion.com

ASP Pages

Page 36: Максим Игнатов «Windows Worflow Foundation»

http://www.flickr.com/photos/lofink/4501610335/

Page 37: Максим Игнатов «Windows Worflow Foundation»
Page 38: Максим Игнатов «Windows Worflow Foundation»
Page 39: Максим Игнатов «Windows Worflow Foundation»

Ограничения

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/3939www.e-legion.com

WF не должен содержать внутри нестандартных типов данныхWF должен уметь перейти в любое из возможных состоянийСборки лучше не подписывать

Page 40: Максим Игнатов «Windows Worflow Foundation»

Biztalk with HWS

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/4040www.e-legion.com

Page 41: Максим Игнатов «Windows Worflow Foundation»

Sharepoint

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/4141www.e-legion.com

Page 42: Максим Игнатов «Windows Worflow Foundation»

Спасибо за внимание

Максим Игнатовe-Legion Ltd.

[email protected]

http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/http://www.flickr.com/photos/lofink/4501610335/4242www.e-legion.com