+ All Categories
Home > Documents > Pernici Barbara Politecnico di Milano [email protected] Master Universitario di II livello...

Pernici Barbara Politecnico di Milano [email protected] Master Universitario di II livello...

Date post: 01-May-2015
Category:
Upload: nunzia-guarino
View: 215 times
Download: 2 times
Share this document with a friend
Popular Tags:
115
Pernici Barbara Pernici Barbara Politecnico di Milano [email protected] http://www.elet.polimi.it Master Universitario di II livello in Tecnologia dell'Informazione Master Universitario di II livello in Tecnologia dell'Informazione 13-14 novembre 2003 13-14 novembre 2003 ICT ICT C enter of enter of E xcellence xcellence F or or R esearch, esearch, I nnovation, nnovation, E ducation, and life-long ducation, and life-long L earning earning Politecnico di Milano Politecnico di Milano Tecnologie per e-service Tecnologie per e-service Composizione di e-service Composizione di e-service Workflow Management Systems Workflow Management Systems
Transcript
Page 1: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Pernici BarbaraPernici BarbaraPolitecnico di Milano

[email protected]://www.elet.polimi.it

Master Universitario di II livello in Tecnologia dell'InformazioneMaster Universitario di II livello in Tecnologia dell'Informazione

13-14 novembre 200313-14 novembre 2003

ICT ICT CCenter of enter of EExcellence xcellence FFor or RResearch, esearch, IInnovation, nnovation, EEducation, and life-long ducation, and life-long LLearningearning

Politecnico di MilanoPolitecnico di Milano

Tecnologie per e-serviceTecnologie per e-service

Composizione di e-service Composizione di e-service

Workflow Management SystemsWorkflow Management Systems

Page 2: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

SommarioSommario

Workflow management systems: concetti generali

Processi e web-service BPEL Altri approcci WorkFlow Coalition

Page 3: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

SOASOA

Page 4: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

SOA ReminderSOA Reminder

TransportMedium

FindBind

Publish

ServiceRequestor

ServiceDirectory

ServiceProvider

Page 5: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

...in relazione ai Web ...in relazione ai Web ServicesServices

ServiceRequestor

ServiceRequestor

WSDLUDDI

SOAP

Page 6: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WebServices

SOA In ActionSOA In Action

UDDI,WSDL,SOAP,...

PerformDelivery

Check CreditRating

ProduceInvoice

Page 7: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Processi, web service e Processi, web service e workflowworkflow

Processo ottenuto come invocazione di più servizi web -> orchestrazione di web service

BPEL4WS Esecuzione di attività collegate da parte

di più agenti -> workflow WorkFlow Coalition reference architecture

Page 8: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Work Flow Management: IntroduzioneWork Flow Management: Introduzione

La caratteristica principale della tecnologia dei WF è l’automazione di processi che coinvolgono una combinazione di attività umane e automatiche, in particolare con il coivolgimento di applicazioni e strumenti IT

Page 9: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Cosa è un Workflow?Cosa è un Workflow?

L’automazione di un business process, in tutto o in parte, in cui documenti, informazioni o compiti sono passati da un partecipante a un altro per svolgere attività, secondo un insieme di regole procedurali

Molte singole istanze di processo possono essere operative durante l’enactment di un processo, ciascuna associata a un insieme di dati rilevanti per quella particolare istanza di processo (o “caso” o workflow “case”)

Page 10: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WorkflowWorkflowConcetti generaliConcetti generali

Page 11: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione dei processiDefinizione dei processi

rete di attività

criteri per iniziare e terminare il processo

informazioni sulle singole attività

partecipanti, documenti e dati collegati

applicazioni sw da utilizzare

Page 12: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Partecipante di un WorkflowPartecipante di un Workflow

in grado di eseguire il compitoin grado di eseguire il compito

risorsa umanarisorsa umana

una personauna persona

un gruppo che condivide un insieme un gruppo che condivide un insieme

di compiti da svolgeredi compiti da svolgere

applicazione softwareapplicazione software

hardware specificohardware specifico

Page 13: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Process Definition

Rappresentazione di un processo in una forma che consente la manipolazione automatica

Per modellazione Per enactment

La definizione di un processo consiste in una rete di attività e loro relazioni, criteri per indicare l’inizio e la fine di un processo, e informazioni riguardo le singole attività, quali I partecipanti, le applicazioni IT associate, I dati, …

Page 14: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

ProcessoProcesso

Activity A

Activity B

Activity C

Activity D

Activity E

Activity F

Activity G

Activity H

Page 15: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Gestione ordineGestione ordine

Compila BdO

