Sei sulla pagina 1di 68

+

BPM BootStrap
Introduzione al BPM ed al BPMN
Modellazione grafica dei processi tramite Business Process Modelling Notation

Introduzione

Scopo della presente sessione introdurre alla modellazione dei processi di business tramite il BPMN, standard OMG per la modellazione dei stessi. Verr illustrato come il BPMN pu supportare diverse metodologie e differenti traguardi di modellazione (orchestration and choreography) utilizzando processi di business reali come esempio. Esempi di modelli di business verranno altres presentati ed esaminati per illustrare i concetti principali e le innovazioni nella notazione. Due brevi esercizi daranno agli studenti la possibilit di confrontarsi con la maggior parte degli elementi del BPMN.

Programma

Introduzione al BPMN I concetti di base Esercizio 1 Nuovi concetti Metodologie di modellazione dei processi Orchestration vs. Choreography Esercizio 2 Sommario

Che cosa si intende per modellazione di processo?

La cattura di una sequenza ordinata di attivit e delle informazioni a supporto della stessa; Il processo di business descrive come il business persegue i propri obiettivi; Vi sono diversi livelli di modellazione di un processo: Mappatura dei processi Semplice diagramma del flusso dei processi; Descrizione dei processi diagramma di flusso esteso con informazioni addizionali non sufficientemente dettagliate per poter essere eseguito; Modellizzazione dei processi diagramma di flusso esteso con informazioni addizionali tali da permettere ai processi di poter essere analizzati, simulati ed eseguiti; Il BPMN supporta i vari livelli e di conseguenza una suite di BPM che si appoggia al BPMN

Che cosa il BPMN

BPMN una notazione basata sui diagrammi di flusso per definire processi di business; Il BPMN un linguaggio standard nato dalla convergenza di diversi produttori di strumenti di modellazione dei processi; BPMN mette a disposizione un meccanismo per generare ed eseguire processi di business (BPEL) a partire dalla notazione; Un processo di business sviluppato da un analista di business pu essere trattato direttamente da un Engine di BPM senza la necessit di essere interpretato da esseri umani e convertito in altri linguaggi.

Le origini del BPMN

Il Business Process Management Institute (BPMI ora parte dellOMG) sviluppa il BPML (un linguaggio basato su XML per lesecuzione dei processi) ed evidenzia la necessit di una sua rappresentazione grafica. Il BPML sar successivamente rimpiazzato dal BPEL come linguaggio di esecuzione. Nellagosto del 2001 viene fondato il Notation Working Group. Il gruppo inizialmente era formato da 35 tra aziende, organizzazioni e individui. Nel maggio del 2004 il BPMN 1.0 viene rilasciato. Nel febbraio del 2006 il BPMN 1.0 diviene uno standard OMG. Nel febbraio del 2008 viene approvato la versione 1.1 Attualmente 54 aziende hanno implementato il BPMN ed esso si definitivamente affermato come strumento di modellazione dei processi.

La clessidra del BPM

Requisiti che hanno guidato lo sviluppo del BPMN


Doveva essere accettabile ed usabile dalla comunit di business. Doveva essere in grado di generare processi direttamente eseguibili ( BPEL ) per mezzo di un Modello BPMN (combinazione di elementi grafici ed informazioni a supporto (attributi)). Nonostante sia legato ad elementi di implementazione esso doveva essere in grado di essere utilizzato in maniera pi generale per descrivere i processi di business. Il BPMN nasce per essere agnostico sulla metodologia utilizzata.

Le metodologie dovranno essere la guida per gli scopi ed i dettagli della modellazione. BPMN complesso per quel che gli serve essere, ognuno usa la parte che gli serve

Che cosa il BPM

Un Business Process un flusso coordinato di task tra persone e sistemi, innescato da specifici eventi Un processo BPM rappresenta una orchestrazionedi Eventi ed Interazioni:

Un Utente inserisce dei dati in un sistema Un ordine viene evaso Una pratica amministrativa iniziata

Interazioni:

