- Learn
- Camunda: gestire processi di Business con Java, la guida
- Camunda: installazione del processo ed esecuzione
Camunda: installazione del processo ed esecuzione
Installazione del processo
Per poter installare il processo definito all’interno di Camunda, è necessario produrre una web application che contiene i seguenti elementi:
- Il file .bpmn precedentemente salvato;
- La classe contrassegnata come Delegato del Service Task “Pubblica Articolo”
- Una classe che estende la
ServletProcessApplication
di Camunda nella quale annotiamo il nome del nostro processo (org.camunda.bpm.application.impl.ServletProcessApplication
); - Un file
process.xml
che contiene la configurazione del processo.
Di seguito la struttura dell’applicazione:

PubblicaArticoloDelegate
deve estendere la classe JavaDelegate
di Camunda ed implementare il
metodo execute
. Nell’esempio execute
si limiterà
a stampare informazioni del processo.
public abstract class PubblicaArticoloDelegate implements JavaDelegate {
public void execute(DelegateExecution execution) throws Exception {
…
}
}
Creiamo inoltre
MyProcessApplication
che estende la
ServletProcessApplication
di Camunda e annotiamo il nome del nostro
processo. Durante il deploy Camunda effettuerà un scan delle
classi del classpath e, individuata una classe
annotata come ProcessApplication
, provvederà ad installare il
processo.
@ProcessApplication("Pubblicazione Articolo")
public class MyProcessApplication extends ServletProcessApplication {
}
Infine creiamo un file XML nel quale indichiamo alcune impostazioni utili al ciclo di vita del processo.

Una volta prodotto il pacchetto (war)
copiamolo in server\apache-tomcat-8.0.24\webapps
di Tomcat. Dalla console di Tomcat possiamo notare che Camunda riconosce il processo e lo rende disponibile.

Per avere conferma che tutto sia stato
fatto in maniera corretta utilizziamo Cockpit. Nella dashboard
possiamo notare che il processo è disponibile e non ci sono istanze
attive. Camunda lo ha correttamente installato e gli
ha assegnato in automatico l’identificativo Definition ID
.

Istanza del processo
Ora possiamo creare un’istanza del processo e verificarne il flusso. Passiamo a “tasklist” e clicchiamo su “Start Process” dalla barra in alto. Ci verrà chiesto quale processo startare, selezioniamo quindi “Pubblicazione Articolo”.
Definiamo anche una business key, un identificativo (non univoco in Camunda) per contrassegnare l’istanza che stiamo creando e una variabile di processo che contiene il titolo dell’articolo.

Dopo aver startato torniamo su Cockpit, possiamo notare che c’è un’istanza running del nostro processo ferma sul primo Human Task.

Simuliamo ora di essere un autore, di aver completato la scrittura dell’articolo e che vogliamo inviarlo per l’approvazione del redattore. Torniamo in “Tasklist”, clicchiamo su “All Tasks”, selezioniamo il Task “Creazione Articolo” e prendiamo in carico lo human task tramite “claim”.
Da questo momento
il task può essere lavorato soltanto dall’utente che lo ha preso in
carico. Selezioniamo il task è clicchiamo su “complete”. In fase di
completamento del task possiamo aggiungere eventuali variabili di
processo (note
nell’esempio).

Se torniamo in Cockpit possiamo notare che lo stato del processo è cambiato ed è fermo sullo Human Task “Review Articolo”.
Simuliamo ora di essere un redattore, torniamo in Cockpit, individuiamo il task “Review Articolo”, facciamo la claim e completiamo il task. A questo punto il flusso arriva al Service Task. Dalla console di Tomcat abbiamo la conferma che il task viene eseguito correttamente.

Se vuoi aggiornamenti su Java inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
AMZ Team e il progetto Medical-box
Il team di ragazzi racconta l’idea che li ha postati sul podio italiano dell’edizione 2013 dell’Imagine Cup (secondi classificati).