Approvazione Stampa report

Contabilita’ approva

impiegatoimpiegato responsabileresponsabile

direttoredirettore

Contabilita’Contabilita’

ExcelExcel

WordWord

Direttore controlla

fine

Controllo disponibilita’

Page 16: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Evoluzione dei workflowEvoluzione dei workflow

gestione di documenti posta elettronica groupware software per la gestione dei progetti BPR e strumenti per la progettazione

strutturata separazione delle funzionalità di gestione

di WF orchestrazione di web-service

elaborazione di immagini

Page 17: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

istanze di processo (o casi)

ciascuna con i propri dati e i propri partecipanti

Workflow Management SystemWorkflow Management System

Page 18: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Partecipante di un WorkflowPartecipante di un Workflow

esegue il lavoro associato a una

particolare istanza di attività

lista dei lavori (worklist): compiti

assegnati a partecipante

risorsa

Page 19: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Esempio di schermata (client)Esempio di schermata (client)

Page 20: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Process Instance Process Instance Worklist Worklist

Process Definition A Process Definition A

Activity B Activity B

Activity D Activity D Activity A Activity A

Activity C Activity C

Process DefinitionProcess Definition

Page 21: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

1st Process Instance 1st Process Instance

Work Item1 Work Item1

Work Item2 Work Item2 2nd Process Instance 2nd Process Instance

Process Definition Process Definition Process Instance Process Instance Worklist Worklist

Process Definition AProcess Definition A

Work List 1Work List 1

Activity B Activity B

Activity D Activity D Activity A Activity A

Activity C Activity C

Page 22: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

1st Process Instance 1st Process Instance

2nd Process Instance 2nd Process Instance

Work Item1 Work Item1

Work Item2 Work Item2

Work List 1Work List 1

Work List 2Work List 2

Process Definition AProcess Definition A

Activity B Activity B

Activity D Activity D Activity A Activity A

Activity C Activity C

3rd Process Instance 3rd Process Instance Work Item3 Work Item3

Process Definition Process Definition Process Instance Process Instance Worklist Worklist

Page 23: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

1st Process Instance 1st Process Instance

2nd Process Instance 2nd Process Instance

Work Item2 Work Item2 Process Definition AProcess Definition A

Work List 1Work List 1

Work List 2Work List 2

Activity B Activity B

Activity D Activity D Activity AActivity A

Activity C Activity C

3rd Process Instance 3rd Process Instance Work Item3 Work Item3

Work Item4 Work Item4

Work Item5 Work Item5

Process Definition Process Definition Process Instance Process Instance Worklist Worklist

A eseguitaA eseguita

Page 24: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Processi e Web serviceProcessi e Web service

Page 25: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

BPEL4WSBPEL4WS

Business Process Execution Language for Web Services

Obiettivo: Specifica un modello di comportamento dei

servizi web durante un processo di business Si pone ad un livello più alto dei linguaggi visti

fino ad adesso in ambito WS Grammatica basata su XML

Descrive la logica di funzionamento del processo Interpretato da un orchestration engine che

coordina il processo

Page 26: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WF e web-serviceWF e web-service

Orchestrazione di servizi: Invocazione di web-service secondo una

sequenza predefinita Schema di processo Esecuzione automatica del processo Il processo è anch’esso un web-service

Page 27: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

BPEL e gli altriBPEL e gli altri

Page 28: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

BPEL e gli altriBPEL e gli altri

Un documento BPEL è legato a WSDL in tre modi:

I processi BPEL vengono esposti come servizi Web tramite WSDL, con cui vengono descritti i punti iniziali e finali del processo;

I tipi di dati WSDL vengono utilizzati all’interno di un processo per descrivere le informazioni passate tra le richieste;

Con WSDL è possibile fare riferimento a servizi esterni.

WS-Transaction Standard per la descrizione delle transazioni a

lungo termine

Page 29: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Vista di un web service Vista di un web service implementato come processo implementato come processo

BPELBPEL

portType

<receive>

<reply>

Web

service

<receive>

BPEL process

c

c

Page 30: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione processo: Definizione processo: Documenti BPELDocumenti BPEL

Descrizione delle attività Due tipologie di attività

Semplici Strutturate, contengono altre attività e ordine di

esecuzione Inizio e termine del processo

Receive: il processo è in attesa di ricevere un messaggio

Reply: il processo risponde al messaggio ricevuto Receive + Reply formano request-response

Nota: receive e reply possono essere anche essere utilizzate per interazioni intermedie

Page 31: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Documenti BPELDocumenti BPEL

Attivita’ semplici di base Receive Reply Invoke, consente l’invocazione di una operazione su un

