1 / 33

Real-Life Szenario mit der Workflow Foundation 4

Real-Life Szenario mit der Workflow Foundation 4. Einsatzmöglichkeiten der Workflow Foundation 4, oder: Brauchen wir wirklich noch ein Programmierparadigma? Eine " Schnell"übersicht. 1) Prolog. Keine Zeit , kein Code Keine Zwischenfragen Kein Anspruch auf Vollständigkeit

krista
Download Presentation

Real-Life Szenario mit der Workflow Foundation 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 1) Prolog • KeineZeit, kein Code • KeineZwischenfragen • KeinAnspruch auf Vollständigkeit • Motivation • Werkennt die Workflow Foundation? • Was könntenGründefür den Einsatzsein?

  3. 2) Agenda • Begriff “Workflow” • EtwasTheorie • Scenario: “Registration” • Scenario: Decoded • Das Ganze in .NET • Scenario: Reloaded • Sonstiges • ZurAusgangsfrage • Quellen

  4. 3) Begriff • 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. 4) Ziele der WF-Entwicklung • SkalierbareGeschäftslogikmiteinfacherZustandsverwaltung • GesamtheitlicherBlick auf den AblaufderAnwendung • Anwendungenpersistierbarmachen • Anteilder “Sichtbarkeit” erhöhen

  6. 5) Gesamtheitlicher Code (1/2)

  7. 6) Gesamtheitlicher Code (2/2) • Vorteile: • Einfach zu verstehen • Einfach zu pflegen • Zustand der Anwendung ist immer „sichtbar“ • Nachteile: • Nicht skalierbar • Eine Anfrage könnte geblockt werden

  8. 7) Code Blöcke (1/2)

  9. 8) Code Blocks (2/2) • 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. 9) Theorie: Grundlagen • Was istdenn 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öglichstatomarer Block von LogikmiteinemErgebnis

  11. 10) Scenario: Registration • 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. 11) Scenario: Diagramm Datenerfasst Validate Zip Wait For Approval Approve User Check Webservice User akzeptiert Send Mail

  13. 12) Scenario: Decoded • Arten von Activities • Base Activity Library • .NET

  14. 13) Base Activity Library

  15. 14) Scenario: Decoded (1/5) • Arten von Activities • Base Activity Library • .NET • Drittanbieter (Sharepoint, Dynamics, TFS, etc.) • Custom Activities (dreiArten) • Automatische • Event-getriebene • Hybride • Composite Activities

  16. 15) Scenario: Decoded (2/5) Datenerfasst Validate Zip Wait For Approval Approve User Check Webservice User akzeptiert Send Mail

  17. 16) Scenario: Decoded (2/5) • Activity “Validate Zip” • Überprüft ob eineerfasste PLZ valideist. • Custom Activity • Einfacher Task • Zusammengesetzte Activity (Composite) • Low Level Activity – Skilled Programmer • High Level Activity – Less technical people

  18. 17) Scenario: Decoded (3/5) Datenerfasst Validate Zip Wait For Approval Approve User Check Webservice User akzeptiert Send Mail

  19. 18) Scenario: Decoded (3/5) • Activity “Approve User” • Wartet auf einBenutzerereignis. (Button Click) • Bookmarks (Resume Workflow) • Name • Daten • Base Activity Library • Flow control

  20. 19) Scenario: Decoded (4/5) Datenerfasst Validate Zip Wait For Approval Approve User Check Webservice User akzeptiert Send Mail

  21. 20) Scenario: Decoded (4/5) • Activity “Wait for Approval” • Erwartet Approval entwedervom Event odervomWebservice, derperiodischanfragt. • Parallel Activity • Kein Multi-Core Unterstützung • Einfache Art Quasi-paralleleAbläufezugestalten • Akzeptiertnur “Sequence” Activity • Mehrere “Sequence” Activities möglich

  22. 21) Scenario: Decoded (4/5) Datenerfasst Validate Zip Wait For Approval Approve User Check Webservice User akzeptiert Send Mail

  23. 22) Scenario: Decoded (5/5) • Activity “Check Webservice” • Webservicefragtperiodischab, ob Benutzer approved ist. • Long-running Processes • Persistieren von Workflows • Geschiehtautomatisch • Lassensich in anderenProzessen (Maschinen) laden • Entladen von Workflows • Persistieren und Speicherfreigeben

  24. 23) Scenario: Workflow Persistenz

  25. 24) Das Ganze in .NET (1/2) • Activities sind C# Klassen • In Argumente • Out Argumente • Variablen / Zustand (Scopes) • Was sind Workflows? • Arten von Workflows • Sequence • Flowchart • State Machine

  26. 25) Das Ganze in .NET (2/2) • Workflow Definitionen • DefinierenAblaufder Activities • Format ist XAML (XML) • Eigene Runtime • Verwaltet Threads • Kennt die GrenzenzwischenActivties • Kennt die Semantikder Activities nicht

  27. 26) Sichtbare Prozesse (1/1) • AnwendungsentwicklungimklassischenSinnebedeutet Code schreiben • DerKontrollflusseines Workflows kanngrafischzusammengesetztwerden, und istsomit: • hilfreichfürPersonen die existierendeAnwendungenpflegen und ändernmüssen • (LernaufwandbeiEinarbeitungistrelativhoch)

  28. 27) Sichtbare Prozesse (2/3)

  29. 28) Sichtbare Prozesse (2/3)

  30. 29) Scenario: Reloaded Wait For Approval Datenerfasst Approve User Check Webservice User akzeptiert Validate Zip Send Mail

  31. 30) Sonstiges • Tracking • Runtime siehtÜbergänge (Boundaries) • Event-getriggert / konfigurierbar • Entered • Exited • Faulted • KeinEntwicklungsaufwandnötig • Entwicklung von eigenem Tracking möglich • Testing • Workflow ist Activity • In / Out Parameter • Designer Hosting in Anwendungistmöglich • Hosting der Workflow Runtime • Application • Service

  32. 31) ZurAusgangsfrage • BrauchenwireinneuesProgrammierparadigma? • MöglicheGründe: • Lang laufendeProzesse • ParalleleAktivitäten • Flexible Logik / Copy & Paste von Prozessen • Team mitweniger Skills

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

More Related