Tra Persone e Sistemi Tra Sistemi e Sistemi Tra Processi e Processi

Benefici del BPM e BPMS

Permette alle organizzazioni di essere maggiormente flessibili ed agili. (governare il cambiamento) Riduce i costi di sviluppo di nuove applicazioni ed accelera la loro realizzazione; Favorisce linterazione con i clienti; Permette linnovazione a piccoli cicli; Aumenta la produttivit dei lavoratori e dei sistemi coinvolti nei processi; Traccia le attivit; Aggiunge visibilit nelle operazioni di tutti i giorni Documentazione e Monitoraggio. Promuove la collaborazione tra dipartimenti diversi.

Linfrastruttura IT vista per Processi


Capacit di riutilizzo delle applicazioni in essere; Capacit di realizzazione coerente con gli obiettivi (processi di business); Maggiore velocit nello sviluppo di nuove funzionalit e di ridisegno del processo; Completa visibilit delle funzionalit attese;

Esternalizzazione della logica dei processi

Problema: Logica dei processi integrata nei sistemi/applicazioni

Forte barriera alla flessibilit, costi elevati

Soluzione: Decomporre i sistemi/applicazioni in moduli riutilizzabili (servizi)

Realizzare la logica dei processi in un livello indipendente della soluzione, separato dai sistemi e dalle applicazioni

Comporre il modello del processo con uno strumento grafico


Diagrammi di flusso, comprensibili anche da persone non tecniche Flessibili, facilmente modificabili

Eseguire il modello in un sistema BPM

Connessione ai sistemi/applicazioni attraverso meccanismi standard

Cosa un BPMS (1)

Una suite integrata di strumenti software e di componenti runtime per


Modellare un processo e quindi eseguirlo Automatizzare lo human workflow Orchestrare funzioni automatizzate Integrare sistemi Tenere traccia di indicatori prestazionali (KPI), gestire eccezioni Cambiare facilmente la logica dei processi

Un nuovo stile di sviluppo delle soluzioni IT


Business-driven: Implementazione guidata dal modello dei processi Metriche per misurare le performance definite dalle persone del business, inserite direttamente nellimplementazione del software Sviluppi molto rapidi, fatti per essere facilmente modificati

Cosa un BPMS (2)

Un BPMS molto di pidi una semplice orchestrazione di eventi


Include modellazione e analisi di simulazione di processi human task management business rule management integration middleware forms, screenflows e altre User Interface cruscotti per il performance management, analytics, e BAM (Business Activity Monitoring)

SOA e WebServices nel BPM

Lapproccio SOA (Service Oriented Architecture) mette in relazione i processi di business con le risorse operative. Il BPM ottimizza luso dellapproccio SOA trasversalmente ai vari processi di business. I Web Servicesconsentono di sviluppare e rendere operative le applicazioni software di tipo enterpriseper mezzo di integrazioni lasche tra le diverse componenti software. I Web Servicesoffrono un mezzo semplice, elegante ed efficace dal punto di vista dei costi per consentire ad un BPM di accedere alle infrastrutture di sistemi esistenti. Similmente, un modello di processo pu esso stesso essere pubblicato come un Web Service.

+ BPMS

Programma

Introduzione al BPMN I concetti di base Esercizio 1 Nuovi concetti Metodologie di modellazione dei processi Orchestration vs. Choreography Esercizio 2 Sommario

Elementi del Diagramma

Elementi del Diagramma (2)

Attivit

Una attivit rappresenta del lavoro che viene svolto allinterno del processo di business. Una attivit pu essere atomica o non atomica (composta). Le attivit che fanno parte di un modello di processo sono le Task ed i SottoProcessi. Le attivit sono rappresentate da rettangoli con angoli smussati; Possono essere eseguite una solo volta o presentare dei loop interni.

Le Task