WS Assign, consente di modificare il valore di una variabile

Costruttori Sequence, costruisce una sequenza di azioni Switch, consente di scegliere fra azioni diverse While, consente di far ciclare le azioni (loop) Flow, consente l’esecuzione di più attività in parallelo Pick, blocca un’attività fino all’arrivo di un messaggio

Link, collegamenti tra attivita’

Page 32: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Documento BPELDocumento BPEL

Container (variable) Tipi di dati usati nel processo Specifica WSDL

Partners Partecipanti al processo Ogni partner è caratterizzato da un service link

type Role

funzionalità svolta da un partner all’interno del processo

Un partner può avere più ruoli

Page 33: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

EsempioEsempio

Page 34: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Vista internaVista interna

Page 35: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione dei messaggiDefinizione dei messaggi

Listing 1: Loan Definitions WSDL (loandefinitions.wsdl)

<definitions targetNamespace="http://tempuri.org/services/loandefinitions"

xmlns:tns="http://tempuri.org/services/loandefinitions"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns="http://schemas.xmlsoap.org/wsdl/">

<message name="creditInformationMessage">

<part name="firstName" type="xsd:string"/>

<part name="name" type="xsd:string"/>

<part name="amount" type="xsd:integer"/>

</message>

<message name="loanRequestErrorMessage">

<part name="errorCode" type="xsd:integer"/>

</message>

</definitions>

Page 36: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Servizio LoanApproverServizio LoanApprover

Listing 2: Loan Approver WSDL (loanapprover.wsdl)<definitions

targetNamespace="http://tempuri.org/services/loanapprover"…/>

<import …/><message name="approvalMessage">

<part name="accept" type="xsd:string"/></message><portType name="loanApprovalPT">

<operation name="approve"><input message="loandef:creditInformationMessage"/>

<output message="tns:approvalMessage"/><fault name="loanProcessFault" message="loandef:loanRequestErrorMessage"/>

</operation></portType><binding ...> ... </binding><service name="LoanApprover">....</service></definitions>

Page 37: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Il processo Loan Approval Il processo Loan Approval come web servicecome web service

Listing 3: Loan Approval WSDL(loan-approval.wsdl)

<definitions targetNamespace="http://loans.org/wsdl/loan-approval"xmlns="http://schemas.xmlsoap.org/wsdl/"xmlns:slnk="http://schemas.xmlsoap.org/ws/2002/06/service-link/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:lns="http://loans.org/wsdl/loan-approval"xmlns:apns="http://tempuri.org/services/loanapprover"><import namespace="http://tempuri.org/services/loanapprover"location="http://localhost:8080/bpwssamples/loanapproval/loanapprover.wsdl"/><import namespace="http://tempuri.org/services/loandefinitions"location="http://localhost:8080/bpwssamples/loanapproval/loandefinitions.wsdl"/><slnk:serviceLinkType name="loanApprovalLinkType"><slnk:role name="approver"> <portType name="apns:loanApprovalPT"/></slnk:role></slnk:serviceLinkType><service name="loanapprovalServiceBP"/>

</definitions>

Utilizzato per entrambi i servizi

Definizione di max due ruoli per port type

Page 38: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Processo Processo loanApprovalProcessloanApprovalProcess

Page 39: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione processo (1)Definizione processo (1)

<process name="loanApprovalProcess"targetNamespace="http://acme.com/simpleloanprocessing"xmlns="http://schemas.xmlsoap.org/ws/2002/07/business-process/"xmlns:lns="http://loans.org/wsdl/loan-approval"xmlns:loandef="http://tempuri.org/services/loandefinitions"xmlns:apns="http://tempuri.org/services/loanapprover">

<partners><partner name="customer"

serviceLinkType="lns:loanApprovalLinkType"myRole="approver"/>

<partner name="approver"serviceLinkType="lns:loanApprovalLinkType"partnerRole="approver"/>

</partners>

<containers><container name="request"

messageType="loandef:CreditInformationMessage"/><container name="approvalInfo" messageType="apns:approvalMessage"/></containers>

Page 40: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione processo (2)Definizione processo (2)

<sequence><receive name="receive1" partner="customer"

portType="apns:loanApprovalPT"operation="approve" container="request"createInstance="yes">

</receive>

<invoke name="invokeapprover"partner="approver"portType="apns:loanApprovalPT"operation="approve"inputContainer="request"outputContainer="approvalInfo">

</invoke>

<reply name="reply" partner="customer" portType="apns:loanApprovalPT"

operation="approve" container="approvalInfo"></reply>

</sequence></process>

