Un sistema di persistenza per motori di workflow business-oriented BPMN

19
1 Un sistema di persistenza per motori di workflow business-oriented BPMN Relatore Prof. Alberto Bartoli Correlatore Ph.D. Carlos Kavka Candidato Alessandro Segatto

Transcript of Un sistema di persistenza per motori di workflow business-oriented BPMN

Page 1: Un sistema di persistenza per motori di workflow business-oriented BPMN

1

Un sistema di persistenzaper motori di workflow

business-oriented BPMN

RelatoreProf. Alberto Bartoli

CorrelatorePh.D. Carlos Kavka

CandidatoAlessandro Segatto

Page 2: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

2

Workflow• Descrizione astratta di un processo reale

svolto da operatori umani (spesso in forma sequenziale)

• riguarda la creazione di un documento o di un progetto

Page 3: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

3

Workflow (2)• Può essere di diversi tipi

• Scientific, Business

• Può essere descritto in diversi modi e formati

• L’esecuzione viene orchestrata da un engine (o motore)

Page 4: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

4

Obiettivo Tesi • Estendere le funzionalità di un engine,

consentendo di salvare il suo stato e ripristinarlo in seguito.

Engine ESTECO attuale

Engine ESTECO esteso

Page 5: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

5

Obiettivo Tesi (2)

Errori Vari

Ripristinare lo stato dell'engine

precedente al fallimento

Soluzione comune

Page 6: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

6

BPMN• Formalismo standard per la descrizione di

workflow

Forma grafica:

Page 7: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

7

BPMN (2)

Forma testuale equivalente (XML):

<userTask id="ApproveOrder" name="ApproveOrder"><potentialOwner>

<resourceRef>tns:regionalManager</resourceRef><resourceParameterBinding parameterRef="tns:buyerName">

<formalExpression>getDataInput('order')/address/name </formalExpression>

</resourceParameterBinding><resourceParameterBinding parameterRef="tns:region">

<formalExpression>getDataInput('order')/address/country </formalExpression>

</resourceParameterBinding></potentialOwner>

</userTask>

Page 8: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

8

Scientific Workflow

• È una specializzazione di workflow

• Descrive un processo computazionale

• Usato per modellare ed automatizzare un processo di calcolo ingegneristico

Page 9: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

9

Requisiti

• Scalabilità

• Gestione di grandi quantità di dati

• Gestione degli errori

Page 10: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

10

Difficoltà• Salvataggio in uno stato valido

• Non alterare il flusso d'esecuzione

• Arresto rapido dell’engine

• Non inficiare la scalabilità dell’engine

• Non aumentare complessità engine

• Possibilità di salvare lo stato del motore il maggior numero di volte possibile nel corso di un'esecuzione

Page 11: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

11

Engine ESTECO

• Orchestra l’esecuzione di scientific workflows

• Utilizza risorse distribuite

• Input BPMN (in formato XML)

Page 12: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

12

Process Instance

Workflow event queueRunnabl

eRunnabl

eRunnabl

e

Workmanage

rWork

Message

Work Message QueueWork

MessageWork

MessageWork

Message

Work Job Engine

Job 1

Job 2

Job 3

Work Job Engine

Job 1

Job 2

Page 13: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

13

Progettazione - Interfaccia

• Pause – Resume

• Save – Load

• Start - Shutdown

• Forced Shutdown

Page 14: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

14

Progettazione• Ordine di spegnimento

thread

• Work manager thread

• Workflow event queue thread

Page 15: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

15

Progettazione (2)• Oggetti da salvare

Process Instance

Workflow event queueRunnabl

eRunnabl

eRunnabl

e

Page 16: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

16

Workmanage

r

Process Instance

Workflow event queueRunnabl

eRunnabl

eRunnabl

e

Engine

Progettazione (3)• Ripristino dei riferimenti

Page 17: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

17

Implementazione• Pattern di funzionamento per i thread

• Pattern per la gestione dei riferimenti verso la process instance

• Sistema per ricostruire i riferimenti del work manager alla process instance

Page 18: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

18

Conclusioni• L’engine è in grado si fermarsi e salvare il

suo stato

• L’engine è in grado di ripristinare il suo stato e riprendere l’esecuzione

• Sviluppi futuri • Utilizzo di quanto prodotto per aumentare la

robustezza dell’engine• Valutazione della bontà delle soluzioni trovate

introducendo nuovi servizi

Page 19: Un sistema di persistenza per motori di workflow business-oriented BPMN

Thursday, April 13, 2023

19

Grazie per l’attenzione