Una task rappresenta una attivit atomica allinterno del processo. Una task viene usata quando il lavoro allinterno del processo non pi dettagliato a basso livello. Vi sono task speciali per ricevere o spedire messaggi o task da far eseguire allutente, etc etc. Marcatori o icone possono essere aggiunte alla task per aiutare lidentificazione. I marcatori non possono cambiare la natura della task o entrare in conflitto con altri standard BPMN.

I Sottoprocessi

I sottoprocessi permettono lo sviluppo gerarchico dei processi; Un sottoprocesso rappresenta una composizione di attivit incluse allinterno del processo. Nella versione ridotta del sottoprocesso i dettagli dello stesso non sono visibili nel diagramma. Il segno + sta ad indicare che vi sono dettagli nascosti. Nella versione espansa i dettagli sono visibili. Vi sono due tipi di sottoprocessi, inclusi ed indipendenti (riusabili)

Eventi

Un evento un qualcosa che accade durante il corso di un processo. Questi eventi hanno effetti sul flusso del processo e solitamente sono legati ad un risultato. Essi possono far partire, interrompere o terminare il flusso di un processo. Gli eventi sono rappresentati da dei cerchi.

Il tipo di bordo identifica il tipo di evento.

Eventi di Start

Un evento di start indica come un processo deve iniziare; Vi sono differenti Triggers che indicano specifiche circostanze per le quali il processo deve partire;

None indicato per i sottoprocessi o per qui processi per i quali ancora non si conoscono i meccanismi per cui debba partire; Link non usato e presto verr dismesso; Gli altri rappresentano specifiche azioni;

Eventi Intermedi

Un evento intermedio (come la stessa parola fa capire) accade dopo che il processo partito e prima che si concluda. Vi sono differenti Triggers che indicano specifiche tipologie di eventi. Possono essere inseriti nel normale flusso del processo o legate ad una attivit.

Eventi Intermedi (flusso normale)

Eventi che sono inseriti all'interno del flusso di processo rappresentano azioni da intraprendere durante le operazioni normali del processo. Possono rappresentare la risposta ad un Evento (ad esempio la ricezione di un messaggio). Possono rappresentare la creazione di un Evento (ad esempio l'invio di un messaggio).

Eventi Intermedi (legati al bordo)

Eventi che sono legati al bordo di una attivit indicano che l'attivit pu essere interrotta quando l'evento si verifica. Possono essere agganciati ad una Task o ad un sottoprocesso.

Vengono usati per la gestione degli errori, delle eccezzioni e per sistemare un'attivit.

Eventi di end (conclusione)

Un evento di end indica quando un processo deve concludersi; Vi sono differenti circostanze che indicano specifiche tipologie di conclusione di un processo.

None che anche facoltativo indica il normale completamento di un processo. Gli altri simboli indicano specifiche circostanze in cui un processo termina.

Gateways (cancelli)

I Gateway sono elementi di modellazione utilizzati per controllare in che modo la Sequenza del Flusso si sviluppa, ovvero converge o diverge all'interno di un Processo. Tutti i tipi di Gateways sono rappresentati dal diamante. I marcatori interni indicano le varie azioni da intraprendere. Tutti i Gateways possono sia dividere che ricongiungere un flusso. Se il flusso non necessita di essere controllato, allora i Gateway non sono necessari. Ragion per cui un diamante rappresenta un punto in cui il flusso necessita di essere controllato. In alcune circostanze possono essere messi per chiarezza del diagramma.

Gateways Esclusivi

I Gateways Esclusivi (Decisioni) sono punti all'interno di un processo di business dove la sequenza del flusso pu prendere una o pi strade. In parole povere vi una "divisione lungo il cammino" all'interno del processo. Soltanto una delle possibili alternative lungo il cammino potr essere intraprese durante l'esecuzione del processo. Vi sono due tipi di meccanismi per prendere una decisione

