WORKSHOP
Chronos Jpdl Designer versione 1.0
Progetto ELISA
Introduzione all’utilizzo dello strumento di disegno Chronos
Bologna, 17 settembre 2009
1
Agenda
Introduzione
Lo strumento di disegno
Creazione di un nuovo progetto
Struttura del progetto
Creazione di una catena Chronos
Menù delle catene Manuali
Menù delle catene Automatiche
Configurazione dei nodi
Costruzione dell’archivio .par
Esercizi
Domande
2
Introduzione 1/2
Obiettivo: mostrare l’utilizzo dello strumento di disegno di una catena Chronos.
Una catena Chronos è un insieme di attività
correlate finalizzate al raggiungimento di un
obiettivo.
La catena viene eseguita dall’ Engine Chronos.
L’Engine Chronos è un componente software
che mantiene lo stato delle catene in esecuzione
assegnando incarichi a persone ed applicazioni.
3
Introduzione 2/2
Lo strumento di disegno consente di fornire una descrizione formale
di una catena.
Al termine del progetto viene prodotto un file xml
che rappresenta il flusso del processo
Il Designer converte la
rappresentazione grafica della
catena in un formato testuale
4
Lo strumento di disegno
è un plug-in di Eclipse
fornisce un ambiente per la definizione
formale di una catena
permette di progettare sia catene
manuali che automatiche
Il plug-in offre:
•
una nuova perspective
•
•
nuovi pannelli grafici
una lista di componenti di
disegno da utilizzare per la
definizione dei proprie catene
5
Creazione di un nuovo progetto
Dalfinestra
menù
File
scegliere
New, Project,
La
richiede
indicare
la
Inserire
il nome
del di
progetto
quindidi“CHRONOS
JPDL”
e cui
locazione
engine (di
jBPM
da
e
scegliere
ilun
percorso
default
selezionare
“New Chronos
Project”
prelevarne
laalconfigurazione.
corrisponde
workspace
corrente).
Premere “Next”
Cliccando
su next si accede alla
finestra successiva.
Terminata la configurazione
premere su “Finish”
6
Struttura del progetto
Nel pannello “Package Explorer” sarà visibile
il nuovo progetto costituito dalle seguenti cartelle:
src/main/jpdl: contiene le definizioni delle catene
src/test/java: contiene una classe di test
src/main/config: contiene un file hibernate di default
src/main/java: si possono inserire eventuali handler
personalizzati (versioni future – nodo java)
7
Creazione di una catena Chronos
La strumento di disegno consente di definire sia Catene Manuali che Catene
Automatiche
Una Catena Automatica contiene nodi che non richiedono l’intervento
umano per l’avanzamento del processo.
Una Catena Manuale contiene almeno un nodo che richiede
un’interazione con un operatore per consentire al processo di avanzare al
nodo successivo.
La procedura per creare catene manuali o catene automatiche è la
medesima.
8
Menù delle catene Manuali
permette di selezionare nell’area di disegno i componenti inseriti per
visualizzarne la configurazione o poterli spostare, eliminare o rinominare
permette di selezionare più componenti nell’area di disegno,
questa
operazione
consente
lo spostamento
un individua
blocco delil disegno
consente
di posizionare
uno step
‘Start State’diche
punto
o
la
sua
cancellazione
tramite
il
pulsante
‘canc’
della
tastiera.
di avvio della catena.
consente di posizionare uno step ‘End State’ che individua il punto di
Lo strumento di disegno permette di inserire uno e un solo ‘Start State’.
terminazione
della catena.
consente di posizionare
uno step ‘Fork’ che consente l’esecuzione di due o
E’
possibile
inserire
più
nodi
End.attendendo la loro completa esecuzione
più
flussi in
parallelo.
raccoglie
i vari
percorsi paralleli
per poter procedere con lo step successivo.
consiste nell’inserire logiche di cicli o di opzionalità nelle catene.
Uno stepla‘Decision’
permette
valutare ouna
espressione
permette
definizione
di una di
procedura
funzione
Pl-Sql.booleana
e in base alla sua veridicità o meno scegliere tra due o più percorsi
che permette la definizione di comandi sql.
alternativi.
permette
l’esecuzione di comandi del sistema operativo,
Possibili comandi sono:
come creazioni/eliminazioni/copie/spostamenti di cartelle e files, nonché
CREATE,
DELETE,
DROP.
permette
la INSERT,
definizione
unoUPDATE,
step
ovvero un’operazione destinata
esecuzioni
di qualsiasi di
tipologia
di umano
processo.
Non
è possibilecon
eseguire
la SELECT.
adinvia
un operatore
uno specifico
ruolo che avrà il compito di prendersi in
una mail all’indirizzo
configurato.
consente
di collegare
duestep
steps
definendo così
il flusso
carico l’esecuzione
dello
e dichiararne
l’esito
finale.di esecuzione.
Ad una ‘Transition’ può essere assegnato un nome in modo da poter
essere utilizzato nel nodo Decision come indicatore di quale percorso
intraprendere dopo la valutazione dell’espressione.
9
Menù delle catene Automatiche
Il menù della catena automatica ha molti componenti in comune con quello
manuale.
Nel menù automatico è assente il nodo HumanTask mentre è presente il nodo
Process State.
Il nodo Process State individua la chiamata di una sottocatena specificata nella
configurazione dello step.
10
Sezione Properties
La sezione ‘Properties’ consente di configurare:
• la catana Chronos
• le variabili globali
• i singoli nodi
I parametri configurabili variano in base al componente selezionato nell’area di disegno.
Due sottosezioni sono sempre visibili:
General che consente di
nominare il componente
selezionato e di associarne una
descrizione
Global Variables che permette
di configurare le variabili globali
della catena
11
Configurazione delle Global Variables
La form consente di definire le variabili globali ed è costituita dai seguenti campi:
Move: consente cambiare la posizione della variabile all’interno della tabella.
Name: nome della variabile.
Label: etichetta della variabile
Type: i possibili tipi sono String, Number, Date e Alias
AliasSubType: per definire il tipo di Alias nel caso in cui il Type sia ‘Alias’
Default Value: valore di default della variabile
Required: check-box che indica se la variabile è obbligatoria
Editable: check-box che indica se la variabile è modificabile
Hidden: check-box che indica se la variabile è nascosta rispetto all’interfaccia utente
Allowed Values: contiene una lista di valori accettati separati dal carattere virgola
12
Viabili globali obbligatorie
Per ogni catena occorre definire alcune variabili globali.
In presenza di nodi SHELL, SQL e PL-SQL occorre definire almeno due variabili
globali: una di tipo ‘Alias’ ed una di tipo ‘String’. La prima definisce la
configurazione della connessione del DB, la seconda è utilizzata come variabile di
output.
In presenza di nodi Human Task occorre definire altre due variabili di tipo
stringa: la prima per contenere l’esito dell’operazione e la seconda per tener
traccia di un eventuale commento dell’operatore.
13
Nodo Decision
Determina il successivo nodo da eseguire valutando un'espressione JSF EL.
Per configurare il nodo decison occorre selezionarlo e accedere alla
sottosezione ‘Handler’ nella sezione ‘Properties’.
Il campo Expression consente di inserire la condizione da valutare per
scegliere la prossima transition da eseguire.
Esempio di sintassi:
#{(A>B && (B==C || C-1==7 || Z=="ELISA")) ? 'ramo1' : 'ramo2'}
dove A, B, C e Z sono variabili globali e ramo1 e ramo2 sono i nomi delle due
transition uscenti.
14
Nodo PL-SQL
Per configurare il nodo PL-SQL occorre selezionarlo e accedere alla sottosezione ‘Local
Parameters’ nella sezione ‘Properties’.
Il form consente di specificare i parametri necessari a configurare il nodo:
Type: specifica se si vuole chiamare una funzione o una procedura
Alias: indica la variabile che contiene parametri di connessione ad DB
Return: variabile in cui memorizzare il valore restituito (solo function)
Return Type: tipo del valore restituito (solo function)
Call: nome della funzione/procedura da invocare
Is ‘Pause’ Accepted: menù a tendina che permette di dichiarare se la procedura/funzione gestisce
o meno l’invocazione di un comando di pausa sull’engine.
Parameters’ List: parametri di ingresso/uscita alla funzione/procedura
15
Nodo SQL
Per configurare il nodo SQL occorre selezionarlo e accedere alla sottosezione ‘Local
Parameters’ nella sezione ‘Properties’.
Il form consente di specificare i parametri necessari a configurare il nodo:
Alias: specifica la variabile che contiene parametri di connessione ad DB
Output: variabile globale in cui memorizzare l’esito dell’esecuzione
Queries: lista di query SQL separate dal carattere ‘;’
Parameters’ List: lista parametri SQL utilizzabili secondo la notazione $<posizione>
16
Nodo Shell
Per configurare il nodo SHELL occorre selezionarlo e accedere alla sottosezione ‘Local
Parameters’ nella sezione ‘Properties’.
Il form consente di specificare i parametri necessari a configurare il nodo:
Output: variabile globale in cui memorizzare l’output
Script: lista dei comandi shell separati da “invio”
Is ‘Pause’ Accepted: menù a tendina che permette di dichiarare se la sequenza di comandi
gestisce o meno l’invocazione di un comando di pausa sull’engine.
Parameters’ List: Lista parametri utilizzabili nello script secondo la notazione $<posizione>
17
Nodo Mail
Per configurare il nodo mail occorre selezionarlo e accedere alla sottosezione ‘Mail Info’
nella sezione ‘Properties’.
Il form consente di specificare i parametri necessari a configurare il nodo.
18
Nodo Process-State
Per configurare il nodo Process-State occorre selezionarlo e accedere alla sottosezione
‘Subprocess’ nella sezione ‘Properties’.
Il form consente di specificare i parametri necessari a configurare il nodo:
Subpro. Name: nome “esatto” della sottocatene da invocare
Verison: se si intende specificare una particolare versione della sottocatena
Define used var.: mapping tra le variabili globali della catena padre e della sottocatena
19
Nodo Human-Task
Per configurare il nodo Human-Task occorre selezionarlo e accedere alla sottosezione
‘Local Parameters’ nella sezione ‘Properties’.
Il form consente di specificare i parametri necessari a configurare il nodo:
Grant: ruolo utente a cui è destinata l’esecuzione
Comment: variabile globale che memorizza il commento dell’operatore
Result: variabile globale destinataria dell’esito dell’esecuzione
Max Ready Time: massimo tempo di attesa per la presa in carico
Max Exe Time: massimo tempo di esecuzione
20
Costruzione dell’archivio .par
21
Esercitazione
Esercitazione
22
Domande?
23
Scarica

Document