Tvorba workflow pomocí Visual Studio 2010

Report
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
– 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
Base Activity
Library
Custom Activity
Libraries
Domain-Specific
Workflow Packages
Compliance
Compose
activities
CRM
Extend
activity
Out-of-Box Activities
Author new
activity
DMS
IT Mgmt
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šší tok dat
Jednodušší tvorba
vlastních aktivit
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
AddToCollection
Assign
ForEach
RemoveFromCollection
InvokeMethod
Parallel
ExistsInCollection
Persist
ParallelForEach
ClearCollection
TryCatch
DoWhile
...
CompensableActivity
Pick
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
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
Activity
CodeActivity
AsyncCodeActivity
CodeActivity
<TResult>
NativeActivity
Activity<TResult>
Async CodeActivity
<TResult>
NativeActivity
<TResult>
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
WCF endpoint
External
Service
Client
WCF endpoint
External
Service
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
• WWF 4.0 přináší nové a vylepšené WCF aktivity
.NET 3.5
.NET 4.0
Send
Send
Receive
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-WindowsWorkflow-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?

similar documents