pernici barbara politecnico di milano [email protected] master universitario di ii livello...
TRANSCRIPT
![Page 1: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/3.jpg)
SOASOA
![Page 4: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/5.jpg)
...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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/10.jpg)
WorkflowWorkflowConcetti generaliConcetti generali
![Page 11: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/33.jpg)
EsempioEsempio
![Page 34: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/34.jpg)
Vista internaVista interna
![Page 35: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/38.jpg)
Processo Processo loanApprovalProcessloanApprovalProcess
![Page 39: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/47.jpg)
EsecuzioneEsecuzione
![Page 48: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/52.jpg)
FaultsFaults
![Page 53: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/71.jpg)
![Page 72: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/72.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/73.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/74.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/75.jpg)
![Page 76: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/76.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/77.jpg)
![Page 78: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/78.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/79.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/80.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/81.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/82.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/83.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/84.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/85.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/86.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/87.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/88.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/89.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/90.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/91.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/92.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/93.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/94.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/95.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/96.jpg)
![Page 97: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/97.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/98.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/99.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/100.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/101.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/102.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/103.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/104.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/105.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/106.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/107.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/108.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/109.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/110.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/111.jpg)
![Page 112: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/112.jpg)
![Page 113: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it Master Universitario di II livello in Tecnologia dell'Informazione](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/113.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/114.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051820/5542eb4f497959361e8beac1/html5/thumbnails/115.jpg)
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