Ich habe ein wenig über die allgemeine Idee dieser Technologie gelesen, aber es erinnert mich an ein paar Jahrzehnte, als uns gesagt wurde: "In Zukunft werden Sie keinen Code mehr schreiben, Sie werden Boxen in einem grafischen Werkzeug verbinden" / p>
Ist es eine Technologie, die in der .NET-Entwicklung eine zentrale Rolle spielt (wie WCF und WPF) oder sich nicht durchgesetzt hat?
WF ist eine Workflow-Engine, keine vollständig formatierte Workflow-Anwendung oder -Komponente. Sie können damit Ihrer eigenen Anwendung Workflow-Funktionen hinzufügen, aber Sie müssen einen benutzerfreundlichen Designer zur Verfügung stellen, sonst ist es mehr Mühe als Nutzen.
WF hat sich bisher nicht durchgesetzt, weil es zu langsam war und es sich nur für Workflows mit hohem Arbeitsaufkommen eignet. Beispielsweise fehlten Seitenumbrüche (mit Angabe einer Sequenz von Webseiten). Entwickler mussten auch eine Menge Klempnerarbeiten erstellen, um WF in ihrer Anwendung zu hosten. Schließlich mussten Sie den Endbenutzer-WF-Designer von Grund auf neu erstellen oder den Visual Studio-Designer verwenden, der für Endbenutzer völlig ungeeignet war.
WF v4 ist viel schneller und einfacher zu hosten, aber Sie müssen immer noch Ihren eigenen Designer erstellen.
Ich glaube nicht, dass WF so weit verbreitet ist; Wir sind wahrscheinlich einer der wenigen Orte, die ihn derzeit verwenden (WF3), und wir verzichten auf eine einfachere maßgeschneiderte Lösung anstatt auf WF4 zu migrieren.
Ein Problem besteht darin, dass eines der Hauptzielgruppen, auf die WF abzielt, diejenigen ist, die Systeme vom Typ "Unternehmen" erstellen (dh Lösungen mit komplexen, lang andauernden Stateful-Prozessen), aber Microsoft bietet dafür keine Hosting-Lösung und deine eigene zu schreiben ist eine schmerzhafte Erfahrung (dort gewesen, das getan). Das AppFabric-Zeug für WF4 sah aus, als könnte es dieses Problem lösen, endete aber damit, dass es nur ein bisschen Logging- und Persistenz-Framework war, was das eigentliche, harte Problem des Hosting vollständig aus dem Bild ließ.
Es ist eine Schande, denn WF4 sieht wie ein großartiger Rahmen für die Erstellung dieser Art von Anwendung aus. Mit dem richtigen Hosting könnte es "BizTalk done right" sein (auch als erfahrener BizTalk-Entwickler). Aber bis es eine gute Hosting-Lösung gibt, würde ich davon ausgehen, dass die Nutzung ziemlich begrenzt ist.
Wenn Sie einige der Microsoft-Produktlinien verwenden, wird es sehr nützlich (Dynamics CRM ermöglicht Ihnen, benutzerdefinierte Workflow-Aktionen zu schreiben, die Geschäftsbenutzer dann beispielsweise über die Webschnittstelle verwenden können).
Darüber hinaus sagt meine (begrenzte) anekdotische Beweise, dass es nicht viel verwendet wird.
Es ist erwähnenswert, dass der TFS2010-Build-Prozess auf Workflow basiert (einschließlich der Box-Drag-UI, wenn Sie dies bevorzugen).
Es ist nicht so zentral wie WPF oder WCF, aber es hat definitiv seinen Nutzen. Ein Problem, das ich gesehen habe, ist, dass worfklow für eine Anwendung grundlegender ist als die anderen: Das Ersetzen einer Benutzeroberfläche durch WPF erfordert nicht, dass eine grundlegende Neuarchitektur funktioniert. Ebenso erfordert die Erstellung einer WCF-Web-Service-Schicht keine grundlegende Neuarchitektur. Die Integration von Arbeitsabläufen erfordert oft viel größere und tiefere Änderungen, um effektiv zu sein, was die Eintrittsbarriere für die meisten Systeme, die ich mir angesehen habe, erheblich erhöht.