Tutorial Bonita BPM. Processo "Hello World"

26
Taccuino: SlideShare Creato: 08 febbraio 2015 18:15:45 Aggiornato: 10 febbraio 2015 12:35:04 Origine: http://www.alessandronizzo.it/tutorial-bonita-bpm-processo-hello-world-ovvero- bpms-azione/ Tutorial Bonita BPM. Processo "Hello World" Tutorial Bonita BPM. Processo “Hello World” ovvero BPMS in azione Il diagramma BPMN, il cuore di una soluzione BPMS, è lo strumento attraverso il quale modellare il processo di business (chi fa che cosa e quando) con una notazione comprensibile alla Direzione e agli addetti ai lavori (obiettivo allineamento business – IT). Nella figura che segue ho riportato uno schizzo di un classico processo di approvazione (provocatoriamente ribattezzato “Hello World” nel titolo del post). In questo tutorial spiego come implementare questo semplice processo con Bonita BPM Community Edition 6.1.2. Prerequisiti

Transcript of Tutorial Bonita BPM. Processo "Hello World"

Page 1: Tutorial Bonita BPM. Processo "Hello World"

Taccuino: SlideShareCreato: 08 febbraio 2015 18:15:45

Aggiornato: 10 febbraio 2015 12:35:04 Origine: http://www.alessandronizzo.it/tutorial-bonita-bpm-processo-hello-world-ovvero-bpms-azione/

Tutorial Bonita BPM. Processo "Hello World"

Tutorial Bonita BPM. Processo “Hello World” ovvero BPMS in azioneIl diagramma BPMN, il cuore di una soluzione BPMS, è lo strumento attraverso il quale modellare il processo di business (chi fa che cosa e quando) con una notazione comprensibilealla Direzione e agli addetti ai lavori (obiettivo allineamento business – IT).

Nella figura che segue ho riportato uno schizzo di un classico processo di approvazione (provocatoriamente ribattezzato “Hello World” nel titolo del post).

In questo tutorial spiego come implementare questo semplice processo con Bonita BPM Community Edition 6.1.2.

Prerequisiti

Page 2: Tutorial Bonita BPM. Processo "Hello World"

Bonita BPM è un tool composto a livello architetturale da tre componenti:

Bonita Studio. L’ambiente di sviluppo;Engine. Il motore BPM che gestisce il workflow e raccoglie le (meta) informazioni del processo;Portale. L’applicazione Web di front-end.

Per svolgere questo tutorial si presuppone che abbiate il Bonita Studio correttamente installato sul vostro sistema. Il setup è davvero molto semplice su qualsiasi sistema operativolavoriate. Vi rimando al sito ufficiale per la documentazione dei passi necessari.

1. Disegnare il processoUna volta avviato lo studio clicchiamo sul bottone New per creare un nuovo processo.

Click nell’area bianca del diagramma (deselezioniamo il Poll).

Nel pannello Diagram della scheda General clicchiamo sul tasto Edit…

Forniamo un nome al diagramma (contenitore di uno o più processi) ed al pool (il processo).

Page 3: Tutorial Bonita BPM. Processo "Hello World"

Click su Step1.

Selezioniamo il pannello General della scheda General e modifichiamo il nome dell’attività.

Page 4: Tutorial Bonita BPM. Processo "Hello World"

Click sull’icona Human nella Palette a sinistra.

Posizioniamo il nuovo task sul diagramma e nominiamolo Decisione.

Click sull’attività Proposta.

Selezioniamo l’icona freccia a destra e mediante trascinamento creiamo il flusso tra le due attività.

Click sull’attività Decisione.

Selezioniamo l’icona task e mediante trascinamento creiamo una nuova attività di tipo Service (default).

Click sull’attività Notifica approvazione.

Page 5: Tutorial Bonita BPM. Processo "Hello World"

Click sull’icona eventi e mediante trascinamento creiamo un nuovo flusso.

Al rilascio selezioniamo l’evento Terminate

Click sull’attività Decisione.

Ripetiamo tutti i passi necessari per creare un altro flusso decisionale (Notifica rifiuto).

Al termine dovremmo avere un diagramma BPMN come quello riportato in figura.

Page 6: Tutorial Bonita BPM. Processo "Hello World"