Basato sui dati (es: la valutazione di un'espressione) Basato sugli eventi (es: la ricezione di un messaggio)

Essi sono anche usati per riaggregare una sequenza di flusso.

Gateways Basati sui Dati

Sono i tipi di Gateways di suo pi comune.

Possono presentare come non presentare una "X" interna. Intalio non dispone della versione senza la "X".

Il Gateway (Decisione) crea percorsi alternativi cos come definito nelle condizioni.

Gateways Basati sugli Eventi

Questo tipo di decisione rappresenta un punto di divisione nel processo dove le alternative sono basate sugli eventi che avvengono in quel punto del processo, invece che dipendere da condizioni. Al centro del diamante posto il simbolo di "Evento Multiplo Intermedio" e caratterizza questo tipo di Gateway. Gli Eventi che seguono il Diamante determinano la strada da intraprendere. Il primo evento che si verifica viene scelto.

Gateways Inclusivi

I Gateway Inclusivi sono punti di decisione dove vi pi di una scelta. Il Gateway marcato con il simbolo "O" per identificarlo. Spesso seguito dal corrispettivo simbolo di merge Inclusivo. Attenzione che senza il corrispettivo merge solo un token basta a sbloccare il cammino.

Gateways Complessi

I Gateway complessi sono punti in cui vi la necessit di definire in maniera avanzata i comportamenti del Gateway stesso. L'asterisco utilizzato per identificare questo tipo di Gateway. Comportamenti complessi possono essere definiti sia per le condizioni di separazione (split) che di ricongiungimento (merge).

Gateways Paralleli

Un Gateway parallelo indica punti del processo in cui lo stesso si divide in percorsi paralleli. Nella maggior parte delle situazioni non richiesto ma se messo aumenta la leggibilit. Spesso richiesto da talune metodologie. Il simbolo "+" identifica questo tipo di Gateway. Lo stesso Gateway anche utilizzato per sincronizzare i cammini (attendere) paralleli. In questa forma sempre richiesto.

Connettori

Una sequenza di flusso utilizzata per identificare lordine in cui le azioni vengono svolte allinterno di un processo. Un flusso di messaggi utilizzato per mostrare lo scambio di messaggi tra due entit in grado di generare e ricevere messaggi. Una associazione utilizzate per associare dati, informazioni ed artefatti agli oggetti del flusso.

Sequenza di Flusso

Una Sequenza di Flusso viene usata per definire in cui le attivit verranno svolte all'interno di un processo. La sorgente e la destinazione devono essere necessariamente uno tra: Eventi, Attivit e Gateways. Una Sequenza di Fluss non pu attraversare il bordo di un sottoprocesso o di una piscina (Pool).

Sequenza di Flusso Predefinita

Una Sequenza di flusso che esce da un Gateway, Esclusivo o Inclusiva che sia, pu essere definita come percorso predefinito. Un taglio nella linea identifica il percorso come predefinito. Il percorso predefinito viene intrapreso se tutte le altre condizioni definite nel Gateway risultano false.

Flussi di Messaggi

Un Flusso di messaggi utilizzato per identificare lo scambio di messaggi tra due Partecipanti al Processo. In BPMN, vengono utilizzate piscine (Pools) separati per rappresentare i partecipanti. Un flusso di messaggi pu connettere il bordo della piscina o un oggetto all'interno di essa. I flussi di Messaggi non sono ammessi tra oggetti appartenenti alla stessa piscina.

Associazioni

Una associazione utilizzata per legare un oggetto ad un'altro (ad esempio Artefatti ad Attivit). Le Associazioni sono utilizzate per mostrare come le informazioni entrano ed escono da un'Attivit. Annotazioni di testo possono essere legate ad un oggetto.

Swimlanes

Il BPMN usa il concetto che va sotto il nome di "swimlanes" per aiutare a partizionare e/o organizzare le attivit. Vi sono due grandi tipi di swimlanes: Piscine e Corsie.

Le Piscine rappresentano i Partecipanti in un Diagramma interattivo. Le corsie rappresentano sottopartizioni per gli oggetti presenti all'interno della piscina.

Pools (Piscine)

Le Piscine rappresentano i Partecipanti del Diagramma di Business. Un Partecipante pu essere un ruolo di business (es.: acquirente o venditore) o un'entit di business (es.: KTec o OMG). Le interazioni tra le Piscine avviene attraverso i Flussi di Messaggi. Le sequenze di Flusso non possono attraversare il bordo di una Piscina (un processo completamente contenuto all'interno di una Piscina).

