Windows Workflow Foundation Mariusz Pikuła 2019-01-02
Plan Prezentacji Czym jest Windows Workflow Foundation Zastosowanie Podstawowe Pojęcia Rodzaje przepływów pracy Elementy Składowe Cechy aplikacji zbudowanej w oparciu o przepływ pracy Sposoby Tworzenia Przepływu Pracy 2019-01-02
Czym jest Windows Workflow Foundation Framework służący do wytwarzania rozwiazań opartych o przeplywy pracy (workflows) Dostarcza zarówno API jak i narzędzia do uruchamiania aplikacji Komponent WinFX 2019-01-02
Zastosowanie Budowa aplikacji opartych o przepływy pracy Wbudowywanie przepływów pracy w aplikacje Microsoft Windows Może być wykorzystywana zarówno przy przepływach pracy w systemie, jak i miedzyludzkich 2019-01-02
Podstawowe Pojęcia Aktywność (Activity) - jednostka pracy, może znajdować się w jednym z sześciu stanów: 2019-01-02
Podstawowe Pojęcia Przepływ pracy (Workflow) – grupa aktywności, które implementują całość lub część procesu biznesowego 2019-01-02
Podstawowe Pojęcia Windows Workflow Foundation designers – Narzędzia graficzne, które mogą być wykorzystane do tworzenia oraz modyfikowania aktywności i przepływów pracy Windows Workflow Foundation base activity library— Podstawowa grupa aktywności, które można wykorzystać przy tworzeniu przepływów pracy Windows Workflow Foundation runtime engine – Biblioteka odpowiedzialna za wykonywanie przepływów pracy. Dostarcza także inne usługi, takie jak mechanizmy do komunikacji z aplikacjami zewnętrznymi. Host process – Aplikacja, która hostuje Windows Workflow Foundation runtime engine i każdy przepływ pracy jaki on wykonuje. Host process dostarcza usługi wspierające dla obsługi transakcji, zachowywania stanu przepływu, oraz innych funkcji 2019-01-02
Podstawowe Pojęcia 2019-01-02
Rodzaje przepływów pracy Sekwencyjny przepływ pracy – przewidziany dla aplikacji gdzie poszczególne aktywności są wykonywane w pewnej sekwencji Maszyna stanów – W przeciwieństwie do sekwencyjnego przepływu pracy, który tworzy strukturę aktywności według ustalonego wzorca, maszyna stanów organizuje swoje aktywności w ograniczoną maszynę stanów. Programista określa grupy stanów, oraz zdarzenia które powoduję przejścia między tymi stanami 2019-01-02
Sekwencyjny Przepływ Pracy 2019-01-02
Maszyna Stanów 2019-01-02
Elementy Składowe 2019-01-02
Elementy Składowe Code – umożliwia dodanie kodu Visual Basic .NET lub C# do przepływu pracy w celu wykonania niestandardowych akcji. Kod nie powinien jednak blokować przepływu pracy zależnością od zewnętrznych zasobów takich jak Web services. Compensate – Umożliwia wywołanie kodu odwracającego (unieważniającego), lub zrównoważającego operacje już wykonane w przeplywie gdy wystąpi błąd. Na przykład wysłanie wiadomości e-mail do użytkownika, który wcześniej został poinformowany o wykonaniu się operacji, która teraz zostaje anulowana 2019-01-02
Elementy Składowe ConditionedActivityGroup (CAG) –Umożliwia warunkowe wykonanie zbioru aktywności, bazując na kryteriach dobieranych osobno dla każdej aktywności, dopóki warunek końcowy dla całej grupy jako całości nie jest spełniony SelectData – Umożliwia pobieranie przez przepływ pracy danych z zewnętrznych źródeł danych. Kiedy ta aktywność jest uruchamiana wywołana zostaje powiązana z nią metoda w wątku hosta. Wartość zwrócona przez tą metodę jest przekazywana do przepływu pracy. 2019-01-02
Elementy Składowe WebServiceReceive – Umożliwia przepływowi pracy udostępnionemu jako Web Service odbierać zapytania Web serviceowe WebServiceResponse – Umożliwia przepływowi pracy udostępnionemu jako Web Service odpowiadać na zapytania Web Serviceowe Replicator – Umożliwia utworzenie dowolnej liczby kopii danej aktywności w ramach jednego przepływu pracy i wykonywanie ich sekwencyjnie, lub też równolegle 2019-01-02
Cechy aplikacji zbudowanej w oparciu o przepływ pracy Zdolność podejmowania decyzji w oparciu o reguły biznesowe. Zdolność do komunikacji z innymi aplikacjami oraz systemami poza przepływem pracy. Zdolność do interakcji z użytkownikami Zdolność do utrzymywania swojego stanu przez cały cykl życiowy procesu. 2019-01-02
2019-01-02
Sposoby Tworzenia Przepływu pracy XAML XAML + C#/VB .NET C#/VB .NET 2019-01-02
2019-01-02
<!-- MyWorkflow.xaml --> <SequenceActivity x:Class="MyNamespace.MyWorkflow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:my="http://schemas.example.org/MyStuff" > <IfElseActivity> <IfElseBranchActivity> <IfElseBranchActivity.Condition> <CodeCondition Condition="Is05"/> </IfElseBranchActivity.Condition> <my:WriteLine Text="Circa-Whidbey"/> </IfElseBranchActivity> <CodeCondition Condition="Is06"/> </IfElseBranchActivity.Condition> <my:WriteLine Text="Circa-Vista"/> <my:WriteLine Text="Unknown Era"/> </IfElseActivity> </SequenceActivity> 2019-01-02
namespace MyStuff.Activities { public class WriteLine : Activity string text; public string Text get { return text; } set { text = value; } } protected override ActivityExecutionStatus Execute( ActivityExecutionContext aec) Console.WriteLine(this.Text); return ActivityExecutionStatus.Closed; 2019-01-02
Przydatne Linki http://www.windowsworkflow.net/ http://msdn.microsoft.com/windowsvista/building/workflow/default.aspx?pull=/library/en-us/dnlong/html/WWFGetStart.asp 2019-01-02