giovedì 7 febbraio 2013

Activiti o la BPM semplice

Era già un po' che guardavo Activiti, in cerca di un piccolo progetto su cui poterlo testare, e alla fine se ne è presentata la possibilità, quindi ho cominciato a mettere le mani in pasta.
Mi ci ero avvicinato perché jBPM di jBoss mi sembrava un po' troppo pesante, e stavo cercando qualcosa di più snello ma sempre aderente ai concetto del Business Process Management. Inoltre, recentemente Activiti è stato acquisito da Alfresco, per rimpiazzare il loro workflow manager.
Il primo impatto è stato ottimo: esiste un ottimo designer, integrato in Eclipse, che permette di creare in modo semplice i flussi. E' ben fatto, anche se ancora qualcosa non funziona perfettamente, e permette facilmente di creare i flussi e soprattutto di testarli con poco sforzo.
Ma quello che più mi ha ben impressionato è la facilità con cui il tutto si configura. Sia che si opti per distribuire il motore come applicazione web (activiti-explorer.war contiene sia il motore sia un front-end di gestione e "primo utilizzo") che lo si embeddi nel proprio stack (se si usa Spring per i propri progetti tutto va su in un istante) in un attimo l'ambiente è up-and-running. Configurare la base dati è una bazzecola, 4 linee nell'apposito file (tipo database, url, user e password) et voilà, il gioco è fatto.
Insieme ad activiti-explorer si trova activiti-rest, l'applicazione per esporre via Rest tutte le funzionalità, permettendo a qualsiasi applicazione esterna di interagire con la workflow engine. Per far lavorare in sinergia i 2 applicativi è sufficiente farli puntare alla stessa base dati, e il gioco è fatto.
Nel mio caso Rest è stato manna dal cielo, perché mi ha permesso l'interoperatività con altri applicativi.
Partendo praticamente a digiuno in materia, in 4 giorni sono riuscito a installare, configurare, creare un piccolo flusso per le mie esigenze, un client in .Net per alimentare i flussi ed uno in Java per il reporting. Niente male davvero!