Upload
gabriella-oliva
View
215
Download
0
Embed Size (px)
Citation preview
1
WORKSHOP WORKSHOP Chronos Jpdl Designer versione 1.0Chronos Jpdl Designer versione 1.0
Progetto ELISAProgetto ELISAIntroduzione all’utilizzo dello strumento di disegno Chronos Introduzione all’utilizzo dello strumento di disegno Chronos
Bologna, 17 settembre 2009
2
AgendaAgenda
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
3
Introduzione 1/2Introduzione 1/2
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.
Obiettivo: mostrare l’utilizzo dello strumento di disegno di una catena Chronos.
4
Introduzione 2/2Introduzione 2/2
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
Lo strumento di disegno consente di fornire una descrizione formale di una catena.
5
Lo strumento di disegnoLo 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
6
La finestra richiede di indicare la locazione di un engine jBPM da cui prelevarne la configurazione.
Terminata la configurazione premere su “Finish”
Inserire il nome del progettoe scegliere il percorso (di default corrisponde al workspace corrente).Cliccando su next si accede alla finestra successiva.
Dal menù File scegliere New, Project, quindi “CHRONOS JPDL” e selezionare “New Chronos Project”
Premere “Next”
Creazione di un nuovo progettoCreazione di un nuovo progetto
7
Struttura del progettoStruttura 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)
8
Creazione di una catena ChronosCreazione 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.
9
permette l’esecuzione di comandi del sistema operativo, come creazioni/eliminazioni/copie/spostamenti di cartelle e files, nonché esecuzioni di qualsiasi tipologia di processo.
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 di un blocco del disegno o la sua cancellazione tramite il pulsante ‘canc’ della tastiera. consente di posizionare uno step ‘Start State’ che individua il puntodi avvio della catena. Lo strumento di disegno permette di inserire uno e un solo ‘Start State’.consente di posizionare uno step ‘End State’ che individua il punto di terminazione della catena.E’ possibile inserire più nodi End.consente di posizionare uno step ‘Fork’ che consente l’esecuzione di due o più flussi in parallelo.raccoglie i vari percorsi paralleli attendendo la loro completa esecuzione per poter procedere con lo step successivo.
consiste nell’inserire logiche di cicli o di opzionalità nelle catene. Uno step ‘Decision’ permette di valutare una espressione booleanae in base alla sua veridicità o meno scegliere tra due o più percorsi alternativi.
permette la definizione di una procedura o funzione Pl-Sql.
che permette la definizione di comandi sql. Possibili comandi sono:CREATE, INSERT, DELETE, UPDATE, DROP. Non è possibile eseguire la SELECT.
permette la definizione di uno step umano ovvero un’operazione destinata ad un operatore con uno specifico ruolo che avrà il compito di prendersi in carico l’esecuzione dello step e dichiararne l’esito finale.
invia una mail all’indirizzo configurato.consente di collegare due steps definendo così il flusso 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.
Menù delle catene ManualiMenù delle catene Manuali
10
Menù delle catene AutomaticheMenù 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.
11
Sezione PropertiesSezione 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
12
Configurazione delle Global VariablesConfigurazione 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
13
Viabili globali obbligatorieViabili 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.
14
Nodo DecisionNodo 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.
15
Nodo PL-SQLNodo 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 proceduraAlias: indica la variabile che contiene parametri di connessione ad DBReturn: variabile in cui memorizzare il valore restituito (solo function)Return Type: tipo del valore restituito (solo function)Call: nome della funzione/procedura da invocareIs ‘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
16
Nodo SQLNodo 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 DBOutput: variabile globale in cui memorizzare l’esito dell’esecuzioneQueries: lista di query SQL separate dal carattere ‘;’Parameters’ List: lista parametri SQL utilizzabili secondo la notazione $<posizione>
17
Nodo ShellNodo 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’outputScript: 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>
18
Nodo MailNodo 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.
19
Nodo Process-StateNodo 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 invocareVerison: se si intende specificare una particolare versione della sottocatenaDefine used var.: mapping tra le variabili globali della catena padre e della sottocatena
20
Nodo Human-TaskNodo 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’esecuzioneComment: variabile globale che memorizza il commento dell’operatore Result: variabile globale destinataria dell’esito dell’esecuzioneMax Ready Time: massimo tempo di attesa per la presa in caricoMax Exe Time: massimo tempo di esecuzione
21
Costruzione dell’archivio .parCostruzione dell’archivio .par
22
EsercitazioneEsercitazione
Esercitazione
23
Domande?