Modelování procesů pomocí workflow Petr Puš Software Architect Unicorn Systems a.s.
Agenda Základní principy workflow Novinky ve WWF 4.0 Tvorba workflow pomocí Visual Studio 2010 Tvorba vlastních aktivit Integrace s WCF
Agenda Základní principy workflow Novinky ve WWF 4.0 Tvorba workflow pomocí Visual Studio 2010 Tvorba vlastních aktivit Integrace s WCF
K čemu workflow? V aplikacích jsou často implementovány procesy Obchodní či systémové Např. Schválení půjčky, Alokace zdrojů Přenos složitějších procesů do kódu může být problematický Výsledkem často těžko pochopitelný kód Vyšší náchylnost k chybám při změně Pomocí workflow lze procesy efektivně modelovat Větší korelace se zadáním Podpora vizuálního návrhu Efektivnější vývoj
Windows Workflow Foundation Programovací model, engine a nástroje pro efektivní tvorbu Windows aplikací založených na workflow Jednotná worfklow technologie na platformě Windows Framework pro tvorbu workflow Součást .NET Framework od verze 3.0 Jedna technologie pro obchodní i technická workflow Použitelné na řadu scénářů Využito například v produktech SharePoint a BizTalk Deklarativní tvorba workflow Jednoduché použití Rozšiřitelný framework
Architektura Klíčové koncepty Komponenty Workflow je složeno z aktivit Workflow běží v rámci hostitelského procesu Jakákoli aplikace či server Vývojáři mohou tvořit vlastní knihovny aktivit Komponenty Base Activity Library: Out-of-box aktivity a základ pro tvorbu vlastních aktivit Runtime Engine: Zajištění běhu workflow a řízení stavu Runtime Services: Flexibilita hostitelského prostředí a komunikace s okolím Visual Designer: Grafická tvorba workflow
Aktivity: Koncept rozšiřitelnosti Domain-Specific Workflow Packages Compliance DMS CRM IT Mgmt Base Activity Library Custom Activity Libraries Compose activities Extend activity Author new activity Out-of-Box Activities
Agenda Základní principy workflow Novinky ve WWF 4.0 Tvorba workflow pomocí Visual Studio 2010 Tvorba vlastních aktivit Integrace s WCF
Nedostatky WWF 3.X Omezená podpora pro „XAML-only“ workflow Problematické verzování Omezená základní knihovna aktivit Tvorba vlastních aktivit je obtížná Obtížné řízení toku dat
Hlavní novinky ve WWF 4.0 XAML-only model Rozšíření základní knihovny aktivit Jednodušší tvorba vlastních aktivit Jednodušší tok dat Vylepšení runtime/designeru
Výhody deklarativního workflow Definice programu jsou pouze data Typicky soubor XML, který je jednoduché zpracovat Jednodušší podpora v nástrojích a designérech Může být uloženo kdekoliv (soubor, DB, cloud, …)
Rozšířená knihovna aktivit WWF 4.0 přináší několik nových/rozšířených aktivit Flow Control Collection Další Flowchart ForEach Parallel ParallelForEach DoWhile Pick … AddToCollection RemoveFromCollection ExistsInCollection ClearCollection ... Assign InvokeMethod Persist TryCatch CompensableActivity Interop ...
WWF 4.0 Runtime 10-100x Zvýšení výkonu Plná kontrola perzistence Flow-in Transactions
Přechod na WWF 4.0 Workflow vytvořená pro verzi 3.x nadále fungují Běží v runtime WWF 3.x Aktivity z verze 3.x lze použít ve workflow 4.0 Aktivita Interop
Agenda Základní principy workflow Novinky ve WWF 4.0 Tvorba workflow pomocí Visual Studio 2010 Tvorba vlastních aktivit Integrace s WCF
Tvorba WWF 4.0 Workflow ve Visual Studio 2010 DEMO Tvorba WWF 4.0 Workflow ve Visual Studio 2010
Agenda Základní principy workflow Novinky ve WWF 4.0 Tvorba workflow pomocí Visual Studio 2010 Tvorba vlastních aktivit Integrace s WCF
Tvorba vlastních aktivit Nový programovací model pro tvorbu vlastních aktivit CodeActivity NativeActivity CodeActivity <TResult> NativeActivity <TResult> AsyncCodeActivity Async CodeActivity <TResult> Activity<TResult> Activity
Tvorba vlastních aktivit ve WWF 4.0 DEMO Tvorba vlastních aktivit ve WWF 4.0
Agenda Základní principy workflow Novinky ve WWF 4.0 Tvorba workflow pomocí Visual Studio 2010 Tvorba vlastních aktivit Integrace s WCF
WCF Workflow Services WCF Service WF Workflow External Client Service WCF endpoint
Workflow Services Nové aktivity pro zasílání zpráv (messaging) Add service reference (Visual Studio) Tvorba v XAML (contracts, bindings, atd.) Workflow service host
WCF Aktivity v .NET 4.0 .NET 3.5 .NET 4.0 WWF 4.0 přináší nové a vylepšené WCF aktivity .NET 3.5 .NET 4.0 Send Receive Send Receive SendAndReceiveReply ReceiveAndSendReply
Agenda Základní principy workflow Novinky ve WWF 4.0 Tvorba workflow pomocí Visual Studio 2010 Tvorba vlastních aktivit Integrace s WCF
Zdroje Video k WWF 4.0 na Channel 9 http://channel9.msdn.com/shows/10-4/10-4-Episode-16-Windows-Workflow-4/ WCF and WF Services in the .NET Framework 4.0 and "Dublin" http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx The Workflow Way (new whitepaper) http://msdn.microsoft.com/wf/future Screencasts o WCF/WF 4.0: http://www.pluralsight.com/main/screencasts/
Otázky?