• Non ci sono risultati.

Università di Pisa

N/A
N/A
Protected

Academic year: 2021

Condividi "Università di Pisa"

Copied!
9
0
0

Testo completo

(1)

Università di Pisa

Facoltà di Scienze Matematiche, Fisiche e Naturali

Corso di Laurea Specialistica

in Tecnologie Informatiche

Anno accademico 2005-2006

Tesi di Laurea:

Traduzione automatica di descrizioni

Di servizi Web

Candidato:

Andrea Lorenzani

Relatore:

Controrelatore:

(2)
(3)

A mia madre, che mi ha permesso di intraprendere questa strada e a tutti coloro che mi hanno sostenuto nel percorrerla

(4)

Ringraziamenti

Vorrei esprimere la mia più sincera gratitudine al relatore di questa tesi, il prof. Antonio Brogi, per avermi seguito nella stesura e per la disponibilità dimostrata.

Ringrazio inoltre il dottorando Razvan Andrei Popescu che ha supervisionato il progetto. Ringrazio infine mia mamma, mio fratello, e tutti coloro che mi hanno sostenuto durante il

(5)

Indice generale

CAPITOLO 1 - INTRODUZIONE... 10

1.1 OBIETTIVODELLATESIERISULTATIOTTENUTI... 12

1.2 STESURADELLATESI... 15

CAPITOLO 2 - BPEL4WS (BUSINESS PROCESS EXECUTION LANGUAGE FOR WEB SERVICES)... 18

2.1 CENNIALLANASCITADI BPEL4WS...18

2.2 INTRODUZIONEA BPEL4WS...20

2.3 DEFINIZIONE WSDL PERUNPROCESSO BPEL4WS... 25

2.4 DEFINIZIONEDIUNPROCESSO BPEL4WS...32

2.5 LASTRUTTURADIUNPROCESSODIBUSINESS...38

2.5.1 Definizione del processo e attributi ad alto livello... 39

2.5.2 Definizione dei partecipanti esterni al processo...40

2.5.3 Definizione delle variabili...41

2.5.4 Definizione degli insiemi di correlazione... 42

2.5.5 Definizione dei gestori per eventi, fallimenti e compensazioni... 44

2.6 LEATTIVITÀDIUNPROCESSO BPEL4WS...47

2.6.1 Attributi ed elementi standard delle attività e significato dei link...48

2.7 ATTIVITÀSEMPLICI... 51 2.7.1 Receive e Reply... 51 2.7.2 Invoke... 52 2.7.3 Assign... 54 2.7.4 Throw... 55 2.7.5 Compensate...56

2.7.6 Terminate e la terminazione delle attività... 57

2.7.7 Wait... 58 2.7.8 Empty... 59 2.8 ATTIVITÀSTRUTTURATE...59 2.8.1 Sequence...60 2.8.2 Flow... 60 2.8.3 Switch... 61 2.8.4 While... 62 2.8.5 Pick...62 2.8.6 Scope... 63

CAPITOLO 3 - YAWL (YET ANOTHER WORKFLOW LANGUAGE)...68

3.1 INTRODUZIONE...68

3.2 PATTERNDIRIFERIMENTO...69

3.3 ILLINGUAGGIO YAWL... 74

3.4 GESTIONEDEIDATIINUNWORKFLOW YAWL... 77

3.5 ESEMPIDIWORKFLOW YAWL... 78

3.6 ILLINGUAGGIO XML PERUNWORKFLOW YAWL... 84

CAPITOLO 4 - BPEL2YAWL... 102

4.1 PROGETTAZIONE... 102

4.1.1 Gli schemi di traduzione... 103

4.1.2 Schemi di traduzione per le attività semplici di BPEL4WS... 108

4.1.2.1 Empty...108

4.1.2.2 Receive...109

(6)

4.1.2.3 Reply... 110 4.1.2.4 Wait...111 4.1.2.5 Invoke... 112 4.1.2.6 Assign... 112 4.1.2.7 Throw...115 4.1.2.8 Compensate ...115 4.1.2.9 Terminate... 118

4.1.3 Schemi di traduzione per le attività composite di BPEL4WS... 119

4.1.3.1 Sequence... 119

4.1.3.2 Flow... 121

4.1.3.3 Switch... 122

4.1.3.4 While...123

4.1.3.5 Pick... 126

4.1.3.6 Scope e gli handler...130

4.1.4 Il processo BPEL4WS... 141 4.2 REALIZZAZIONE... 143 4.2.1 Il package BPELDoc...144 4.2.1.1 La classe GenericActivity... 147 4.2.2 Il package YAWLDoc... 150 4.2.3 Esecuzione di BPEL2YAWL...154 4.3 ESEMPIO...156 CAPITOLO 5 - CONCLUSIONI... 164 APPENDICE A : PATTERN DI TRADUZIONE...169 BIBLIOGRAFIA...227

(7)

Indice delle illustrazioni

Figura 1.1: Service Oriented Architecture (SOA)... 11