Page 41: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Processi con percorsi non Processi con percorsi non sequenzialisequenziali

Page 42: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Loan AssessorLoan Assessor

Listing 1. Loan assessor's WSDL snippet (loanassessor.wsdl)<definitionstargetNamespace="http://tempuri.org/services/loanassessor"…<message name="riskAssessmentMessage">

<part name="risk" type="xsd:string"/></message><portType name="riskAssessmentPT">

<operation name="check"><input

message="loandef:creditInformationMessage"/><output message="tns:riskAssessmentMessage"/><fault name="loanProcessFault" message="loandef:loanRequestErrorMessage"/></operation>

</portType><binding ...> ... </binding><service name="LoanAssessor">....</service></definitions>

Page 43: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Nuove definizioniNuove definizioni

<slnk:serviceLinkType name="riskAssessmentLinkType">

<slnk:role name="assessor"><portType name="asns:riskAssessmentPT"/></slnk:role>

</slnk:serviceLinkType>

<partner name="assessor"serviceLinkType="lns:riskAssessmentLinkType"partnerRole="assessor"/>

<containername="riskAssessment"messageType="asns:riskAssessmentMessage"/>

Page 44: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione flusso (1)Definizione flusso (1)

<flow><links><link name="receive-to-assess"/><link name="receive-to-approval"/><link name="approval-to-reply"/><link name="assess-to-setMessage"/><link name="setMessage-to-reply"/><link name="assess-to-approval"/></links>

<receive name="receive1" partner="customer“ portType="apns:loanApprovalPT"operation="approve" container="request"createInstance="yes">

<source linkName="receive-to-assess"transitionCondition= "bpws:getContainerData('request', 'amount')<10000"/><source linkName="receive-to-approval"transitionCondition= "bpws:getContainerData('request', 'amount')>=10000"/></receive>

Page 45: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione flusso (2)Definizione flusso (2)

<invoke name="invokeAssessor" partner="assessor"portType="asns:riskAssessmentPT"operation="check" inputContainer="request"outputContainer="riskAssessment"><target linkName="receive-to-assess"/>

<source linkName="assess-to-setMessage"

transitionCondition="bpws:getContainerData('riskAssessment', 'risk')='low'"/>

<source linkName="assess-to-approval"transitionCondition="bpws:getContainerData('riskAssessment',

'risk')!='low'"/></invoke>

Page 46: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Definizione flusso (3)Definizione flusso (3)

<assign name="assign"><target linkName="assess-to-

setMessage"/><source linkName="setMessage-to-

reply"/><copy><from expression="'yes'"/><to container="approvalInfo"

part="accept"/></copy>

</assign>

<invoke name="invokeapprover"partner="approver" portType="apns:loanApprovalPT“

operation="approve"inputContainer="request“

outputContainer="approvalInfo"><target linkName="receive-to-approval"/><target linkName="assess-to-approval"/><source linkName="approval-to-reply" />

</invoke>

<reply name="reply" partner="customer"portType="apns:loanApprovalPT“ operation="approve" container="approvalInfo"><target linkName="setMessage-to-reply"/><target linkName="approval-to-reply"/>

</reply></flow></process>

Page 47: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

EsecuzioneEsecuzione

Page 48: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Creazione ProcessoCreazione Processo

Creazione su receive createInstance=“Yes”

Correlation set Non vi e’ un istanceID per l’istanza di processo I correlation set definiscono le “chiavi” del

processo Es: firstName, name nel processo indicato

Altre richieste che arrivano al processo con lo stesso Nome e Cognome vengono correlate all’istanza gia’ attiva del processo

Utili per long-running business processes

Page 49: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Uso correlation setUso correlation set

Secondo receive:

Acceptance-receive

Se stesso nome e cognome -> stessa istanza di processo

Page 50: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Altre attività di baseAltre attività di base

I Faults possono essere gestiti in BPEL4WS con una <throw> activity.

L’attività <terminate> può essere utilizzata per abbandonare immediatamente l’esecuzione in una istanza di processo che la esegue

L’attività <wait> permette di aspettare un intervallo di tempo o una deadline

L’attivtà <empty> non fa nulla. Può essere utilizzata per catturare e gestire un fault.

Page 51: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Documento BPELDocumento BPEL

Gestione eventi (fault handlers) Attività da eseguire in base ad errori

Due tipi di eventi Fault

Lanciare eccezioni durante l’invocazione di un servizio

Es. servizio acquisto dadi, dadi finiti Compensation

Azioni per annullare o invertire il servizio che ha causato il fault

La reazione alle eccezioni dipende dallo stato del processo

