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

Post on 12-Jan-2015

924 views 1 download

description

Maxim IgnatovPresentation from Application Developers Days 2011

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

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

Foundation

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

mail: maxim.ignatov@e-legion.com

1www.e-legion.com

Human Resource Management System

2www.e-legion.com

Цели

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

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

3www.e-legion.com

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

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

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

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

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

Коротко о возможностях 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

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

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

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

23www.e-legion.com

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

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

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

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

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

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

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

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

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

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

Что если?

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

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

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

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

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

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

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

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

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

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/3939www.e-legion.com

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

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

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

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

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

maxim.ignatov@e-legion.com

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