einsatzmöglichkeiten der workflow foundation 4, oder: brauchen wir wirklich noch ein...
TRANSCRIPT
![Page 1: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/1.jpg)
Real-Life Szenario mit der Workflow Foundation 4
Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma?
Eine "Schnell"übersicht.
![Page 2: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/2.jpg)
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?
1) Prolog
![Page 3: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/3.jpg)
Begriff “Workflow” Etwas Theorie Scenario: “Registration” Scenario: Decoded Das Ganze in .NET Scenario: Reloaded Sonstiges Zur Ausgangsfrage Quellen
2) Agenda
![Page 4: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/4.jpg)
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
3) Begriff
![Page 5: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/5.jpg)
Skalierbare Geschäftslogik mit einfacher Zustandsverwaltung
Gesamtheitlicher Blick auf den Ablauf der Anwendung
Anwendungen persistierbar machen Anteil der “Sichtbarkeit” erhöhen
4) Ziele der WF-Entwicklung
![Page 6: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/6.jpg)
5) Gesamtheitlicher Code (1/2)
![Page 7: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/7.jpg)
Vorteile:◦ Einfach zu verstehen ◦ Einfach zu pflegen◦ Zustand der Anwendung ist immer „sichtbar“
Nachteile:◦ Nicht skalierbar◦ Eine Anfrage könnte geblockt werden
6) Gesamtheitlicher Code (2/2)
![Page 8: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/8.jpg)
7) Code Blöcke (1/2)
![Page 9: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/9.jpg)
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
8) Code Blocks (2/2)
![Page 10: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/10.jpg)
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
9) Theorie: Grundlagen
![Page 11: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/11.jpg)
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.
10) Scenario: Registration
![Page 12: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/12.jpg)
11) Scenario: Diagramm
ValidateZip
Wait For Approval
Send Mail
ApproveUser
Check Webservice
Daten erfasst
User akzeptiert
![Page 13: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/13.jpg)
Arten von Activities◦ Base Activity Library
.NET
12) Scenario: Decoded
![Page 14: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/14.jpg)
Flow Control
• Flowchart• ForEach• Parallel• ParallelForEach• DoWhile• Pick
Collection
• AddToCollection• RemoveFromCollection• ExistsInCollection• ClearCollection
Others
• Assign• InvokeMethod• Persist• TryCatch• Interop
13) Base Activity Library
![Page 15: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/15.jpg)
Arten von Activities◦ Base Activity Library
.NET Drittanbieter (Sharepoint, Dynamics, TFS, etc.)
◦ Custom Activities (drei Arten) Automatische Event-getriebene Hybride
◦ Composite Activities
14) Scenario: Decoded (1/5)
![Page 16: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/16.jpg)
15) Scenario: Decoded (2/5)
ValidateZip
Wait For Approval
Send Mail
ApproveUser
Check Webservice
Daten erfasst
User akzeptiert
![Page 17: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/17.jpg)
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
16) Scenario: Decoded (2/5)
![Page 18: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/18.jpg)
17) Scenario: Decoded (3/5)
ValidateZip
Wait For Approval
Send Mail
ApproveUser
Check Webservice
Daten erfasst
User akzeptiert
![Page 19: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/19.jpg)
Activity “Approve User”◦ Wartet auf ein Benutzerereignis. (Button Click)
Bookmarks (Resume Workflow)◦ Name◦ Daten
Base Activity Library◦ Flow control
18) Scenario: Decoded (3/5)
![Page 20: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/20.jpg)
19) Scenario: Decoded (4/5)
ValidateZip
Wait For Approval
Send Mail
ApproveUser
Check Webservice
Daten erfasst
User akzeptiert
![Page 21: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/21.jpg)
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
20) Scenario: Decoded (4/5)
![Page 22: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/22.jpg)
21) Scenario: Decoded (4/5)
ValidateZip
Wait For Approval
Send Mail
ApproveUser
Check Webservice
Daten erfasst
User akzeptiert
![Page 23: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/23.jpg)
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
22) Scenario: Decoded (5/5)
![Page 24: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/24.jpg)
23) Scenario: Workflow Persistenz
![Page 25: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/25.jpg)
Activities sind C# Klassen◦ In Argumente ◦ Out Argumente◦ Variablen / Zustand (Scopes)
Was sind Workflows?◦ Arten von Workflows
Sequence Flowchart State Machine
24) Das Ganze in .NET (1/2)
![Page 26: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/26.jpg)
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
25) Das Ganze in .NET (2/2)
![Page 27: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/27.jpg)
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)
26) Sichtbare Prozesse (1/1)
![Page 28: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/28.jpg)
27) Sichtbare Prozesse (2/3)
![Page 29: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/29.jpg)
28) Sichtbare Prozesse (2/3)
![Page 30: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/30.jpg)
29) Scenario: Reloaded
ValidateZip
Wait For Approval
Send Mail
ApproveUser
Check Webservice
Daten erfasst
User akzeptiert
![Page 31: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/31.jpg)
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
30) Sonstiges
![Page 32: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/32.jpg)
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
31) Zur Ausgangsfrage
![Page 33: Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine "Schnell"übersicht](https://reader036.vdocuments.mx/reader036/viewer/2022081516/55204d7349795902118c6ece/html5/thumbnails/33.jpg)
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
Quellen