Lanes (Corsie)

Le corsie rappresentano sottopartizioni per gli oggetti presenti all'interno di una Piscina. Spesso rappresentano ruoli all'interno di un'organizzazione (es.: Manager, Impiegato), ma possono rappresentare una qualsiasi caratteristica del processo. Le sequenze di Flusso possono attraversare i bordi delle Corsie.

Annotazioni di Testo

Le annotazioni di testo permettono a chi disegna il processo di fornire informazioni addizionali sul processo stesso. Le annotazioni possono essere connesse ad uno specifico oggetto del diagramma tramite le Associazioni.

Programma

Introduzione al BPMN I concetti di base Esercizio 1 (Pausa?) Nuovi concetti Metodologie di modellazione dei processi Orchestration vs. Choreography Esercizio 2 Sommario del giorno e chiusura lavori

Esercizio 1

Vi propongo un piccolo set di domande che coprono i concetti di base del BPMN per iniziare a familiarizzare con questo nuovo strumento. Le domande mirano a rivedere ci che fino a questo momento si appreso. Ad alcune domande si pu rispondere per iscritto o se volete verbalmente, altre necessitano di un piccolo diagramma BPMN. Un client con Intalio|Designer disponibile per chi si vuole cimentare nel suo utilizzo.

Serie di domande 1
Che

differenza intercorre tra Task e Sottoprocesso? una Task con un timeout ed il seguito al timeout stesso. cosa consiste la maggiore restrizione per una Sequenza di Flusso?

Disegnate

In

Serie di domande 2
Quali

sono le regole di connessione per i Flussi di Messaggi? due alternative per un flusso di dati che esce da una Task ed entra in una successiva. il comportamento differente per un Gateway che condivide lo stesso simbolo allinterno del diamante?

Disegnate

Quale

Serie di domande 3
In

che modo un artefatto pu essere usato per aumentare le informazioni presenti in un diagramma BPMN? un ritardo basato su timer allinterno di un processo. cosa rappresentano le Piscine?

Disegnate

Che

Serie di domande 4
Che

differenza intercorre tra Gateway Esclusivi ed Inclusivi? un ritardo basato su timer allinterno di un processo. cosa rappresentano le Piscine?

Disegnate

Che

Serie di domande 5
In

che modo unassociazione influenza il flusso principale di un processo? un Flusso di Messaggi tra una white box di un partecipante ed una black box di unaltro. sono le regole nellaggiungere marcatori o icone ad una attivit?

Disegnate

Quali

Flusso Normale
Con

sequenza di flusso Normale ci si riferisce a quel flusso originato da un Evento di Start e che seguendo alternative e/o percorsi paralleli termina in un Evento di End. Un flusso Normale non comprende il flusso di eccezione o di compensazione

Eventi di Link
Sono Sono

utilizzati come connettori di fine pagina. utilizzati come Go-To

Livelli di un Processo
Un Le

processo pu essere modellato gerarchicamente, con molti livelli, attraverso i sottoprocessi sequenze di flusso non possono attraversare il bordo di un sottoprocesso. Flussi di messaggi ed associazioni possono attraversare il bordo di un sottoprocesso

Gestione delle Eccezioni

Eventi intermedi legati al bordo di una attivit rappresentano dei Triggers che possono interrompere l'attivit stessa. Qualunque lavoro all'interno dell'attivit sar fermato ed il flusso continuer dall'evento. Timer, Errori, Messaggi etc etc possono essere lanciati.

Gestione delle Eccezioni

Transazioni

Una transazione una particolare attivit e viene indicata con il doppio bordo. Le transazioni sono supportate da protocolli transazionali (ad esempio WS-Transaction) Il Flusso normale rappresenta il percorso da seguire nei casi di successo. Un evento intermedio di Cancellazione rappresenta il cammino da seguire in caso di cancellazione della attivit Un evento intermedio di Eccezione rappresenta il flusso da seguire qualora la transazione viene annullata ma non esiste compensazione. Le attivit utilizzate per compensare (identificate con dei marcatori) sono esterni al flusso normale.