Tutte le azioni all’interno del tag scope devono essere tutte concluse o eliminate (transazioni)

Page 52: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

FaultsFaults

Page 53: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Uso scope e faultsUso scope e faults

Page 54: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

CommentiCommenti

Punti di forza di bpel4ws Gestione delle transazioni

WS-transaction Gestione delle eccezioni

Meccanismo di throw and catch tipico dei linguaggi di programmazione

Il linguaggio BPEL è indipendente dalla logica funzionale che c’è sotto

Aumento della flessibilità Esiste un motore BPEL4WS

Page 55: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

CommentiCommenti

È fortemente centralizzato Definizione dei processi a priori In alcuni contesti (esempio mobili) difficile

implementazione

Page 56: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Altri approcciAltri approcci

ebXML: Electronic business XML E’ una iniziativa portata avanti dal consorzio OASIS, costituito da diverse imprese di IT e da UN/CEFAT

automatizzare le procedure di business inter e intra organizzazione

Prendere a riferimento un processo di business all’interno del quale vengono specificati tutti gli aspetti della cooperazione

Page 57: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Altri approcci (2)Altri approcci (2)

Semantic Web e DAML-S ontologia dei servizi

sviluppata nell’ambito del programma DARPA rendere possibile ad utenti ed agenti software il

discovery, l’invocazione, la composizione e il monitoring di risorse Web che offrono particolari servizi e che hanno particolari proprietà

strutturazione di ontologie di DAML+OIL forniscono il framework

Obiettivi Discovery automatico dei servizi Invocazione automatica dei servizi

– Un agente software dovrebbe essere in grado di capire in maniera automatica quali input sono necessari per l’esecuzione di un servizio

Page 58: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WF e WFMSWF e WFMS

Page 59: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Tipi di processiTipi di processi

Georgakopoulos et al [Geo95] (classificazione in base alla struttura)

scarsamente strutturati (sequenza attivita’) altamente strutturati caratterizzati da strutture

complesse, con cicli, task eseguiti in parallelo e sincronizzazioni fra attività.

ulteriore classificazione in Geo95 human-oriented system-oriented

Page 60: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Tipi di processiTipi di processi

processi ad hoc senza una struttura fissa e ben definita,

caratterizzati da alta variabilità. Es. riorganizzazione di un’azienda il sistema deve consentire la cooperazione tra

persone che contribuiscono alla sua esecuzione, al fine di definire (dinamicamente) la struttura del processo man mano che questo procede.

Page 61: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Tipi di processiTipi di processi

Collaborativi il sistema supporta l’interazione tra piu’ persone definizione del contesto

es: redazione di un testo

Page 62: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Tipi di processiTipi di processi

processi amministrativi processi prevedibili e ripetibili è possibile definire uno schema attività in genere eseguite da agenti umani

(sono processi human-oriented), e comportano tipicamente l’inserimento di dati o la scrittura di documenti.

Es. La prenotazione di un viaggio, la valutazione di una richiesta di pensione

Data la loro ripetitività, i processi amministrativi si prestano bene ad essere automatizzati

Page 63: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Tipi di processiTipi di processi

processi produttivi system-oriented altamente strutturati guidano aspetti operativi di un’azienda elevato numero di transazioni che accedono a vari

sistemi informativi. Es. La costruzione di un aereo e l’aggiornamento di

un data warehouse sono esempi di processi produttivi.

prevedibili e ripetibili, possono essere automatizzati. cooperazione con sistemi informativi esterni che

tipicamente sono eterogenei, autonomi e distribuiti. Scalabilita’ robustezza, disponibilita’

Page 64: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow ClassificationWorkflow Classification

Business Value

Rep

etiti

on

high

low

low high

Ad HocReview/approval

FYI routing

Production

Claims handlingLoan handling

Accounting

AdministrativeTravel expense reports

Purchase approvals

Technical documentation creation

Brand Mgmt

Collaborative

(C) Leymann 2001

Page 65: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Ader 2001Ader 2001

Workflow ClassificationWorkflow Classification

Ader 2001

Page 66: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

definire processi

creare, gestire l’esecuzione di workflow

uno o più motori di workflow (workflow engine)

interagire con i partecipanti

chiamare applicazioni e strumenti software esterni

Workflow Management SystemWorkflow Management System

Sistema software per:

Page 67: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow Management Coalition WfMCWorkflow Management Coalition WfMC

fondata nell’agosto 1993fondata nell’agosto 1993

organizazione internazionaleorganizazione internazionale

venditori di tecnologia WFMS, utenti e analisti

terminologia standard

standard di interconnessione tra WFMS e con

