Tartalom Bevezető Windows Workflow Foundation Elvárások/Alapproblémák/Szemlélet Architektúra Workflow modellek Szekvenciális (Sequential) Állapotgép (State-machine) Építőkockák (Activity-k) Hosztolás Perzisztencia Kommunikáció: Workflow Services = WF+WCF Szabályok ( Rules Engine) Monitorozás Összefoglaló WF vs „eddigi szemlélet” Amiről nem esett szó
Kereskedelmi rendszer…
Tartalom Bevezető Windows Workflow Foundation Elvárások/Alapproblémák/Szemlélet Architektúra Workflow modellek Szekvenciális (Sequential) Állapotgép (State-machine) Építőkockák (Activity-k) Hosztolás Perzisztencia Kommunikáció: Workflow Services = WF+WCF Szabályok ( Rules Engine) Monitorozás Összefoglaló WF vs „eddigi szemlélet” Amiről nem esett szó
Elvárások/alap-problémák
Folyamatok Szabályok Kommunikáció Hosszú életciklus Rugalmasság Átláthatóság
Gondolat – felhasználók folyamatokban gondolkodnak Nehézségek/elvárások ‹#›
Tartalom Bevezető Windows Workflow Foundation Elvárások/Alapproblémák/Szemlélet Architektúra Workflow modellek Szekvenciális (Sequential) Állapotgép (State-machine) Építőkockák (Activity-k) Hosztolás Perzisztencia Kommunikáció: Workflow Services = WF+WCF Szabályok ( Rules Engine) Monitorozás Összefoglaló WF vs „eddigi szemlélet” Amiről nem esett szó
Architektúra
7 Host process Base Activity Library Saját kód Saját workflow-k Saját activity-k Runtime Services Persistence Communication Tracking … Runtime Engine Workflow execution State management Tracking infrastructure Dynamic update
Foundation: nem kész alkalmazás Mit ad a Workflow Foundation: Workflow engine .NET-es felügyelt API Runtime services Visual Studio 2005-2008-ba integrálódó tervező felület és hibakeresés MSDN Konferencia: Windows Vista és .NET 3.0 fejlesztőknek 2006.11.30., Lurdy Ház MSDN Kompetencia Központ (http://www.devPORTAL.hu) ‹#›
Fordítási folyamat
8 XAML XAML +C# / VB C# / VB Workflow fordító C# / VB fordító .NET szerelvény Workflow példányok
VS alapértelmezett (has. Windows Forms): Workflow1.cs: kód fájl, a workflow üzleti logikája Workflow1.designer.cs: az activity map leírása De lehet code separation is: Workflow1.xoml: a workflow modellt leíró XML workflow markup Workflow1.xoml.cs: kód fájl az eseménykezelőknek, tulajdonságoknak stb. Futási időben nincs különbség, mindegy, hogy markup vagy kód a workflow sorosítása. Nyers XAML Előnye: fordítás nélkül direkt módon betölthető futási időben. Hátránya: nem tartalmazhat kódot, csak deklaratív leírást. MSDN Konferencia: Windows Vista és .NET 3.0 fejlesztőknek 2006.11.30., Lurdy Ház MSDN Kompetencia Központ (http://www.devPORTAL.hu) ‹#›
A definíció egy példánya WorkflowInstance GUID
Deklaratív leírás Kód (osztály) 9 Definíció vs. Példány Workflow példány Workflow definíció
Sorosítás: a default WorkflowMarkupSerializer nem támogatja az egymásba ágyazott típusokat MSDN Konferencia: Windows Vista és .NET 3.0 fejlesztőknek 2006.11.30., Lurdy Ház MSDN Kompetencia Központ (http://www.devPORTAL.hu) ‹#›
„Hello World from Workflow!!!”alkalmazás készítése
WF projekt létrehozása : Seq Console app. A eshetőség : fizetésemelést kérek… egyszerű console writeline, ifelse/whiletúl sokat kérsz… <20000 B eshetőség : directory watcher… ‹#›
„Pizza rendszer” architektúra
Pizza alkalmazás bemutása
Projektek bemutatása Böngészőben 2-3 új megrendelés feladása… Console mutatása mi történik WPF-ben végigtriggerelni a megrendelést ‹#›
Tartalom Bevezető Windows Workflow Foundation Elvárások/Alapproblémák/Szemlélet Architektúra Workflow modellek Szekvenciális (Sequential) Állapotgép (State-machine) Építőkockák (Activity-k) Hosztolás Perzisztencia Kommunikáció: Workflow Services = WF+WCF Szabályok ( Rules Engine) Monitorozás Összefoglaló WF vs „eddigi szemlélet” Amiről nem esett szó
Workflow modellek
Egymás utáni lépések sorozata Rendszer folyamatok Szekvenciális Állapotok, események, átmenetek, akciók Felhasználó orientált folyamatok Állapotgép
Sm = nem ismert a tényleges összes vezérlési lehetőség/út Has. Windows Forms: Workflow ~ form Activity ~ controls Activity: A workflow egy lépése A végrehajtás egysége Az újrafelhasználás egysége Domain specific Szabályok, állapotok, akciók és kapcsolatok. Imperatív kód + deklaratív activity map + deklaratív szabályok és kötések A szekvenciális workflow nem szigorúan szekvenciális végrehajtást jelent. Például: párhuzamos végrehajtás MSDN Konferencia: Windows Vista és .NET 3.0 fejlesztőknek 2006.11.30., Lurdy Ház MSDN Kompetencia Központ (http://www.devPORTAL.hu) ‹#›
Tartalom Bevezető Windows Workflow Foundation Elvárások/Alapproblémák/Szemlélet Architektúra Workflow modellek Szekvenciális (Sequential) Állapotgép (State-machine) Építőkockák (Activity-k) Hosztolás Perzisztencia Kommunikáció: Workflow Services = WF+WCF Szabályok ( Rules Engine) Monitorozás Összefoglaló WF vs „eddigi szemlélet” Amiről nem esett szó
Építőkockák – Activity-k
Elemi építőkocka Az alkalmazáslogika egy lépésének modellje A végrehajtás egysége Az újrafelhasználás egysége Általános vagy szakterület specifikus Szevenciális IfElse activity While activity Parellel activity Throw activity Listen activity … Állapotgép State SetState StateInitialization/StateFinalization WF 3.5 Send Receive
Activity demo
Desiner mit tud… c# szinten megnézni egy workflowt…. Nem átlátható Designerben…. Folyamat szemlélet, áttekinthető Párhuzamosan akármennyi futhat…. Multithread… NEM (csak egy) DB fogadta a kérést, hanem egy WF folyamat született!!!! ‹#›
Tartalom Bevezető Windows Workflow Foundation Elvárások/Alapproblémák/Szemlélet Architektúra Workflow modellek Szekvenciális (Sequential) Állapotgép (State-machine) Építőkockák (Activity-k) Hosztolás Perzisztencia Kommunikáció: Workflow Services = WF+WCF Szabályok ( Rules Engine) Monitorozás Összefoglaló WF vs „eddigi szemlélet” Amiről nem esett szó
Hosztolás
EXE manuális App.config Service szolgáltatásként IIS Aborted Completed Created Idled Loaded Persisted Resumed Started Suspended Terminated Unloaded
‹#›
Hosztolás
Hosztolások bemutatása -sima runtime -workflow service runtime Szolgáltatások hozzáadása ‹#›
Comments