Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht.

Ähnliche Präsentationen


Präsentation zum Thema: "Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht."—  Präsentation transkript:

1 Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht.

2 Keine Zeit, kein Code Keine Zwischenfragen Kein Anspruch auf Vollständigkeit Motivation Wer kennt die Workflow Foundation? Was könnten Gründe für den Einsatz sein?

3 Begriff Workflow Etwas Theorie Scenario: Registration Scenario: Decoded Das Ganze in.NET Scenario: Reloaded Sonstiges Zur Ausgangsfrage Quellen

4 Ein Arbeitsfluss (englisch: workflow) ist eine inhaltlich abgeschlossene, zeitlich und sachlogisch zusammenhängende Folge von Funktionen, die zur Bearbeitung eines betriebswirtschaftlich relevanten Objektes notwendig sind und deren Funktionsübergänge von einem Informationssystem gesteuert werden. Quelle: http://de.wikipedia.org/wiki/Arbeitsablauf

5 Skalierbare Geschäftslogik mit einfacher Zustandsverwaltung Gesamtheitlicher Blick auf den Ablauf der Anwendung Anwendungen persistierbar machen Anteil der Sichtbarkeit erhöhen

6

7 Vorteile: Einfach zu verstehen Einfach zu pflegen Zustand der Anwendung ist immer sichtbar Nachteile: Nicht skalierbar Eine Anfrage könnte geblockt werden

8

9 Vorteile: Ressourcen können freigegeben werden (Entladen) Skalierbar auf mehrere Maschinen (bspw.) Nachteile : Der Zustand muss irgendwo geteilt werden Ablauf ist nicht offenkundig Schwerer zu pflegen

10 Was ist denn nun ein Workflow? Workflows are a way to execute a business process. A workflow is a set of elemental units called activities that are stored as a model that describes a process Workflows provide a way of describing the order of execution and relationships between different pieces of running work Was sind Activities? Möglichst atomarer Block von Logik mit einem Ergebnis

11 Anmelde-System der Usergroup: Ein Benutzer meldet sich mit Name und Adresse an. Das System prüft die Validität einiger Felder, u.a. die PLZ. Danach wartet das System entweder auf die manuelle Freigabe des UG Admins oder prüft die Berechtigung über externe Daten ab. Sollte der User berechtigt sein, der UG beizutreten, wird er eingebucht und erhält eine Email.

12 Validate Zip Validate Zip Wait For Approval Send Mail Approve User Approve User Check Webservice Daten erfasst User akzeptiert

13 Arten von Activities Base Activity Library.NET

14 Flow Control Flowchart ForEach Parallel ParallelForEach DoWhile Pick Collection AddToCollection RemoveFromCollection ExistsInCollection ClearCollection Others Assign InvokeMethod Persist TryCatch Interop

15 Arten von Activities Base Activity Library.NET Drittanbieter (Sharepoint, Dynamics, TFS, etc.) Custom Activities (drei Arten) Automatische Event-getriebene Hybride Composite Activities

16 Validate Zip Validate Zip Wait For Approval Send Mail Approve User Approve User Check Webservice Daten erfasst User akzeptiert

17 Activity Validate Zip Überprüft ob eine erfasste PLZ valide ist. Custom Activity Einfacher Task Zusammengesetzte Activity (Composite) Low Level Activity – Skilled Programmer High Level Activity – Less technical people

18 Validate Zip Validate Zip Wait For Approval Send Mail Approve User Approve User Check Webservice Daten erfasst User akzeptiert

19 Activity Approve User Wartet auf ein Benutzerereignis. (Button Click) Bookmarks (Resume Workflow) Name Daten Base Activity Library Flow control

20 Validate Zip Validate Zip Wait For Approval Send Mail Approve User Approve User Check Webservice Daten erfasst User akzeptiert

21 Activity Wait for Approval Erwartet Approval entweder vom Event oder vom Webservice, der periodisch anfragt. Parallel Activity Kein Multi-Core Unterstützung Einfache Art Quasi-parallele Abläufe zu gestalten Akzeptiert nur Sequence Activity Mehrere Sequence Activities möglich

22 Validate Zip Validate Zip Wait For Approval Send Mail Approve User Approve User Check Webservice Daten erfasst User akzeptiert

23 Activity Check Webservice Webservice fragt periodisch ab, ob Benutzer approved ist. Long-running Processes Persistieren von Workflows Geschieht automatisch Lassen sich in anderen Prozessen (Maschinen) laden Entladen von Workflows Persistieren und Speicher frei geben

24

25 Activities sind C# Klassen In Argumente Out Argumente Variablen / Zustand (Scopes) Was sind Workflows? Arten von Workflows Sequence Flowchart State Machine

26 Workflow Definitionen Definieren Ablauf der Activities Format ist XAML (XML) Eigene Runtime Verwaltet Threads Kennt die Grenzen zwischen Activties Kennt die Semantik der Activities nicht

27 Anwendungsentwicklung im klassischen Sinne bedeutet Code schreiben Der Kontrollfluss eines Workflows kann grafisch zusammengesetzt werden, und ist somit: hilfreich für Personen die existierende Anwendungen pflegen und ändern müssen (Lernaufwand bei Einarbeitung ist relativ hoch)

28

29

30 Validate Zip Validate Zip Wait For Approval Send Mail Approve User Approve User Check Webservice Daten erfasst User akzeptiert

31 Tracking Runtime sieht Übergänge (Boundaries) Event-getriggert / konfigurierbar Entered Exited Faulted Kein Entwicklungsaufwand nötig Entwicklung von eigenem Tracking möglich Testing Workflow ist Activity In / Out Parameter Designer Hosting in Anwendung ist möglich Hosting der Workflow Runtime Application Service

32 Brauchen wir ein neues Programmierparadigma? Mögliche Gründe: Lang laufende Prozesse Parallele Aktivitäten Flexible Logik / Copy & Paste von Prozessen Team mit weniger Skills

33 The Workflow Way; David Chappell, Chappell & Associates (April 2009) Essential Windows Workflow Foundation; Dharma Shukla, Bob Schmidt (2007) Vom Geschäftsprozess zum Workflow; Jakob Freund, Klaus Götzer (2008) http://blog.helmichs.net


Herunterladen ppt "Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht."

Ähnliche Präsentationen


Google-Anzeigen