Cicli - loop

Concetti di modellazione

Un processo una sequenza cronologia di attivit. Un modello accurato dovrebbe essere ordinato in una sequenza temporale ( in generale da sinistra verso destra) Un processo generalmente inizia con un qualche evento e prosegue il suo lavoro attraverso attivit e risultati di business. Si possono avere piccoli elementi di lavoro riusabili Tutte le task o attivit sono associati a ruoli che rappresentano persone nell'attivit di business. Accertarsi di aver catturato tutti i ruoli rilevanti, che potrebbero essere anche esterni all'azienda. Un modello completo deve mostrare come gli oggetti o i dati (o tutte e due) sono trasformati e dove vanno a finire. Un processo pu essere modellato in maniera gerarchica mediante i sottoprocessi. Le scelte fatte in punti di decisione determinano il percorso da intraprendere tra quelli disponibili.

Guide alla modellazione

Stabilire degli standard e delle guide per sviluppare i modelli e dare i nomi agli elementi del modello. Stabilire delle convenzioni sui nomi per ogni oggetto del modello. Ad esempio tutte le attivit potrebbero avere il seguente formato: verbo + (aggettivo/descrizione) + nome Esempio: "Verifica Account" Evitare la ridondanza nei nomi, ad esempio non utilizzare le parole Processo, Processare nel nome del processo o le parole attivit e task nel nome delle attivit. Per aiutare la lettura dei report, i nomi dovrebbero essere al massimo di 32 caratteri. Per aiutare la lettura tutte le parole dovrebbero iniziare con la lettera maiuscola. Stabilire un set di nomi, verbi ed acronimi da utilizzare per gli oggetti. Stabilire standard per i meccanismi di versioning associati ad un processo.

Orchestration vs. Choreography


Orchestrazione: workflow, processi

interni,

processi privati. Contenuti allinterno di un pool


Coreografia: Collaborazione, processi

globali, processi di B2B. Definite tramite interazioni tra pools

Orchestrazione
Orchestrazione: definisce

processi che sono interni allorganizzazione Spesso il processo rappresentato da un singolo pool

Coreografia
Coreografia: due

o pi attori di business

coinvolti Interazioni tra pools

Esercizio Creare un processo per il rimborso delle spese


Si

parte dalla descrizione testuale del processo per arrivare al suo modello. Disegnarlo su carta. del processo concedere i rimborsi per le spese sostenute dai dipendenti. Acquisto di un libro tecnico Spese di trasferta Ristorazione ed alloggi sul flusso base del processo.

Scopo

Concentratevi

Esercizio Processo per il rimborso delle spese

Ricevuta la richiesta di rimborso va creato un account sul sistema per il dipendente qualora questo non ne disponga gi. La richiesta viene validata e si procede alla sua approvazione Le spese sotto i 200 sono approvate automaticamente Per le spese superiori richiesta lapprovazione del supervisore Se il rimborso viene negato va informato il dipendente con una mail. Il rimborso viene accreditato direttamente sul conto corrente del dipendente. Se nessuna azione viene intrapresa in 7 giorni va spedita una mail al dipendente informandolo che la sua richiesta in lavorazione. Se la richiesta non viene elaborata nei successivi 30 giorni il processo viene stoppato ed inviata una mail di notifica di cancellazione al dipendente. Egli deve rifare la richiesta di rimborso.

Esercizio Processo per il rimborso delle spese

Esercizio Processo per il rimborso delle spese

Link Utili

Date e Time http://www.w3.org/TR/xmlschema-2/#dateTime XML http://www.w3.org/XML/ Intalio http://www.intalio.com http://www.intalio.com/products/bpm/downloads/ Community http://www.intalio.com/community/ KTec http://www.ktec.it