Figura 2.1: interazione con un web service e rapporto tra WSDL e BPEL4WS...21

Figura 2.2: rappresentazione del servizio per l'esempio di BPEL4WS...25

Figura 2.3: interazione tra servizio e portType esterni...28

Figura 3.1: rappresentazione grafica dei principali elementi di YAWL... 75

Figura 3.2: primo esempio di gestione di istanze multiple...78

Figura 3.3: secondo esempio di gestione di istanze multiple... 78

Figura 3.4: terzo esempio di gestione di istanze multiple... 79

Figura 3.5: funzionamento dell'OR-split... 80

Figura 3.6: funzionamento dell'OR-join...80

Figura 3.7: implementazione del pattern Discriminator (pattern 9)... 81

Figura 3.8: esempio di cancellazione di un task, anche durante l'esecuzione... 82

Figura 3.9: esempio di cancellazione di un task in attesa di esecuzione... 83

Figura 3.10: esempio di cancellazione reciproca tra due task... 83

Figura 3.11: esempio di implmentazione di un reminder...84

Figura 3.12: il workflow dell'esempio preso in esame... 86

Figura 4.1: il pattern generico di traduzione...104

Figura 4.2: il pattern della Empty...108

Figura 4.3: il pattern della Receive...109

Figura 4.4: il pattern della Reply... 110

Figura 4.5: il pattern della Wait...111

Figura 4.6: il pattern della Invoke... 112

Figura 4.7: la Assign ad alto livello...112

Figura 4.8: il pattern della Begin Assign...113

Figura 4.9: il pattern della Copy...114

Figura 4.10: il pattern della End Assign... 114

Figura 4.11: il pattern della Throw...115

Figura 4.12: la Compensate ad alto livello... 116

Figura 4.13: la Begin Compensate... 117

Figura 4.14: la End Compensate...117

Figura 4.15: il pattern della Terminate... 118

Figura 4.16: la Sequence ad alto livello... 119

Figura 4.17: il pattern Begin Sequence... 120

Figura 4.18: il pattern End Sequence...121

Figura 4.19: la Flow ad alto livello...121

Figura 4.20: la Switch ad alto livello...122

Figura 4.21: le modifiche al pattern generico per la Case... 123

Figura 4.22: la While ad alto livello... 124

Figura 4.23: il pattern Begin While... 125

Figura 4.24: il pattern End While... 125

Figura 4.25: la Pick ad alto livello...126

Figura 4.26: il pattern della Begin Pick...127

Figura 4.27: la sottorete della Begin Pick...128

(8)

Figura 4.29: la Scope ad alto livello... 130

Figura 4.30: il Fault Handlers ad alto livello...132

Figura 4.31: il pattern Begin Fault Handlers... 133

Figura 4.32: il pattern generico modificato dalla Catch... 134

Figura 4.33: il pattern End Fault Handlers... 135

Figura 4.34: l’Event Handlers ad alto livello... 136

Figura 4.35: il pattern Begin Event Handlers... 136

Figura 4.36: la onMessage ad alto livello...137

Figura 4.37: la onAlarm ad alto livello...138

Figura 4.38: il pattern Begin Compensation Handler...140

Figura 4.39: il pattern End Compensation Handler...140

Figura 4.40: il processo BPEL4WS ad alto livello...141

Figura 4.41: il pattern Begin Process...142

Figura 4.42: il pattern End Process...143

Figura 4.43: diagramma delle classi UML con classi che compongono la BPELProcess ... 145

Figura 4.44: diagramma delle classi UML focalizzato sulla FaultHandler...146

Figura 4.45: diagramma delle classi UML per il package YAWLDoc... 151

(9)

Riferimenti

Documenti correlati

Second, the power or weight of subsidiaries is expected to be of importance in stage two of the process, the issue selling, evaluation and approval of initiative (Saka-Helmhout,

organismo di promozione delle politiche attive per il lavoro, finalizzato quindi ad un coordinamento delle azioni dei servizi pubblici per l’impiego in questo ambito

Justice of the European Union's (CJEU) Kadi 2 saga, and more recently its Opinion 2/13, 3 as symptoms of the CJEU's unwillingness and the EU's incapacity to reconcile

12 Il vescovo Giuseppe Maria Peruzzi resse la diocesi di Vicenza dal 1818 al 1830. 13 Libro Cronistorico …, cit.; ASDVi, Stato delle chiese, Trissino... In alcuni documenti la

It thus seems credible to read into the European Constitutional Treaty an attempt to block the process of continual revision that characterises the system of the EU Treaties, in

Second, by 2019 all European navy and coast guard assets had disengaged from carrying out 1 The dotted line shows the average of the multiple imputation models used to

Having acknowledged that the size of the banking sector in Europe has grown significantly in the years before the crisis and that the banking sector has shown significant

Whereas the AB agreed with the EU that no such high legal standard is necessary for a violation of Article 3.1(b) to occur and thus the complainant is not required