applicazioni esterne

favorire l’uso dei WFMS

obiettiviobiettivi

Page 68: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Il lavoro della CoalitionIl lavoro della Coalition

Reference Model Glossary Process Definition Tools Interface (1) Workflow Client Application Interface (2) Invoked Application Interface (3) Workflow Interoperability Interface (4) Administration & Monitoring Tools Interface (5)

Page 69: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

La sfidaLa sfidaGestione dei flussi di lavoroGestione dei flussi di lavoro

In processi complessi, la pianificazione e la gestione delle diverse attività diventa sempre più difficile

Controllare I flussi di lavoro può richiedere tanto tempo quanto l’esecuzione del lavoro stesso

Page 70: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

La soluzioneWorkflow La soluzioneWorkflow management softwaremanagement software

Wokflow management software: gestisce attivamente il coodinamento di attività tra persone in processi di business generici

Page 71: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.
Page 72: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow Management Workflow Management SystemSystem

A system that defines, creates and manages the execution of workflows through the use of software, running on one or more workflow engines, which is able to interpret the process definition, interact with workflow participants and, where required, invoke the use of IT tools and applications

Page 73: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WFMS: aree funzionaliWFMS: aree funzionali

Build-time functions, riguardano la definizione, e la modellazione dei processi di workflow e delle attività che li costituiscono

Run-time control functions riguardano la getione dei processi di workflow in un ambiente operativo e la seqanzializzazione delle attività gestite come parte del processo

Run-time interactions with human users and IT application tools per eseguire le attività

Page 74: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WFMSWFMS

ProcessDefinition

Build Time

Business Process Analysis,Modelling & Definition Tools

Run Time

Workflow Enactment Service

Process changes

Process Instanciation& Control

Applications& IT Tools

Interaction with Users & Application Tools

Process Design& Definition

Page 75: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.
Page 76: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WF modeling constructsWF modeling constructs

Activities Transitions Join / split (AND e OR)

Tipi di attivita’ Generica Nulla Ciclo (con condizioni iniziale e finale + corpo del

ciclo) subflow

Page 77: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.
Page 78: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Activity bodyActivity body

Role Duration (average, max) Description Tools, applications

Page 79: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow ParticipantWorkflow Participant

A resource which performs the work represented by a workflow activity instance.

This work is normally manifested as one or more work items assigned to the workflow participant via the worklist

Page 80: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Process executionProcess execution

Evolution of instance of process (case) Evolution of activities in process

Page 81: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Transizioni di stato per istanze di processiTransizioni di stato per istanze di processiTransizioni di stato per istanze di processiTransizioni di stato per istanze di processi

SuspendedSuspended

ActiveActive

TerminatedTerminated

RunningRunningInitiatedInitiatedInitiateInitiate

CompleteComplete

StartStart

RestartRestart

RestartRestart

Terminate/ Terminate/ AbortAbort

Suspend / Suspend / resumeresume

(1 or more activity (1 or more activity instances) instances)

Page 82: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Transizioni di stato per attivitàTransizioni di stato per attivitàTransizioni di stato per attivitàTransizioni di stato per attività

SuspendedSuspended

ActiveActive CompleteCompleteInactiveInactiveStartStart

Suspend / ResumeSuspend / Resume

(has Work Item)(has Work Item)

Page 83: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

WorklistWorklist

Worklist: a list of work items associated with a given workflow participant (or in some cases with a group of workflow participants who may share a common worklist).

The worklist forms part of the interface between a workflow engine and the worklist handler

Page 84: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Distribution & System InterfacesDistribution & System Interfaces

Individual activity

Applications

User Interface &

Local DesktopApplications

BusinessProcess

Databases

Process/Activity Mgt

Distribution Functionsteps

Page 85: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Product Implementation ModelProduct Implementation Model

User Interface

WorklistHandler

Generates

ProcessDefinition

References

WorkList

Manipulate

Interact via

Invokes

Invokes

Definition Tool

Application(s)

Mayreference

Interpreted by

External product/data

Software component

System control data

WorkflowApplicationData

WFMEngine(s)

Application(s)

maintain

use

update

mayrefer to

WorkflowEnactmentService

(Supervisor)

Administration& Control

Organisation/Role Model

Workflowcontroldata

WorkflowRelevant

Data

Data

Page 86: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

The generic model has three types of The generic model has three types of component:component:

software components which provide support for various functions within the workflow system (shown in dark fill)

various types of system definition and control data (shown unfilled) which are used by one or more software components

applications and application databases (shown in light fill) which are not part of the workflow product, but which may be invoked by it as part of the total workflow system

