Laden...

Workflow Foundation für mein Projekt geeignet?

Erstellt von Pharao2k vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.632 Views
P
Pharao2k Themenstarter:in
100 Beiträge seit 2005
vor 16 Jahren
Workflow Foundation für mein Projekt geeignet?

Hi,
Ich hab das Konzept der Workflow Foundation bisher nicht wirklich gerafft, daher frag ich einfach mal geradeaus was ich machen will.

Es soll eine Anwendung geschrieben werden, welche es einer Ferienwohnungs-Vermietungsfirma ermöglicht, ihre Apartments und die Aufenthalte der Gäste damit zu verwalten.
Also bspw. Gäste eintragen, Aufenthalte pflegen, Berichte drucken lassen (Rechnungen, Belegungspläne) etc.
Das ganze soll dann so ziemlich den gesamten Prozess abbilden, also Anfrage kommt rein, wird gespeichert, beantwortet, bearbeitet, etc., Bestätigungen rausgesendet..während dem Aufenthalt sollen halt die Dokumente dafür ausgedruckt werden und wenn der Gast dann wieder abreist geht der Spaß wieder mit dem nächsten Kunden los.
So wie ich das sehe passt solch ein Plan doch gut in das Konzept der Workflow Foundation rein, oder?

Wenn das der Fall ist würde ich mich dort nun anfangen einzuarbeiten, wollte aber erstmal nachfragen ob das überhaupt das ist was ich suche.

Was meint ihr?

Gruß Pharao2k

3.511 Beiträge seit 2005
vor 16 Jahren

Hmm, ich würde es für solche Arten von Anwendung nicht einsetzen. Der Grund ist, das die Prozedur "Gast kommt -> Gast macht was (Pflege) -> Gast reist ab -> Reports drucken" nicht in einem "Atemzug" erledigt werden kann. Es ist ja ein längerer Prozess.
Die Workflows eignen sich gut dafür einen Prozess durchzulaufen, bei den alles direkt hintereinander passiert. Beispiel in deinem Falle wäre vielleicht "Gast ruft an -> Anfrage auf Zimmer frei -> Welcher Zeitraum -> Frei ja/nein". Das lässt sich in einem Prozess schnell abwickeln.
Da der Gast ja längere Zeit bleiben kann, ist der Worklow-Prozess ja sozusagen für mehrere Tage unterbrochen.

Meiner Meinung nach (und das ist es bis jetzt alles) würde ich Workflows nur für kurze Prozesse anwenden, die schnell hintereinander abgefackelt werden können.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Khalid,

ich würde es genau andersherum sehen. Gerade für Dinge, die nicht auf einen Rutsch zu erledigen sind (z.B. "bei Auszahlungen über 1000 Euro muss der Vorgesetzte erst noch eine Genehmigung erteilen"), braucht man Workflows. 🙂

herbivore

PS: Die eigentliche Frage kann ich mangels Kenntnis der WF allerdings nicht beantworten.

6.862 Beiträge seit 2003
vor 16 Jahren

Ich denke schon dass WF für dich geeignet sind, oder besser Workflows allgemein, ob WF im speziellen kann ich auch nicht beurteilen da ich WF nicht benutze.

Auch stimm ich Herbivores Meinung zu, da wir bei uns in der Firma auch ne Anwendung mit ner Workflow Engine haben und die wird auch für genau solche längeren Aufgaben eingesetzt. Wobei der zeitliche Aspekt bei Workflows an sich keine Rolle spielt. Ob der gesamte Workflow nun ich einer Minute erledigt ist, oder in 2 Wochen ist doch egal. Wichtig ist das der Workflow einen bestimmten Prozess abbildet dessen Schritte wohldefiniert sind und deren Abarbeitung wird durch eine Workflowengine unterstützt.

Baka wa shinanakya naoranai.

Mein XING Profil.

3.511 Beiträge seit 2005
vor 16 Jahren

Tja, hab mich auch noch nicht so intensiv mit der WF beschäftigt. Bis jetzt habe ich, wenn ich was mit der WF selber gemacht habe, immer kurze Prozesse abgebildet, weil mir lange Prozesse darüber zu "umständlich" waren.
Sicherlich würde ich solch lange Prozesse auch in Workflows abbilden, aber halt nicht in der Workflow Foundation 🙂

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

915 Beiträge seit 2006
vor 16 Jahren

Hrm, habe einige Workflows schon geschrieben für PPS / CRM und ERP Programme.
herbivore und Khalid haben beide nicht unrecht ein Workflow funktioniert am besten wenn er klein gehalten wird aber muss ab und an auch Komplexe aufgaben erfüllen. Bei ERP Systemen kam das häufig vor in Form von Aufträge Prioisieren durch ein Rechtesystemdurchjagen auf Rechte warten udn Auftrag anschließend durch einen Projektplan jagen ob z.B. Gewinn dann noch einen Prozentsatz besitzt der z.B. erst wieder genehmigt werden muss.

Früher habe ich dabei dne Fehler gemacht das viel zu grobmotorig abzuarbeiten. Nach dem Muster, es kommt ein Event wenn Fall A führe Methode X aus. Dieser Ansatz ist allerdings unübersichtlich und wird je mehr Abfragen und vorallem Fallsituationen zusammen kommen unübersichtlich.

