Definizioni dal Reference Model
•
•
•
•
•
Workflow  La semplificazione dell’uso del computer o l’automazione di un
processo di lavoro in tutte le sue parti
Workflow Management System Un sistema che definisce, progetta ed
esegue interamente dei workflows, mediante l’uso di un software che
permette un’esecuzione guidata della logica del workflow
Process Definition  La rappresentazione di un processo di lavoro in una
forma che supporti la manipolazione automatica di un sistema di gestione di
workflow. Esso consiste in una rete di attività e relazioni, criteri per indicare
l’inizio e la fine dei processi, e informazioni sulle attività individuali come gli
attori le applicazioni di IT o i dati, etc…
Workflow Engine  Un servizio sw o “motore” che fornisce un ambiente di
esecuzione run-time alle istanze di workflow
Workflow Enactment Service  Un servizio sw che può consistere in uno o
più motori di workflow che si occupano di creare, gestire ed eseguire istanze
di workflow. Le applicazioni devono interfacciarsi con tale tipo di servizio
tramite le interfacce di applicazioni dei workflow (WAPI)
Caico Roberto,Termine Franceso
Componenti ed interfacce
Caico Roberto,Termine Franceso
Process Definition Tools
• Possono esistere molti tool per modellare, descrivere e documentare
un processo di business e tali tools possono andare dal meno
sofisticato (matita e carta) ad altri molto sofisticati.
• Il Reference Model nulla dice sulla tipologia e complessità di tali
tools, inoltre essi potrebbero essere integrati con altri tool specifici
come ad esempio un BPR (Business Process Re-Engineering).
• Quello che viene chiesto a tali tools e che alla fine siano in grado di
interfacciarsi con gli altri programmi definiti nelle altre interfacce.
• Quindi il prodotto finale deve modellare e sviluppare attività come
definizioni di processo che possono essere passate ad un engine.
• Tali tools devono essere in grado di avere una struttura organizzativa
che possa includere sia oggetti che ruoli anche complessi (tipo
relazioni tra attori, package, …)
Caico Roberto,Termine Franceso
Workflow Definition Interchange
Interface 1
• L’interfaccia tra il tool di modellazione e definizione, e il sw di engine
è altresì chiamata interfaccia import/export; la sua natura è un
formato di interscambio e di chiamate ad API al fine di scambiare
informazioni complete sulle definizioni del processo attraverso una
varietà di mezzi fisici o elettronici.
• Essa dovrebbe poter supportare lo scambio di un processo di
sviluppo completo come anche lo scambio di subset di processi di
sviluppo.
• Benefici nell’utilizzare delle standardizzazioni:
– si definisce un punto di separazione tra il build-time e il run-time e
l’utilizzo di un ambiente assestante per il process definition permette
all’utente di scegliere tra i vari tool disponibili quello ad egli più affine.
– offre la possibilità di esportare tali definizioni del processo in diversi
formati per poter essere implementati su engine differenti
Caico Roberto,Termine Franceso
Basic Meta-Model
Caico Roberto,Termine Franceso
Entities Overview
•
•
•
•
Workflow Process Definition  E’ un’entità che si relaziona con la
amministrazione e che contiene le informazioni di creazione (autore,data,…)
Workflow Process Activity  Ogni Proc. Def. è formato da una o più
attività; un’attività rappresenta il lavoro che può essere svolto da una
combinazione di risorse; Ad ogni attività possono opzionalmente essere
associate delle informazioni di start ed end, una priorità, etc…; Un’attività
potrebbe essere un blocco di attività che ne esegue un intero set; Una
dummy-activity è una attività scheletrica che non ha processi di lavoro ma
che può venire inserita per supportare l’instradamento delle decisioni
riguardo transizioni di ingresso e/o di uscita
Transition Information  Un attività è relazionata ad un’altra con
condizioni di controllo di flusso;ogni transizione ha 3 proprietà elementari:
l’attività di partenza, quella di arrivo e la condizione per la transizione. Ci
sono alcune transizioni che potrebbero essere incondizionate. Alcune
transizioni più complicate che non possono essere espresse con la normale
transizione sono formate usando dummy-activity
Workflow Partecipant Declaration  Questo provvede alla descrizione di
risorse che possono agire come realizzatori di varie attività. Particolari risorse
sono definite come attributi di una particolare attività, e si occupano di legare
la stessa ad un insieme di risorse. Esso non dovrebbe riferirsi ad una singola
persona ma dovrebbe identificare un set di persone con un apposito livello di
responsabilità
Caico Roberto,Termine Franceso
Entities Overview
•
Resource Repository  Esso tiene conto del fatto che gli attori possono
essere umani o programmi o macchine. In alcuni scenari più complicati gli
attori potrebbero essere un repository di risorse come ad esempio il modello
di organizzazione nel caso di attori umani.
•
Workflow Application Declaration  Permette la descrizione di
applicazioni o interfacce esterne che un servizio workflow può chiamare
•
Workflow Relevant Data  Definisce i dati che sono creati e usati
nell’esecuzione di un processo. Tale dato è messo a disposizione alle attività
o alle applicazioni in esecuzione che ne facessero richiesta e dovrebbe
essere usato per trasferire informazioni persistenti
•
System and Environmental data  Sono dati che servono alla gestione del
processo di workflow ma ai quali possono accedere attività varie
•
Data types and Expression  Il meta modello assume uno standard set di
tipi di dati (string, reference, integer, …). Tali tipi dovrebbero essere estesi
usando uno schema XML o un riferimento ai dati definiti in un a sorgente
esterna
Caico Roberto,Termine Franceso
Entities Overview
Caico Roberto,Termine Franceso
Extended Attributes
• Possono essere usati in tutte le entità, in funzioni e
procedure di una libreria e in dichiarazioni esterne.
Caico Roberto,Termine Franceso
About Interface 1
• La struttura complessiva dell’interfaccia 1 e le sue connessioni con i
servizi ad essa associati è quella mostrata nella figura sottostante:
Caico Roberto,Termine Franceso
Meta-Model
•
•
•
•
•
Il meta modello identifica un set di entità e attributi di base per lo
scambio di process definition; tra questi i fondamentali sono:
Workflow Process Activity
Transition Information
Workflow Partecipant Specification
Workflow Application Declaration
Workflow Relevant Data
La Coalizione WfMC ha definito una sua grammatica WPDL ed ha
deciso di usare come linguaggio standard l’XML avviandosi così a
standardizzare il linguaggio
XPDL  XML Process Definition Language
Caico Roberto,Termine Franceso
Meta-Model
Caico Roberto,Termine Franceso
Meta-Model – Process and Package
• Il package è un contenitore di entità che sono comuni a più processi
• Si introduce il problema dello scope delle entità
– Global scope
• Workflow Participant Specification
• Workflow Application Declaration
• Workflow Relevant Data
• E’ possibile inoltre fare riferimento a entità all’interno di diversi
package precedentemente definiti come:
– Process ids per individuare i subflow
– Workflow Partecipant Specification
– Workflow Application Decleration
• Visibilità  La priorità è delle entità locali successivamente quelle
globali o esterne
Caico Roberto,Termine Franceso
Meta-Model – W. P. Activity
3 tipi di attività definite:
•
•
Generic Activity
Route Activity Una dummy Activity che permette la definizione di
transizioni in cascata(e.g. if annidati : IF cond_1 THEN act_1 ELSE IF cond_2
THEN act_2 ELSE act_3
•
LOOP Activity  Una serie di transizioni connesse tra di loro (e.g. WHILE –
REPEAT - UNTIL)
Caico Roberto,Termine Franceso
Meta-Model – Transition Information
Descrivono le condizioni per passare da un’attività ad un’altra; si distinguono:
•
•
Regular Transition.  di tipo FROM … TO … COND
Loop Connecting Transition  Per esprimere cicli di condizione di
transizione
Caico Roberto,Termine Franceso
Meta-Model – Workflow Participant
•
•
•
•
•
•
I tipi di entità che possono essere Partecipant sono:
RESOURCE_SET  Un set di risorse.
RESOURCE  Un agente di risorse.
ROLE  Permette l’indirizzamento verso un determinato
tipo di funzione, di essere umano o di organizzazione. Ad
esempio può essere definita un’intera organizzazione
aziendale
ORGANIZATIONAL_UNIT  Un reparto o alcune unità di
una organizzazione
HUMAN  Un essere umano che interagisce col
sistema.
SYSTEM  Un agente automatico.
Caico Roberto,Termine Franceso
Meta-Model – Application Declaration
• E’ una lista di tutte le applicazioni o tools richiesti
o invocati.
• Questo permette un approccio al problema di tipo
multi-piattaforma dove differenti programmi
possono girare su piattaforme diverse
Caico Roberto,Termine Franceso
Meta-Model – Relevant Data
•
•
•
•
•
•
•
•
La struttura dei dati è del tipo:
Data Type  tipo di dato della variabile di processo
Description Short Descrizione testuale del dato
Extended Attributes  Estensioni opzionali
Id  Identificativo del dato.
Initial Value  Valore iniziale del dato per il run-time.
Is Array  Indica se è un array
Length  Lunghezza del dato
Name  Testo usato per identificare il dato
Caico Roberto,Termine Franceso
Meta-Model – Relevant Data – Data Type
•
•
•
•
•
•
•
•
•
•
Il tipo di dato (campo Data – type) può essere:
Array Type A  dati di dimensione fissata (deprecated).
Basic Type  Tipi semplici: STRING, INTEGER, FLOAT, DATETIME,
REFERENCE,
BOOLEAN, or PERFORMER.
Declared Type  Un riferimento a un tipo di dato dichiarato in una
typeDeclaration di un elemento.
Enumeration Type  Un set di valori ammissibili per un parametro di una
variabile (deprecated).
External Reference  Un riferimento ad un tipo di dato di un’entità esterna
List Type  Un insieme illimitato di dati dello stesso tipo (deprecated).
Record Type  Un insieme di membri di tipo differente (deprecated).
SchemaType  Un tipo definito usando uno schema XML.
Union Type  Un insieme di membri dei quali solo uno può essere usato
per un’istanza del dato (deprecated)
Caico Roberto,Termine Franceso
Scarica

Meta-Model