Argomenti avanzati di sistemi
informativi A
Coreografia e orchestrazione
dei web services
Quattrocchi Salvatore
Matr. 666751
Indice
• Coreografia e orchestrazione
• Requisiti
• Linguaggi
– BPEL4WS
– WSCI
– WSDM
– confronto
• Conclusioni e sviluppi futuri
Orchestrazione
• Come i Web service possono interagire tra loro
– a livello di messaggio
– ordine di esecuzione delle interazioni
• Definizione delle transazioni di lunga durata
– applicazioni in esecuzione
– singolo proprietario (c’è un solo punto di vista
e controllo)
– Coinvolgono una o più
appl./server/organizzazioni
• I BP possono essere pubblicati come servizi
Coreografia
• Analizza la sequenza dei messaggi
scambiati
• Può coinvolgere più partecipanti e risorse
• Fornisce una visione globale del processo
• rappresentazioni delle interazioni
collaborative
• tutti i partecipanti sono posti allo stesso
livello
Requisiti
• Flessibilità: ortogonale separazione tra processi e
servizi
• Attività base e strutturate: attività base per le
chiamate ai WS e strutturate per gestire il flusso di
controllo
• componibità recorsiva: sia a livello di processo
che di servizi
• Persistenza: l’informazione riguardo lo stato dei
partecipanti deve essere mantenuta
• Correlazione: le conversazioni tra i partecipanti
devono essere distinguibili
• gestione delle eccezioni e delle transazioni nelle
Long running transaction (LRT)
Esempio di riferimento
• Il modello viaggiatore-agente di viaggio
BPEL4WS
BPEL4W S Process Flow
invoke
W eb
Service
invoke
W eb
Service
invoke
W eb
Service
receive
Step 1
W eb
Service
Sequential Flow
reply
S
Parallel Flow
receive
Step
3A
W eb
Service
reply
•
•
•
•
W SDL
W SDL
Step 2
Exception
Handling and
Transactions
Step
3B
Roles and
Partners
Step
3C
Persistance and
Containers
Supporto per attività base e strutturate
Modellazione di partner a ruoli
Variabili e id di correlazione per garantire la persistenza
Transazioni di compensazione con livello di visibilità
WSCI
• Linguaggio solo per la coreografia
• definisce il comportamento dei WS
• ogni partner ha la interfaccia WSCI ed è definito
in un documento WSCI separato
• non definisce un processo esecutivo
• attività base:le azioni,cioè un’operazione atomica
di scambi di messaggi, mappata direttamente su
una operazione di WSDL
• attività strutturate: come BPEL4WS
• Modello globale
WSDM
• Risorsa gestibile: funzionalità.accesibilità e
componibilità
• relazioni per legare le varie risorse
• Relazioni: anche molti a molti; permettono la
discovery
• pubblicazione: registri, relazioni e pubblicazione
di eventi
Esempio/Confronto
pattern
standard
XPDL
UML
BPEL
XLANG
WSFL
BPML
WSCI
Sequence
+
+
+
+
+
+
+
Parallel Split
+
+
+
+
+
+
+
Synchronization
+
+
+
+
+
+
+
Exclusive Choice
+
+
+
+
+
+
+
Simple Merge
+
+
+
+
+
+
+
Multi Choice
+
-
+
-
+
-
-
Synchronizing Merge
+
-
+
-
+
-
-
Multi Merge
-
-
-
-
-
+/-
+/-
Discriminator
-
-
-
-
-
-
-
Arbitrary Cycles
+
-
-
-
-
-
-
Implicit Termination
+
-
+
-
+
+
+
MI without Synchronization
+
-
+
+
+
+
+
MI with a Priori Design Time Knowledge
+
+
+
+
+
+
+
MI with a Priori Runtime Knowledge
-
+
-
-
-
-
-
MI without a Priori Runtime Knowledge
-
-
-
-
-
-
-
Deferred Choice
-
+
+
+
-
+
+
Interleaved Parallel Routing
-
-
+/-
-
-
-
-
Milestone
-
-
-
-
-
-
-
Cancel Activity
-
+
+
+
+
+
+
Cancel Case
-
+
+
+
+
+
+
Conclusioni e lavori futuri
• I linguaggi hanno potenzialità differenti e
enfatizzano elementi diversi
• Possibilità di combinarli:es. WSDM+WSCI
• Necessità di linguaggi di più alto livello, magari
grafici, che permetteranno di modellare
coreografie piu’ complesse
• Tutti integrati su WSDL e utilizzano una sintassi
basata su XML linguaggio più adatto alle
macchine
Scarica

Argomenti avanzati di sistemi informativi A