Attualmente sto insegnando a Drools Expert/Flow e GWT. Voglio utilizzare Drools Flow come un bus evento/comando e motore di regole aziendali per ottenere un accoppiamento lento tra diverse parti dell'applicazione.Best practice per l'utilizzo di Drools Expert/Flow in un'applicazione Web
Finora sono riuscito a far funzionare sia Expert che Flow dai miei casi di test, ma ho difficoltà a capire come implementare Flows all'interno di un contenitore web.
Devo inserire tutto lo scaffold in un bean Seless Stateless e lasciare che ogni richiesta imposti tutto da zero e quindi esegua i flussi/regole? Questo mi sembra uno spreco di risorse. Posso invece archiviare una singola sessione di conoscenza e condividere le sessioni tra richieste web, accedendole contemporaneamente, lo scenario si ridimensiona ed è thread-safe (la mia ipotesi è no)? Riunire le sessioni di conoscenza è una buona idea?
Quello che sto chiedendo è fondamentalmente se ci sono delle migliori pratiche per quanto sopra? La documentazione e gli esempi, anche se per il resto abbastanza buoni, non sono chiari su questi punti particolari.
Ho letto qualcosa su Drools Grid, non so se questo avrebbe risolto il mio problema e sembra essere in fase di sviluppo. Se le mie domande non sono chiare, ti preghiamo di dirlo.
BR Magnus
Unfortunaly utilizzando Drools flusso significa implicitamente che devo usare uno StatefulKnowledgeSession, altrimenti flusso doesn' lavoro. L'ho provato e da quello che ricordo ho ottenuto un'eccezione di runtime. L'unico indizio che riesco a trovare, fino ad ora, è che persistono tutti i dati sulla sessione tra le richieste. Immagino che si riduca ai modelli di utilizzo dello strumento. Forse mi manca qualcosa di fondamentale nella mia applicazione di Drools. Gli esempi che ho trovato sembrano più orientati all'utilizzo di applicazioni desktop (Swing) e ad una sessione in corso continua. – Magnus