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