Mittlerweile mache ich es mir einfacher, ich nutze das Command Action Prinzip und kann somit Aktionen immer je nahc Fall weiter verschachteln. Und somit Quasi unendlich viele Fälle abgreifen und da ich für jeden eine eigene Komposition schreibe. Allerdings habe ich von JuyJuka ebenso einen dafür Anwendbaren Ansatz gesehen der genauso gut Funktionieren würde.

Wie gesagt mach blos nicht den Fehler alles statisch herunter zu Programmieren, nur auf Events zu triggern oder sogar reine Macro Funktionen zu verwenden.

Evtl. kennt ja der ein oder andere noch bessere Ansätze.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

2.187 Beiträge seit 2005
vor 16 Jahren

Hi,

Der von Andreas.May verwiesene Codeteil ist nach dem Decorator-Pattern erstellt. (wiki + google, bei interesse)

Gruß
Juy Juka

P
Pharao2k Themenstarter:in
100 Beiträge seit 2005
vor 16 Jahren

Uff, ihr seid alle echt gut darin einem klarzumachen dass man kein Plan hat 😁

Besagte geplante Software wäre so ziemlich meine erste "Business"-Anwendung. Habe bisher zwar schon einiges an Software geschrieben (auch größere, bspw. client/server internetcafe-verwaltung), aber mich dabei nie an irgendwelche muster, patterns oder dergleichen gehalten. Der Weg, wie man über Workflows solche Anwendungen aufbaut, scheint grundlegend anders zu sein...meint ihr es lohnt sich in meinem Falle mir ein Buch über WFF zu holen und mich in das Thema einzuarbeiten? Bin beim besten Willen kein Noob in Sachen programmieren aber es scheint so als ob mir da einige essentiellen Kenntnisse fehlen 🙁

3.511 Beiträge seit 2005
vor 16 Jahren

Bücher holen und sich in ein Thema einarbeiten ist nie verkehrt 🙂

Denke mal, das musst du dann doch selber entscheiden. Wenn du genug Zeit für das Projekt hast, würde es sich vielleicht lohnen. Aber wie gesagt, denke mal, das diese Frage dir keiner abnehmen kann...

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

185 Beiträge seit 2005
vor 16 Jahren

hallo,

ich habe bisher auch nur kleinere projekte zur einarbeitung in WF gemacht. Der Sinn von WF ist gerade jener, länger laufende Prozesse abzubilden - der Workflow läuft z.B. länger als die lebensdauer eines Prozesses (Win32 Prozess ist jetzt gemeint).

Ein WF kann zwischendruch persistiert werden und z.B. auf einem ganz anderen Rechner fortgesetzt werden - genau das ist der Sinn von WF und das ist imho. das "Neue", das es bisher noch nicht fertig im Framework gab. Ist aber nix "magisches" - WF ist genaugenommen einfach eine .net Klasse, welche halt verschiedenen Funktionen bereitstellt.

Als Buch kann ich dir folgendes sehr empfehlen: http://www.amazon.de/Essential-Workflow-Foundation-Microsoft-Development/dp/0321399838/ref=pd_bbs_sr_3?ie=UTF8&s=books-intl-de&qid=1203108889&sr=8-3

Ob du Zeit + Interesse hast, dich einzuarbeiten hängt wohl vom Terminplan des Projektes und persönlichen Interesse ab.

Ich find WF schon recht "cool" 😉 - du hast wenn gewünscht automatisches Tracking, Persistierung in DB, wenn der WF nix zu tun hat u.v.a. Für größere WF Projekte gab es die Empfehlung, eine State Machine zu verwenden, da der sequentielle Ablauf in WF bei höherer Komplexität das Equivalent zu Spaghetti Code wird.

fg
hannes

P
Pharao2k Themenstarter:in
100 Beiträge seit 2005
vor 16 Jahren

Vielen Dank für die Zusammenfassung, hört sich ziemlich gut an und ich denke mal die Zeit, sich darin einzuarbeiten, wird nicht verschwendet sein.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Pharao2k, hallo zusammen,

bitte das Thema WF-Bücher an dieser Stelle beenden und bei Bedarf in Buchempfehlungen behandeln. Da gibt es m.E sogar schon passende Threads.

herbivore

W
95 Beiträge seit 2006
vor 16 Jahren

Hallo Pharao2k,

habe mit der WF-Foundation in einem Programm schon mal versucht die Programmlogik(den Workflow des Programmes an sich) zu steuern. Das habe ich wieder aufgegeben, zu viele Detail-Probleme bei sehr schnell eintreffenden Events in den Workflow. Aus dieser Sicht eignet sich die WF-Foundation genau für solche Fälle gut die über einen langen oder sehr langen Zeitraum "laufen". Also eben auch mal mehrere Stunden oder gar Tage.
Die Einarbeitungskurve in die WF-F ist nicht gerade flach, hoffe das in späteren Versionen etliches einfacher handhabbar gemacht wird. Ansonsten sehr empfehlenswert!
Tip: VOR dem Erstellen der WF einen genauen Plan machen was man möchte, spätere Änderungen sind teilweise extrem zeitraubend.

Gruß
wazer317

Erst denken dann lenken!