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