Page 87: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

DataData

Control data Status of activities (running, suspended,

terminated) Assignment of activities

Relevant data Needed to perform the work (e.g. loan amount,

used in conditions such as loan-amount> 1000) Application data

Page 88: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Alternative Implementation Alternative Implementation ScenariosScenarios

Amongst the main alternatives considered are: centralised or distributed workflow

enactment service worklist handler location(s) and

distribution mechanism

Page 89: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Standard workflow enactment service boundaryStandard workflow enactment service boundary

ProcessDefinition

WFMEngine

Workflowcontroldata

Invoked

Application(s)

Local orremote

(Supervisor)

WFMEngineWFM

EngineWFMEngine

WorkList

WorkList

A - Centralised Model B - Distributed Model

WorkList

Workflowcontroldata

Page 90: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Alternative client worklist handler Alternative client worklist handler implementationsimplementations

Shared FilestoreModel

Common API

Model

Procedure Call orMessage PassingModel

Electronic Mail

WorkflowEngine

Worklist

WorklistAccess

WorkflowClient Appn.

RPCetc

WorkflowEngine

Worklist

WorklistAccess

WorkflowClient Appn.

X.400,

WorkflowEngine

WorklistAccess

WorkflowClient Appn.

etc

WorkflowEngine

Worklist

WorklistAccess

WorkflowClient Appn.

Localcall

Worklist

Serverenvironment

environmentClient

Host basedModel

Page 91: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

The Need for StandardisationThe Need for Standardisation

The basic rationale to achieve standardisation of important workflow functional interfaces is driven by two major considerations:

Ongoing support for business re-engineering & operational flexibility

Integration requirements resulting from product specialisation and market variety

Page 92: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow Reference ModelWorkflow Reference Model

Process Definition Tools

Administration & Monitoring

Tools

Interface 1

Interface 4Interface 5

Workflow Enactment Service

Workflow API and Interchange formats

Other WorkflowEnactment Service(s)

WorkflowClient

Applications

Interface 3Interface 2

WorkflowEngine(s)

WorkflowEngine(s)

InvokedApplications

Page 93: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow Enactment ServicesWorkflow Enactment Services

A software service that may consist of one or more workflow engines in order to create, manage and execute workflow instances. Applications may interface to this service via the workflow application programming interface (WAPI).

A workflow enactment service may operate within a single (homogeneous) workflow domain, or using the facilities provided within the WfMC interoperability interface enactment may occur across engines within several (heterogeneous) domains

Page 94: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Process Definition InterchangeProcess Definition Interchange

Workflow Enactment Service

WorkflowEngine(s)

Process AnalysisModelling & Definition

Tools

Process Definition

Process StructureActivities & NavigationRoles & ParticipantsTrigger ConditionsApplication invocationEtc...

Interchange Formats & APIs

Page 95: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

XML Process Definition XML Process Definition LanguageLanguage

Workflow Process Definition Interface -- XML Process Definition Language. (XPDL) (May 22, 2001) Document Number WFMC-TC-1025Document Status – Draft 0.03a (Alpha Status)This forms part of the documentation relating to “Interface one” - supporting Process Definition Import and Export. This interface includes a common meta-model for describing the process definition and also a DTD for the interchange of process definitions.XPDL_010522.PDF (329kb)XPDL.DTD (7kb)The intended audience for this document is primarily vendor organizations who seek to implement the XML Process Definition Language (XPDL) of the Workflow Management Coalition (WfMC).

Page 96: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.
Page 97: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Interaction with external resources Interaction with external resources

The client application interface (2), through which a workflow engine interacts with a worklist handler

The invoked application interface (3), which enables the workflow engine to directly activate a specific tool to undertake a particular activity.

Page 98: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Client Application InterfaceClient Application Interface

User Interface

ClientApplication

Command Set

Connection/Disconnection

Process and Activity Control Functions

Process Status Functions

Worklist Manipulation Commands

Standardised APIs & Interchange

Workflow Enactment Service

WorkflowEngine(s)

ApplicationsInvoked

Page 99: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Invoked Application InterfaceInvoked Application Interface

Standardised APIs & Interchange

ApplicationAgent

Application Specific Interfaces

(Local or RemoteMany Variants)

Workflow Enactment Service

WorkflowEngine(s)

Workflow-enabled

ApplicationsInvoked

Applications

Page 100: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow InteroperabilityWorkflow Interoperability

Un obiettivo della coalition e’ definire standard per consentire a sistemi di workflow realizzati da diversi produttori sw di scambiarsi elementi di lavoro

Sono stati identificati 4 diversi possibili modelli di interoperabilita’, con possibilita’ diverse