2. Definire gli attoriQuando creiamo un nuovo diagramma (che può contenere uno o più processi) di default viene proposto un Pool (singolo processo) contenente una Lane (corsia) alla quale andiamo adassociare un gruppo di partecipanti.

Un gruppo di partecipanti potrà essere definito a partire dalla configurazione di una organizzazione mediante l’apposito menu di gestione Organization –> Manage…

Esula dallo scopo di questo post, che altrimenti diventerebbe troppo lungo, spiegare in modo dettagliato come procedere con tale definizione (anche se lo ritengo veramente moltointuitivo). Magari potrà essere argomento di un altro post.

In questo tutorial ci limitiamo ad utilizzare l’organizzazione ACME (assegnata di default) per definire gli attori.

Selezioniamo il poll Proposta.

Dal pannello Actors della scheda General clicchiamo sul bottone Add. Impostiamo un nome ed una descrizione per il gruppo di attori che partecipa al processo (nel nostro casoManager, ACME manager).

Page 7: Tutorial Bonita BPM. Processo "Hello World"

Click sull’attività Decisione, clicchiamo sulla voce Use the actor below e scegliamo dall’elenco a discesa Manager – ACME manager.

Come ultimo passo mappiamo il gruppo di partecipanti Manager sui membri dell’organizzazione ACME aventi ruolo per l’appunto manager.

Per fare questo clicchiamo sul tasto Configure

Selezioniamo Manager – Not mapped dal riquadro Define di actor using an existing organization.

Click sul tasto Roles….

Spuntiamo la voce manager e poi clicchiamo sul tasto Finish.

Page 8: Tutorial Bonita BPM. Processo "Hello World"

Il tutto per giungere al risultato nella figura che segue.

Page 9: Tutorial Bonita BPM. Processo "Hello World"

Per poter procedere correttamente con il test dell’esecuzione del processo dobbiamo modificare la mail dell’utente che viene autenticato automaticamente in fase di Run.

Se clicchiamo per l’appunto sulla voce Authentication notiamo che tale utente di default è walter.bates

Clicchiamo sul tasto Finish della finestra Local configuration for Proposta (1.0).

Page 10: Tutorial Bonita BPM. Processo "Hello World"

Modificare l’email di walter.batesCliccare sul menu Organization > Manage…

Selezionare ACME e cliccare su Next.

In Organization group cliccare su Next.

In Organization roles cliccare su Next.

In Organization users cercare Walter ed una volta selezionato l’utente modificare i dati professionali con la vostra mail.

Una volta cliccato sul tasto Finish un warning vi informerà che essendo stata l’organizzazione modificata risulta necessario procedere con la sua ripubblicazione (che consiste nelsalvataggio delle modifiche nel database dell’ambiente di test).

Page 11: Tutorial Bonita BPM. Processo "Hello World"

Cliccate pertanto su Yes. Poi su Ok al termine dell’operazione.

3. Modellare i datiPer il nostro semplice processo di approvazione abbiamo bisogno dei seguenti dati:

Contenuto proposta;Mail del richiedente;Esito della decisione.

Click sul poll Proposta.

Dal pannello Data della scheda General clicchiamo sul tasto Add…per aprire la finestra di dialogo New variable come in figura

Page 12: Tutorial Bonita BPM. Processo "Hello World"

e creiamo le tre variabili che ci interessano. Facciamo attenzione solo ad impostare per la variabile esitoDecisione il Data type a Boolean e il Default value a false.

Il risultato dovrebbe essere quello riportato nella figura che segue.

Page 13: Tutorial Bonita BPM. Processo "Hello World"

4. Costruire le interfacceCome è ovvio una Human Activity rende necessario l’intervento dell’uomo nell’ambito di un workflow di processo. Per lo sviluppo delle interfacce (web) Bonita mette a disposizione unForm Builder integrato.

Nel nostro caso avremo bisogno di due maschere. Una di sottomissione della proposta. L’altra per la visione della stessa e l’approvazione.

Facciamo click sull’attività Proposta.

Dal pannello Page Flow->Forms della scheda Application clicchiamo sul tasto Add….

Page 14: Tutorial Bonita BPM. Processo "Hello World"

Deselezioniamo tutte le variabili tranne contenutoProposta e premere su Finish. Non facciamolo senza notare che il costruttore dell’interfaccia ha già proposto un tipo input infunzione del tipo variabile (Checkbox per il tipo Boolean).

Infine modifichiamo la Show label e il Field type di default.

