Frage

I WF bin Auswertung für den Einsatz im Rahmen von Unternehmensanwendungen über das Internet, und ich würde gerne einige die jüngste erste Hand dieser Technologie hören.

Mein hier Hauptinteresse ist die Wartbarkeit der Projekte zu verbessern und vielleicht bei der Steigerung der Entwicklerproduktivität, wenn sie auf komplexen Prozessen arbeiten, die sich häufig ändern.

Ich mag die Idee von WF wirklich, aber es scheint relativ unbekannt und viele ältere Kommentare über Erwähnung Ich bin gekommen zu sein, es ist überwältigend komplex, wenn Sie in sie zu erhalten.

Wenn es auf den Punkt überdimensioniert ist, dass es unbrauchbar (oder ein schlechter Kompromiss) für ein kleinen bis mittelgroßes Projekt, das ist etwas, das ich wissen muß.

Natürlich ist es seit Ende 2006 aus, so vielleicht ist es gereift. Wenn das der Fall ist, das ist eine andere Stück von Informationen, die sehr hilfreich sein würde!

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Windows Workflow Foundation ist ein sehr fähiges Produkt aber immer noch sehr viel in seiner ersten Version: - (

Die wichtigsten Gründe für den Einsatz sind:

  1. Visuell Geschäftsanforderungen zu modellieren.
  2. Ihre Geschäftslogik von den Geschäftsregeln Die Trennung und Externalisierung Regeln als XML-Dateien.
  3. seperating Ihr Unternehmen Fluss von Ihnen Anwendung durch Ihre Workflows als XML-Dateien Externalisierung.
  4. Erstellen von lange laufenden Prozessen mit der automatischen Fähigkeit zu reagieren, wenn nichts für einige längere Zeit geschehen ist. Zum Beispiel bezahlt eine Rechnung nicht zu werden.
  5. Automatische Persistenz von langen laufenden Workflows unten Ressourcennutzung zu halten und einem Verfahren und / oder Maschine erlauben, neu zu starten.
  6. Automatische Verfolgung von Workflows mit den Geschäftsanforderungen zu helfen.

WF kommt als Bibliothek / Rahmen so die meiste Zeit müssen Sie den Host schreiben, die die WF-Laufzeit instanziiert. Das heißt, unter Verwendung von WCF in IIS gehostet ist eine tragfähige Lösung und spart eine Menge Arbeit. Doch die WCF / WF-Kopplung ist weniger als perfekt und braucht einige ernsthafte Arbeit. Sehen Sie hier http : //msmvps.com/blogs/theproblemsolver/archive/2008/08/06/using-a-transactionscopeactivity-with-a-wcf-receiveactivity.aspx für weitere Details . Erwarten Sie nicht wenig Änderungen / Erweiterungen in der nächsten Version.

WF (und WCF) ist ziemlich zentral zu vielen neuen Sachen aus Microsoft kommen. Sie können während der PDC einige interessante Ankündigungen erwarten.

BTW mehrere Versionen eines Workflow am Laufen zu halten braucht ein wenig Arbeit, aber das ist meist Standard .NET. Ich habe gerade eine Reihe von Blog-Posts zu diesem Thema beginnt hier: http://msmvps.com/blogs/theproblemsolver/archive/2008/09/10/versioning-long-running-workfows.aspx

Über visuell Geschäftsanforderungen zu modellieren. In der Theorie funktioniert dies sehr gut mit einer Trennung von Absicht und Umsetzung. Doch in der Praxis fallen Sie eine ganze Reihe von zusätzlichen Aktivitäten auf einem Workflow rein aus technischen Gründen und diese Art von Niederlagen der Zweck, wie Sie haben einen Business Analyst zu sagen, die Hälfte der Formen und Linien zu ignorieren.

Andere Tipps

Verwandte Frage: Wann verwendet Windows Workflow Foundation Meine Antwort da? :

  

Sie können WF brauchen nur, wenn eine der   gilt:

     
      
  1. Sie haben einen lang andauernden Prozess.
  2.   
  3. Sie haben einen Prozess, der häufig ändert.
  4.   
  5. Sie wollen ein visuelles Modell des Prozesses.
  6.   
     

Weitere Informationen finden Sie Paul Andrews   Beitrag: Was für Windows Workflow Foundation verwenden?

     

Bitte nicht zu verwechseln oder WF beziehen   mit visueller Programmierung jeglicher Art.   Es ist falsch und kann zu sehr schlechten führen   Architektur / Design-Entscheidungen.

Also, wenn Sie solche Anforderungen haben, dann ist WF ein guter Kandidat. Natürlich ist es relativ komplex, aber erwähnt, dass die Probleme, die (und manchmal sehr komplex) auch komplex zu lösen versucht. IMHO, es ist sehr komplex beispielsweise zu dehydratisieren / rehydrieren Objekte, die Event-Handler angeschlossen haben (mit Ereignissen, die ausgelöst werden können, wenn das Objekt nicht im Speicher vorhanden ist).

Ich kann nicht beurteilen, was Sie mit „kleinen bis mittelgroßem Projekt“ bedeuten, aber im Allgemeinen würde ich sagen, dass, wenn Ihr Projekt mindestens zwei Anforderungen aus der obigen Liste hat, dann kann man WF als Lösung in Betracht ziehen.

Wir haben WF in einer groß ish Sharepoint-Anwendung verwendet, und ich kann sagen, es ist OK. Es hat viel Kraft und Flexibilität. und, wie Kevin erwähnt, wenn Sie die zugrunde liegenden Konzepte von Workflows grok, können Sie so ziemlich alles, was man will.

Auf der anderen Seite hat es einige wirklich ernste Themen, wie Mangel an Versionierung, das wirklich Ihrer Anwendung in der Zukunft schaden kann. Wir haben zu 3 parallelen Versionen des gleichen Workflow namens xxx-v1, v2 xxx-xxx und-v3 Laufen zu halten ältere Instanzen bereitstellen gezwungen und neue Instanzen die aktualisierten Versionen verwenden. Eine echte Nervensäge. Ach ja, und es gibt auch einige wirklich nicht-intuitive Konzepte gibt (Korrelations Token, wtf ??)

Wir hatten ein Projekt bei der Arbeit, die ich bei der Verwendung von Workflows beteiligt war. Die Idee (von Management), das war wir Programmierer die Workflow-Aktivitäten zusammen mit dem „Motor“ und Rahmen schreiben würden. Dann Nicht-Programmierer würden alle den Rest kümmern durch ihre eigenen Workflows in DLLs kompilieren, die der Motor automatisch geladen werden würde.

Management wurde diese Idee von Nicht-Programmierern verkauft Workflow-Software zu entwickeln, um Hilfe bei der Benutzung, und es war so ziemlich eine komplette Zeitverschwendung. Das Problem, das wir mit diesem Projekt zu lösen versuchen, war relativ komplex und wir wussten von Anfang an, dass die Software muß fast ständig geändert werden würde (seine Berechnungen auf anderen Unternehmen und Regierungen in abhingen).

Das Endergebnis war, dass wir die Workflow-Module generisch genug für jemanden anderen zu verwenden, um nicht in der Lage waren. So sind die Programmierer waren diejenigen, die gezwungen waren, mit den Workflows zu arbeiten und alle Arbeitsabläufe haben war uns in den Weg bekommen.

Ich habe mit Workflow-4.0 für die letzten Monate und obwohl meistens beeindruckt, ich habe es sehr schwer gefunden zu lernen.

Für die neueste Version (das mit .NET 4.0 RC kommt), gibt es neben bis keine Dokumentation über das Internet, in allen Büchern oder keine verfügbaren Schulungen. Ich habe festgestellt, nur Artikel auf die heute nicht mehr existierende Version 3.0 beziehen. Selbst die MSDN documenation ist leicht auf dem Boden.

Der Workflow-Designer ist nicht so intuitiv wie es mit allen Mitteln sein soll, so das Lernen sehr hart ist. Ich habe auf den Antworten von einer einzigen Person auf Stackoverflow verlassen (Danke übrigens Maurice!) -. Und ich würde ohne seine Hilfe gestopft werden

Also zusammenfassend, ich denke, es Potenzial hat, aber Sie würden ziemlich verrückt sein, es zu lernen, noch - warten auf weitere Schulung, Dokumentation und Bücher sonst werden Sie in sie zu erblinden werden

Im vergangenen Jahr schlossen wir eine funktionierende Anwendung mit WF, die heute als Rückgrat eines unglaublich großen System verwendet, die durch eine sehr große Bank für seine Hypothek Prozess verwendet wird. Der PE-Prozess hat viele Schritte von Kundenanwendung Kredit Genehmigung zu starten.

Obwohl es ein Erfolg war, gibt es so viele Probleme und Krise alle auf dem Weg. Und es wird nicht die Mühe wert, für jede kleinere Größe Projekte.

Ich halte MS WF als Low-Level-Workflow-Bibliothek statt einem vollwertigen Enterprise-Workflow-Produkt wie K2. Es ermöglicht Ihnen, eine Workflow-fähige Anwendung zu bauen, ist aber nicht an sich eine Workflow-Anwendung. Mein experiance davon in dieser Eigenschaft war positiv, obwohl wir viele unserer eigenen Infrastruktur drum herum (ein Pub / Sub-Rahmen, ein worlkflow Lebensdauer Manager usw.) gehabt haben zu bauen. Ein großer Teil der Dokumentation da draußen ziemlich simpel ist und bezieht sich nicht auf eine Enterprise-Workflow-Anwendung Aufbau auf Basis von MS WF.

Schwer zu lernen. Ganz flexibel. Nicht zu verwechseln mit einem visuellen Werkzeug für Endanwender, nur für Programmierer. Nicht sicher, ob ich den dependancy Eigenschaft Ansatz mag.

Es hängt wirklich davon ab, was man damit tun will. Ich habe es nur ein wenig, aber im Vergleich zu reiferen Produkten wie Metastorm verwendet (Ich weiß es technisch ein BPM ist, aber es ist immer noch eine Workflow-Komponente), Prozess Choriographer und IBM MQ Workflow, gibt es keinen Vergleich. Es ist einfach nicht reif genug. Auf der anderen Seite ist es frei, wo die anderen sind nicht und wahrscheinlich den Job erledigen können. Ich weiß nicht, ob ich auf sie ein Multi-Millionen-Dollar-Betrieb setzen würde, aber mit kleineren, würde ich einen weiteren Versuch. Die eigentliche Hürde Sie konfrontiert werden, ist die Änderung der Denkprozess erfordert. Wenn Sie nicht die Entwickler, die mit staatlichen Systemen gearbeitet haben, davor kann eine echte Hürde sein.

Brian, kann ich nicht auf deinen Kommentar antworten, aber wie auch immer, durch Versionierung i Änderungen an den zugrunde liegenden Code des Workflows, ohne zu brechen bereits laufende Instanzen meint, dass, und anmutig Aktualisierungen bestehenden Workflows anwenden. Ich bin über ‚Bestand‘ WF nicht sicher, aber zumindest in Sharepoint-Umgebung gibt es kein Konzept von Workflow-Versionen so neue Versionen als völlig unterschiedliche Workflows eingesetzt werden, die eine Wartung Alptraum wird. Das hat nichts mit ‚Rehydrierung‘ zu tun, ist Rehydrierung der Prozess, mit dem Sie einen ‚ruhend‘ Workflow nach einigem Ereignisse Aktivität zurückbringen oder in dem Zustand ändern. Das wird transparent durch die Workflow-Laufzeit behandelt.

WF ist integriert in Sharepoint (WSS 3.0), und ich habe schon einige Workflows für verschiedene Sharepoint-Websites erstellt, also kann ich über meine Erfahrung von WF in Sharepoint erzählen. Im Vergleich zu anderen Workflow-Frameworks WF punktet. Es ist stabil (ich habe keinen mysteriösen Fehler erlebt), Workflows recht einfach zu gestalten (in den Workflow-Designer in Visual Studio dankt) und Sie können nicht nur sequentiell, sondern auch state-Maschine-Workflows verwendet werden.

Es ist nicht perfekt, natürlich, und ein Entwickler wird auf jeden Fall einige Zeit brauchen, um das Konzept zu verstehen (der heißt das Aktivitätsmodell); aber es ist auf jeden Fall nutzbar - auch für „kleine Aufgaben“.

Nie versucht WFF, aber ich erinnere mich, diesen Artikel über WFF von Leon Bambrick wo er sagt, im Grunde das ganze Genre der Software-Entwicklungs-Tools, ist Unsinn. Könnte man die eine oder die andere.

entscheiden,
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top