2008-10-23 12 views
19

Ich bin gerade dabei, nach einer Regel-Engine zu suchen, die in .NET funktioniert. Unsere Logik ist ziemlich einfach, +, -, *, /, und, oder, die grundlegende Reihenfolge der Operationen. Allerdings müssen wir diese Informationen in der Datenbank speichern und dann die Regeldatei generieren, wenn eine neue Version aus der Datenbank abgerufen wird. Daher werden die gängigen UI-Editoren für uns nutzlos sein, es sei denn, einer von ihnen hat einen UI-Editor für Web-Versionen.Drools.NET vs Windows Workflow Foundation (WF)

Also meine Frage ist, angesichts dessen, was ich gesagt habe, welche die beste Regel-Engine für uns in Bezug auf programmatische Konfiguration und Integration mit ASP.NET sein wird.

Antwort

21

Meine Erfahrung mit WWF war ziemlich schlecht. Es ist großartig für die Entwicklung eines Workflows, von dem Sie wissen, dass es existiert (wie "dieses Dokument geht an den Manager einer Person, dann an HR, wenn es ungültig ist, geht es zurück an den Übergeber"), aber ein echter Schmerz, wenn Sie dynamische Konfiguration möchten. Wie Sie sehen können, haben wir versucht, es für ein vollständig konfigurierbares System zu verwenden, etwas, das BizTalk wirklich gut macht, und es sieht so aus, als ob MS nicht daran interessiert ist, dass Entwickler BizTalk so billig ersetzen.

Wir schauten uns auch die Acumen rules engine and tools an, die wie eine gute Passform für das aussah, was wir brauchten, obwohl wir nie die Zeit hatten, WWF zu entfernen und es zu ersetzen.

Ich würde dringend empfehlen, wenn Ihre Regeln relativ einfach sein werden, dass Sie entweder eine Regel-Engine verwenden, die Sie den Quellcode haben oder selbst schreiben. Justin Etheredge hat einen twopart Artikel über die Domänenüberprüfung durch benutzerdefinierte Regeln mit dem Muster in Domain-Driven Designs identifiziert (Evans).

Ich habe ein ähnliches System in meinem aktuellen Projekt nach den gleichen Richtlinien implementiert und ich serialisieren/deserialisieren Regeln aus der Datenbank. Ich werde einen Blick auf Drools.NET werfen müssen.

+1

Ich musste lol an Ihrem Kommentar, dass Microsoft nicht daran interessiert ist, dass Leute BizTalk mit WF so billig ersetzen. – Tundey

1

Die Tatsache, dass BizTalk nicht einfach durch wwf ersetzt werden wird, ist wahr. Die Ziele sind sehr unterschiedlich zwischen ihnen, Drools im Vergleich zu BizTalk und nicht mit WWF, Gründe, beide benutzen den gleichen Algorithmus (rete) !!

Nun, Drools verwenden ist etwas anderes, BizTalk funktioniert auch als ein ESB, kann Sabber tun das?