Ipotizziamo che una redazione abbia stabilito che tutti gli articoli
debbano essere revisionati da un responsabile prima della
pubblicazione sul sito. Immaginiamo quindi che ci siano due
gruppi di utenti: autori e redattori.
Nella realtà uno scenario di
questo tipo è sicuramente più articolato, ma lo
scopo è quello di studiare i componenti
minimali per la creazione di una Process Definition installabile su
Camunda.
Generare processi con Modeler
La creazione di una
process application parte dalla definizione del modello di processo.
Apriamo il Modeler e creiamo un primo BPMN Diagram che
chiameremo “Pubblicazione Articolo".
Nel pannello delle proprietà inseriamo
l’id e il nome del processo, abilitiamo poi
il flag "Executable" che indica se il processo potrà essere avviato o meno.
Esistono due tipologie di
task inseribili nel diagramma: Human Task e Service Task.
Lo Human Task necessita dell'attività di un
operatore, il Service Task corrisponde a un’attività
automatizzabile e non richiede interventi manuale.
Per modellare lo scenario
abbiamo previsto due Human Task e un Service Task. Il primo Human Task
("Creazione Articolo") verrà lavorato da un utente con il ruolo “autore",
il secondo ("Review Articolo") sarà riservato a utenti con il
ruolo di “redattore".
Il Service Task corrisponde invece
ad un’operazione automatica, e quindi va legato ad una classe JAVA che
emulerà il procedimento di pubblicazione sul sito.
In alto a ciascun nodo del diagramma
c’è un’icona che ne identifica la tipologia. L’omino rappresenta lo
Human Task, l’ingranaggio un Service Task. E’ possibile
modificare la tipologia cliccando sull’icona a forma di chiave
inglese.
Per ciascun Nodo abbiamo definito un identificativo ed una label che compare nel diagramma.
Nel pannello di destra è possibile
indicare l’FQN della classe Java che verrà eseguita quando in
corrispondenza del Service Task “Pubblica Articolo". Selezioniamo
quindi "Java Class" come "Implementation" e indichiamo
com.lslab.tutorial.camunda.delegate.PubblicaArticoloDelegate
come Java
Class.
Terminata la modellazione salviamo il file in formato bpmn.