Page 15: Tutorial Bonita BPM. Processo "Hello World"

Facciamo click sull’attività Decisione,e ripetiamo i passi di sopra per creare una form che mostra il contenuto della proposta (non modificabile) ed il Checkbox per l’accettazione comein figura.

Page 16: Tutorial Bonita BPM. Processo "Hello World"

Selezioniamo la Text Area Proposta.

Per renderla in sola lettura clicchiamo sul pannello Options della scheda General e spuntiamo la voce Read Only.

Page 17: Tutorial Bonita BPM. Processo "Hello World"

5. Specificare le condizioni di flussoIl valore della variabile esitoDecisione impostata mediante la form Decisione accessibile al Manager, deve definire l’azione successiva, ovvero la “Notifica approvazione / rifiuto” amezzo mail.

Facciamo i buoni…

… clicchiamo sulla linea di flusso tra l’attività Decisione e Notifica approvazione e spuntiamo nel pannello General della scheda General la voce Default flow.

Page 18: Tutorial Bonita BPM. Processo "Hello World"

Notiamo che ad inizio linea viene posto un slash per identificare quello che in gergo viene anche definito l’Happy Path.

Clicchiamo poi sul flusso alternativo (quello verso Notifica rifiuto) e nel medesimo pannello impostiamo la Condition come in figura

Page 19: Tutorial Bonita BPM. Processo "Hello World"

6. Configurare i connettoriMediante i connettori possiamo integrarci ai sistemi informativi preesistenti in azienda e/o automatizzare l’esecuzione di operazioni all’inizio o alla fine di una attività delegando le stessead un servizio esterno (come vedremo fra poco con l’email) e/o consumare API.

Page 20: Tutorial Bonita BPM. Processo "Hello World"

Per il nostro esempio dovremmo configurare due connettori. Il primo (Execute a Groovy 1.8 scripts) ci servirà per recuperare la mail del richiedente. Il secondo (Send an email usingSMTP) per inoltrare le mail di notifica.

Execute a Groovy 1.8 scriptsClick sull’attività Proposta.

Dal pannello Connectors della scheda General clicchiamo sul tasto Add….

Esploriamo il nodo Script e selezioniamo il connettore Groovy 1.8 – Execute a Groovy 1.8 script

Page 21: Tutorial Bonita BPM. Processo "Hello World"

Clicchiamo sul tasto Next.

Impostiamo un Name per l’operazione e decidiamo di farla eseguire quando inizia l’attività Proposta spuntando la radio box dell’evento enter come in figura

Notiamo che se il connettore fallisce lo stato dell’attività sulla quale è “attaccato” il connettore diviene FAILED e l’esecuzione del workflow viene sospesa.

Clicchiamo su Next.

A questo punto editiamo e forniamo un nome per lo script Groovy che utilizzando le API dell’engine recupererà l’email dell’utente loggato.

Page 22: Tutorial Bonita BPM. Processo "Hello World"

Codice

returnBonitaUsers.getUserProfessionalContactInfo(apiAccessor,BonitaUsers.getProcessInstanceInitiator(apiAccessor,processInstanceId).getId()).getEmail();

Clicchiamo su Ok e poi su Next

Infine impostiamo il tipo del result a String e assegniamolo alla variabile mailRichiedente.

Page 23: Tutorial Bonita BPM. Processo "Hello World"

Send an email using SMTPClick sull’attività Notifica Approvazione.

Dal pannello Connectors della scheda General clicchiamo sul tasto Add….

Esploriamo il nodo Messagin e selezioniamo il connettore Email SMTP (1.0.0) – Send an email using SMTP (RFC 5321) e cliccliamo su Next.

Al primo step impostiamo un nome per l’operazione ed il momento di esecuzione (nel mio caso Name=notificaApprovazione on finish).

Al secondo step configuriamo un account SMTP valido.

Page 24: Tutorial Bonita BPM. Processo "Hello World"

Al terzo step impostiamo mittente e destinatario.

Page 26: Tutorial Bonita BPM. Processo "Hello World"

Lascio a voi la creazione e la configurazione della mail che notifica il rifiuto della proposta.

Esecuzione e testNon ci resta che eseguire il nostro processo.

Nel video di seguito mostro i passi da svolgere ed i risultati che dovreste ottenere.

https://www.youtube.com/watch?v=J2Uai4Y9Bv4