Corso di
Web Services
A A. 2010 2011
Domenico Rosaci
Wokflow
D. Rosaci
Workflow
Definizione
• Un workflow si preoccupa di automatizzare procedure in cui
documenti, informazioni o tasks vengono passati fra i vari
attori, rispettando definiti set di regole per poter ottenere o
contribuire ad un obiettivo comune.
• Più semplicemente può essere descritto come l’agevolazione
o l’automatizzazione computerizzata di un processo di
business, in parte o totalmente
D. Rosaci
Workflow
2
Automatizzazione dei
processi
• L’automatizzazione di un processo di business è
definita all’interno di una specifica di processo, in
cui si identificano le varie attività, le regole
procedurali e i rispettivi dati di controllo, che
vengono utilizzati per gestire il workflow durante
l’esecuzione del processo.
• Ogni istanza del processo ha associato un set
specifico di dati che sono rilevanti per quella
determinata istanza di processo (Case).
D. Rosaci
Workflow
3
Tipologie di workflow
• Una distinzione viene segnalata tra workflow di
produzione e workflow ad-hoc;
• i primi utilizzano regole procedurali definite a priori
• i secondi le regole procedurali possono essere
modificate o create durante le operazioni del
processo.
D. Rosaci
Workflow
4
Wokflow Management
System
• E’ un sistema che definisce, crea e gestisce
l’esecuzione dei workflow attraverso l’utilizzo di
software, i quali vengono eseguiti su uno o più
workflow engine, i quali sono in grado di
interpretare le definizioni di processo, interagire con
i partecipanti e invocare l’uso di tool e applicazioni
IT quando richiesto.
D. Rosaci
Workflow
5
Wokflow Management
System; Vantaggi
• Il lavoro non va in stallo e non segue percorsi non corretti e
perciò gli impiegati sono raramente chiamati a recuperare
situazioni di errore.
• I manager possono focalizzarsi su problemi di business quali
performance individuali, procedure di ottimizzazione, e casi
speciali, anziché badare all’assegnamento delle attività.
• Gli impiegati sono sollevati dal compito di inviare e tenere
traccia del loro lavoro, in quanto queste operazioni sono svolte
in automatico.
• Le procedure sono documentate formalmente ed eseguite
correttamente; ciò assicura che il lavoro sia svolto nella
maniera in cui è stato pianificato dal manager, andando a
soddisfare tutti i requisiti a cui è soggetto.
D. Rosaci
Workflow
6
Vantaggi dei WMS
• I compiti più importanti vengono svolti per primi, assegnando
la persona o macchina più appropriata ad ogni attività
componente il processo. Gli impiegati non sprecano tempo
scegliendo il lavoro da svolgere
• Rispetto ad un workflow tradizionale, l’introduzione del
parallelismo, cioè l’esecuzione concorrente di più task, porta
ad una semplificazione del processo e a minor attese e perdite
di tempo.
• Migliora anche per quanto riguarda il servizio clienti, in quanto
la consistenza del processo porta ad una maggiore
prevedibilità del livello di risposta ai clienti.
• Dal punto di vista della flessibilità si hanno dei vantaggi in
quanto il controllo computerizzato dei processi permette la loro
riprogettazione in linea con i cambiamenti di business richiesti.
D. Rosaci
Workflow
7
Concetti
• Business process: insieme di una o più procedure o
attività collegate, le quali realizzano collettivamente
un obiettivo comune, normalmente all’interno del
contesto di una struttura organizzativa che definisce
ruoli funzionali e relazioni.
• Un business process può coinvolgere interazioni
formali o informali tra i partecipanti e la sua durata
può variare largamente.
• Può essere composto da attività automatizzate in
grado di gestire il workflow e/o da attività manuali le
quali non riguardano ciò che concerne la gestione
del workflow.
D. Rosaci
Workflow
8
Concetti
• Process: rappresentazione di un processo di
business in una forma che supporta la
manipolazione automatica.
• La definizione di un processo consiste in una rete di
attività e nelle loro relazioni, criterio atto ad indicare
l’avvio, la terminazione di un processo, le
informazioni legati alle attività individuali, i
partecipanti, le applicazioni associate, i dati, ecc…
• La definizione di un processo può contenere
collegamenti
a
sottoprocessi,
definiti
separatamente, che possono prendere parte alla
definizione globale di processo.
D. Rosaci
Workflow
9
Concetti
• Process Instance (Case): rappresentazione di una
singola istanza di processo, creata, gestita ed
eventualmente terminata da un workflow
anagement system.
• Ogni process instance usa dati propri ed è in grado
di procedere indipendentemente attraverso i vari
step fino al suo completamento o terminazione.
• Ogni process instance mantiene uno stato interno
che rappresenta il suo stato di avanzamento
attraverso le attività che la compongono.
D. Rosaci
Workflow
10
Concetti
• Una process instance può trovarsi in vari stati:
• - Initiated: l’istanza di processo è stata creata ma
non è in esecuzione.
• - Running: l’istanza di processo ha iniziato la sua
esecuzione ed una o più delle sue attività possono
essere eseguite.
• - Active: uno o più activity sono iniziate e sono state
create delle activity instance.
• - Suspended: l’istanza di processo è quiescente:
ulteriori activity non possono essere iniziate prima
che essa riprenda la sua esecuzione. (continua)
D. Rosaci
Workflow
11
Concetti
• - Completed: l’istanza di processo ha raggiunto le
condizioni di terminazione.
• - Terminated: l’esecuzione del processo è stata
interrotta in maniera non corretta a causa di errori o
su richiesta dell’utente.
• - Archived: l’istanza di processo è in uno stato di
archiviazione, ma può essere riabilitata per la
ripresa del processo.
D. Rosaci
Workflow
12
Concetti
• Activity: descrizione di una parte di lavoro che
forma uno step logico all’interno di un processo.
Un’attività può essere manuale, che non supporta
automazione computerizzata, o automatizzata.
• Un’attività di workflow richiede delle risorse umane
o hardware per supportare l’esecuzione del
processo; quando è richiesta una risorsa umana,
l’attività viene assegnata ad un utente coinvolto nel
workflow.
• Un’attività è tipicamente la più piccola unità di
lavoro che è schedulata da un workflow engine
durante l’esecuzione del processo.
D. Rosaci
Workflow
13
Concetti
• Activity Instance: rappresentazione di un’attività
all’interno di una singola istanza di processo. Ogni
activity
instance
rappresenta
una
singola
invocazione di una attività, relazionata esattamente
ad una istanza di processo, ed usa i dati associati
all’istanza di processo.
• Diverse activity instance possono essere associate
ad un process instance, ma un’activity instance non
può essere associata a più process instance.
D. Rosaci
Workflow
14
Concetti
• Un’activity instance può trovarsi in vari stati:
• - Inactive: l’activity instance è stata creata, ma non
ancora attivata; non esiste un workitem per quella
attività.
• - Active: uno o più work-item sono stati creati e
assegnati per essere processati.
• - Suspended: l’activity instance è quiescente:
ulteriori work-item non possono essere iniziati prima
che essa riprenda la sua esecuzione.
• - Completed: l’activity instance ha raggiunto le
condizioni di terminazione.
D. Rosaci
Workflow
15
Concetti
• Work-Item: rappresentazione del lavoro che deve
essere processato nel contesto di un’attività
all’interno di un’istanza di processo.
• Un work-item è normalmente presentato all’utente
per mezzo di una lista di lavori, che mantiene i
dettagli dei work-item assegnati a quello specifico
utente.
D. Rosaci
Workflow
16
Relazioni tra concetti
D. Rosaci
Workflow
17
Business Process Modeling
Notation (BPMN)
• Notazione grafica per rappresentare i flussi di
processo
• Standard sviluppato dalla Business Process
Modeling Initiative, con lo scopo di fornire una
notazione
chiara,
completa
e
facilmente
comprensibile da tutti gli utenti
• La BPMN definisce un Business Process Diagram
(BPD) che, utilizzando diagrammi di flusso composti
da un insieme di elementi grafici, permette la
creazione di modelli di business process, e allo
stesso tempo di gestire in maniera efficace la
complessità che essi comportano.
D. Rosaci
Workflow
18
BPMN
• La BPMI nella definizione dello standard ha scelto
di organizzare gli elementi grafici in categorie
specifiche, permettendo al lettore di riconoscere e
capire facilmente gli elementi base dei diagrammi.
• Le quattro categorie base di elementi sono: Flow
Objects, Connecting Objects, Swimlanes e Artifacts.
• I Flow Objects sono i tre elementi base che
compongono un Business Process Diagram:
– Event,
– Activity
– Gateway.
D. Rosaci
Workflow
19
BPMN
D. Rosaci
Workflow
20
BPMN
D. Rosaci
Workflow
21
BPMN
D. Rosaci
Workflow
22
BPMN
D. Rosaci
Workflow
23
Esempio: Gestione prestiti
bancari via Web
• Il processo rappresenta i passi necessari per poter effettuare
la richiesta di un prestito bancario.
• Esso inizia con la richiesta di un prestito da parte di un utente
(Applicant). Tale richiesta viene processata dapprima da un
manager aziendale che ne fa una valutazione preliminare e
verifica se i dati immessi dall’utente sono validi,
interrompendo, in caso contrario, l’intero processo.
• Nel caso in cui i dati siano validi il processo proseguirebbe la
sua esecuzione e il manager passerebbe la richiesta agli
impiegati, effettuando una selezione dei compiti da assegnare
ad ogni impiegato.
.
D. Rosaci
Workflow
24
Esempio: Gestione prestiti
• A questo punto il processo si divide in due parti che possono
essere svolte in disgiunzione: infatti se l’utente avesse fatto
richiesta di un prestito semplice (Loan), le verifiche da
effettuare da parte degli impiegati sono quella finanziaria, di
residenza e di credito bancario. Nel caso di un mutuo
(Mortgage), invece, gli impiegati devono verificare sia lo stato
finanziario dell’utente e la residenza, sia effettuare una verifica
sull’impiego dell’utente.
• Una volta effettuate tali verifiche, la richiesta ritorna sotto la
competenza del manager, che effettua una verifica finale e
decide se accettare o meno la richiesta di prestito. Infine
l’utente decide se accettare o rifiutare il prestito, terminando
così l’intero processo
• L’intero BPMN dell’esempio si trova nell’Allegato 1
D. Rosaci
Workflow
25
Esempio: Compravendita
macchine usate
• Questo secondo caso di studio è stato introdotto in quanto si
adatta in modo più adeguato ad un particolare scenario di
distribuzione di workflow che tratteremo rispetto al caso di
studio precedente, in quanto è necessario avere due flussi di
processo separati; per questo motivo abbiamo scelto lo
scenario della compravendita di macchine usate.
• In questo caso abbiamo due workflow indipendenti, uno
riguardante le auto, che viene gestito da un’applicazione che
rappresenta un concessionario, e uno riguardante l’utente,
proprio di un’applicazione che gestisce i clienti del
concessionario.
D. Rosaci
Workflow
26
Workflow delle auto
• Il flusso di processo relativo ad un auto inizia con la sua
fabbricazione, continua con la sua immatricolazione e
prosegue con delle attività che rappresentano la
compravendita dell’auto.
• Queste attività comprendono “For Sale”, in cui l’auto viene
messa in vendita per consentirle la ricerca da parte
dell’acquirente, e “Purchase / Sale” che conclude le operazioni
di compravendita;
• esse possono essere eseguite più volte, a seconda del
numero di transazioni che avvengono nel sistema. L’ultima
fase, che porta al completamento del flusso di processo
relativo ad un’auto, è la demolizione.
D. Rosaci
Workflow
27
Workflow delle auto
D. Rosaci
Workflow
28
Workflow degli utenti
• Il workflow degli utenti inizia con la ricerca di un’auto e
prosegue, dopo l’acquisto, con il suo utilizzo, per continuare
poi con una attività di messa in vendita dell’auto. A questo
punto il flusso di lavoro ritorna alla fase iniziale di ricerca delle
auto.
D. Rosaci
Workflow
29
Compravendita macchine
• I due workflow interagiscono fra loro solamente a fronte di una
richiesta di acquisto o vendita di un’auto.
• Questo caso di studio ci offre la possibilità di ricavare svariate
combinazioni di interazione fra le due tipologie di workflow.
• Quella più semplice riguarda il solo workflow relativo alle auto,
utilizzato dalla concessionaria, che immatricola le auto, le
acquista per se, e in seguito le demolisce.
• A questo è possibile aggiungere un’istanza del workflow degli
utenti, rappresentando un cliente che desideri acquistare o
vendere la propria auto esclusivamente al concessionario.
• A questo scenario è possibile inserire altre istanze del
workflow degli utenti, senza un limite massimo, per
rappresentare un sistema di compravendita che coinvolga
svariati utenti.
D. Rosaci
Workflow
30
Altro esempio di Workflow
D. Rosaci
Workflow
31
Altro esempio di
collaborazione tra Workflow
D. Rosaci
Workflow
32
Scarica

Modulo 8: Workflow