Ich lerne mich gerade Drools Expert/Flow sowie GWT. Ich möchte Drools Flow als Event/Command Bus und Business Rule Engine verwenden, um eine lose Kopplung zwischen verschiedenen Teilen der Anwendung zu erreichen.Best Practices für die Verwendung von Drools Expert/Flow in einer Webanwendung
Bis jetzt habe ich sowohl Expert als auch Flow von meinen Testfällen aus arbeiten lassen, aber es fällt mir schwer herauszufinden, wie man Flows am besten in einem Webcontainer implementiert.
Sollte ich alle Gerüst in eine Stateless Session EJB setzen und jede Anfrage alles von Grund auf einrichten und dann die Flows/Regeln ausführen? Das scheint für mich eine Verschwendung von Ressourcen zu sein. Kann ich stattdessen eine einzelne Wissenssitzung speichern und diese Sitzungen zwischen Webanfragen teilen und gleichzeitig darauf zugreifen? Würde dieses Szenario skalieren und wäre es threadsicher (meine Vermutung ist nein)? Ist das Sammeln von Wissenssitzungen eine gute Idee?
Was ich eigentlich fragen möchte, ob es Best Practices für die oben genannten gibt? Die Dokumentation und Beispiele, obwohl ansonsten ziemlich gut, sind in diesen speziellen Punkten nicht klar.
Ich habe etwas über Drools Grid gelesen, nicht sicher, ob das mein Problem lösen würde und das scheint in der Entwicklung zu sein. Wenn meine Fragen unklar sind, sagen Sie es bitte.
BR Magnus
Unfortunaly mit geifert Fluss bedeutet implizit, dass ich eine StatefulKnowledgeSession verwenden, sonst doesn Flow‘ t arbeiten. Ich habe das ausprobiert und von dem, woran ich mich erinnere, habe ich eine Laufzeitausnahme bekommen. Der einzige Hinweis, den ich selbst finden kann, besteht darin, dass alle Daten über die Sitzung zwischen Anfragen beibehalten werden. Ich denke, es läuft auf Nutzungsmuster des Werkzeugs. Vielleicht fehlt mir etwas Grundlegendes in meiner Anwendung von Drools. Die Beispiele, die ich gefunden habe, scheinen mehr auf Desktop-Anwendungen (Swing) und eine fortwährend laufende Sitzung ausgerichtet zu sein. – Magnus