Page 101: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Modello a servizi concatenatiModello a servizi concatenati

Process A Process B

A1

A2 A3

A4

A5 B1

B2

B3

B4 B5

Questo modello consente il trasferimento di un singolo elemento di lavoro (istanza di processo o attivita’) tra due ambienti WFMS diversi, che operano indipendentemente dopo lo scambio, senza ulteriori sincronizzazioni

Page 102: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Modello a sottoprocessi annidatiModello a sottoprocessi annidati

Domain of Workflow Service A Domain of Workflow Service B

Process A Process B

A1

A2 A3

A4

A5 B1

B2

B3

B4 B5

Nel diagramma, il servizio di WF A ha un’attivita’ definita (A3) che e’ eseguita come un processo completo (B) sul sistema di WF B, con ritorno del controllo a A dopo l’esecuzione

Page 103: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Modello Peer-PeerModello Peer-Peer

Shared Domain of Workflow Services A & B

Process C

WorkflowEngine(s)

B

WorkflowEngine(s)

A

Enacted across

C1

C2 C3

C4

C5 C6

Questa alternativa richiede che entrambi i servizi di WF supportino una interfaccia API comune per la comunicazione e che siano in grado di interpretare una definizione di processo comune, che puo’ essere importata da un processo di definizione esterno o trasferita run time durante l’esecuzione

Page 104: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Modello parallelo sincronizzatoModello parallelo sincronizzato

Synchronisation point

Domain of Workflow Service A Domain of Workflow Service B

Process A

A1

A2 A3

A4

A5

Process B

B1

B2

B3

B4 B5

I due processi operano sostanzialmente indipendentemente, ma richiedono dei punti di sincronizzazione tra i due processi

Page 105: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Workflow interoperability interface Workflow interoperability interface

Interface 4

Workflow Enactment Service

Workflow API and Interchange formats

WorkflowEngine(s)

Activity or sub-process invocationProcess/Activity status/control

Application/workflow relevant data transfer

Workflow Enactment Service

Workflow API and Interchange formats

WorkflowEngine(s)

Synchpoint coordinationProcess definition read/write

Page 106: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Interoperabilita’Interoperabilita’

XML Messaging Wf-XML: interoperabilita’ tra WfMS - a livello di

istanze documento Workflow Standard Interoperability -

WF-XML Binding, WF Handbook 2001 azioni sui processi, scambio dati, messaggi di

controllo

Page 107: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Esempio Wf-XMLEsempio Wf-XML

Page 108: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Esempio Wf-XML (2)Esempio Wf-XML (2)

Page 109: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Systems Administration & Monitoring InterfaceSystems Administration & Monitoring Interface

ManagementApplication

User managementRole managementAudit management

Process supervisory functions, etc

Resource control

Typical Functional Areas

WAPIInterface 5

Workflow Enactment ServiceA

WorkflowEngine(s)

Workflow Enactment ServiceB

WorkflowEngine(s)

Page 110: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Control, Relevant and Applications Control, Relevant and Applications data data

Workflow Control Data: Internal data that is managed by the workflow management system and/or workflow engine

Workflow Relevant Data: Data that is used by a workflow management system to determine the state transition of a workflow process instance

Workflow Application Data: Data that is application specific and not accessible by the workflow management system

Page 111: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.
Page 112: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.
Page 113: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Control, Relevant and Applications Control, Relevant and Applications data data

Workflow Control Data: Internal data that is managed by the workflow management system and/or workflow engine

Workflow Relevant Data: Data that is used by a workflow management system to determine the state transition of a workflow process instance

Workflow Application Data: Data that is application specific and not accessible by the workflow management system

Page 114: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

Types of Data in Workflow Types of Data in Workflow Management SystemsManagement Systems

ProcessDefinition

Build TimeBusiness Process Analysis,

Modelling & Definition Tools

Run Time

Workflow Enactment Service

Process changesProcess Instanciation& Control

Applications& IT Tools

Run Time

Interaction with Users & Application Tools

Process Design& Definition

Workflow Control Data

Workflow Relevant Data

Application Data

Page 115: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia dell'Informazione.

BibliografiaBibliografia

IEEE Computer, special issue on Web Services Computing: Advancing software interoperability, Oct. 2003

Gustavo Alonso, F. Casati, H. Kuno, V. Machiraju, Web Services, Springer, 2003

The Workflow Management Coalition home page: http://www.wfmc.org/

P. Grefen, B. Pernici, G. Sanchez (eds), Database Support for Workflow Management - The WIDE Project, Kluwer, 1999


Recommended