Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAngela Manzi Modificato 9 anni fa
1
UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Specialistica in Tecnologie Informatiche Applicazioni Distribuite mediante Web Service e sistemi di Workflow Tesi di Laurea di Relatore Antonio Pintus Prof. Andrea Bosin
2
Parte I Stato dell’arte delle Applicazioni Distribuite: Web Services e Sistemi di Workflow
3
22/09/2006 Antonio Pintus 3 Applicazioni distribuite: stato dell’arte (1) A partire dagli anni ’70 sono state date diverse definizioni di Sistema Distribuito, tutte legate alle prevalenti tecnologie hw/sw dell’epoca, spesso incentrate sui concetti di sistemi operativi distribuiti Applicazioni distribuite: “applicazioni indipendenti, distribuite in rete, cooperanti per il raggiungimento di un risultato comune e comunicanti mediante scambio di messaggi”
4
22/09/2006 Antonio Pintus 4 Applicazioni distribuite: stato dell’arte (2) Principali problemi affrontati: comunicazione tra applicazioni eterogenee: piattaforme, sistemi operativi e linguaggi di programmazione spesso molto diversi e tra loro incompatibili Due tipi di soluzioni adottate : –Tecnologie orientate ad una sola piattaforma/linguaggio: –DCOM, Java RMI, … –Definizione di protocolli di “intermediazione” tra sistemi eterogenei: –CORBA, XML-RPC, … Tecnologia prevalente attuale: Web Services
5
22/09/2006 Antonio Pintus 5 Applicazioni distribuite: Web Service (1) Negli ultimi anni, introduzione e grosso utilizzo della tecnologia dei Web Service: –Applicazione descritta da un’interfaccia che espone un insieme di operazioni: invocabili da remoto, via HTTP, mediante scambio di messaggi (definiti in formato XML) –Basata sulle tecnologie: WSDL (WebServices Description Language), per la descrizione del servizio UDDI (Universal Description, Discovery and Integration), protocollo per la pubblicazione e il discovery dei servizi SOAP (Simple Object Access Protocol), per la comunicazione mediante messaggi
6
22/09/2006 Antonio Pintus 6 Applicazioni distribuite: Web Service (1) Principali attori nelle applicazioni basate su Web Service
7
22/09/2006 Antonio Pintus 7 Service Oriented Architecture (SOA) Concetto nato principalmente per l’integrazione di sistemi eterogenei in ambiti Business-to-Business (B2B), basata sul concetto di: –Servizio: particolare unità di lavoro eseguita da un fornitore di servizi fruibile da un consumatore del servizio Fornitore e consumatore: entrambi applicazioni software autonome –Maggiore livello di astrazione nelle Applicazioni Distribuite –Web Service come tecnologia abilitante
8
22/09/2006 Antonio Pintus 8 Web Service Orchestration (1) Integrazione e composizione di singoli Web Service in processi di business standardizzati Web Service Orchestration vs. Choreography –L’orchestration descrive come un Web Service interagisce con un altro a livello di messaggi; descrive la logica del processo e l’ordine di esecuzione delle interazioni (per es. BPEL) –La choreography è relativa alla descrizione delle interazioni tra Web Service osservabili da un punto di vista esterno (per es. WS-CDL, Choreography Description Language)
9
22/09/2006 Antonio Pintus 9 Web Service Orchestration: BPEL BPEL, Business Process Execution Language (for Web Service) Linguaggio (basato su XML) per la descrizione di: –processi di business –flussi di lavoro –in una architettura orientata ai servizi e realizzata mediante Web Service –Possiede i principali costrutti dei linguaggi di programmazione imperativi
10
22/09/2006 Antonio Pintus 10 Workflow Management System (1) Workflow: “Un workflow è un meccanismo computerizzato che consente l'automazione di un processo di business, nella sua interezza o in parte” Workflow Management System (WfMS): “Un Workflow Management System è un sistema che definisce, gestisce ed esegue completamente dei workflow attraverso l'esecuzione di componenti software il cui ordine di esecuzione è guidato da una rappresentazione computerizzata della logica di workflow”
11
22/09/2006 Antonio Pintus 11 Workflow Management System (2) La Workflow Management Coalition ha definito un meta-modello per i workflow
12
22/09/2006 Antonio Pintus 12 Workflow Management System (3) Caratteristiche dei workflow: –Processo: insieme coordinato di attività, al suo interno possono essere presenti: Parallel routing: due o più attività in esecuzione parallela (molteplici thread) Sequential routing: esecuzione sequenziale delle attività (un unico thread) And-Split: punto in cui un singolo thread si divide in molteplici dando origine ad un Parallel Routing And-Join: punto di convergenza dei thread in uno singolo Or-Split: punto di ramificazione decisionale, viene scelto un solo ramo d’esecuzione tra diverse alternative Or-Join: rami di esecuzione alternativi convergono verso un punto Iteration: esecuzione ripetitiva condizionata di attività
13
22/09/2006 Antonio Pintus 13 Applicazioni distribuite: Web Services + Workflow Se Attività = Web Service, possiamo considerare i WfMS come sistemi di Web Service Orchestration: –Presenza dei principali costrutti dei linguaggi di programmazione tradizionali –Interfacce delle attività ben definite (WSDL) –Discovery (anche UDDI) e import dei servizi assistiti dal sistema –Ambiente di sviluppo ed esecuzione integrati mediante GUI –Semplificazione della costruzione di applicazioni distribuite –Collaborazione e SOA
14
Parte II Analisi di due Workflow Management System per l’e-Science
15
22/09/2006 Antonio Pintus 15 Workflow Management System: Taverna (1) Obiettivi: fornire un linguaggio e un toolkit software per facilitare l'utilizzo dei workflow e delle applicazioni distribuite all'interno della comunità eScience Collaborazione tra European Bioinformatics Institute, University of Newcastle, University of Manchester,… Licenza LGPL
16
22/09/2006 Antonio Pintus 16 Workflow Management System: Taverna (2) IDE per la definizione ed esecuzione di workflow basati su Web Service e componenti locali
17
22/09/2006 Antonio Pintus 17 Workflow Management System: Taverna (3) Diversi parametri configurabili: thread, processori alternativi in caso di fallimento, numeri di tentativi, timeout,… Multipiattaforma, scritto in Java Linguaggio di definizione dei workflow basato su XML: XSCUFL, XML Simple Conceptual Unified Flow Language Decisamente orientato alla bioinformatica
18
22/09/2006 Antonio Pintus 18 Workflow Management System: Triana (1) WfMS orientato all’e-Science (non solo esperimenti di bioinformatica ma anche per elaborazione dei segnali, delle immagini, …) Progetto dell’Università di Cardiff Distribuito con una licenza basata sulla Apache Software License
19
22/09/2006 Antonio Pintus 19 Workflow Management System: Triana (2) IDE per la definizione ed esecuzione di workflow basati su Web Service e componenti locali
20
22/09/2006 Antonio Pintus 20 Workflow Management System: Triana (3) Multipiattaforma, scritto in Java Possibilità di pubblicare automaticamente un intero workflow come Web Service su un registro UDDI Linguaggio di definizione dei workflow basato su XML e simile al WSFL (Web Service Flow Language)
21
22/09/2006 Antonio Pintus 21 Confronto Taverna vs. Triana (1) Entrambi mettono a disposizione un IDE per la composizione ed esecuzione di workflow basati, principalmente su: Web Service Componenti locali Funzionalità estendibili mediante: Implementazione di nuovi componenti, utilizzando le API in Java (Triana e Taverna) Utilizzo di scripting Java direttamente all’interno dei workflow (in Taverna mediante BeanShell)
22
22/09/2006 Antonio Pintus 22 Confronto Taverna vs. Triana (2) Sequential Routing Taverna Triana
23
22/09/2006 Antonio Pintus 23 Confronto Taverna vs. Triana (3) Parallel Routing Taverna Triana
24
22/09/2006 Antonio Pintus 24 Confronto Taverna vs. Triana (4) Conditional processing in Taverna: Uso degli script, BeanShell Triana: processore locale “IF” predefinito if(Double.valueOf(a)>=Double.valueOf(b)) { res= "true"; } else { res= "false"; } return res; Taverna
25
22/09/2006 Antonio Pintus 25 Iteration Implicit Iteration in Taverna : se ad un processore accettante un solo parametro in input viene passata una lista di valori, il processore viene automaticamente invocato per ogni valore Confronto Taverna vs. Triana (5)
26
22/09/2006 Antonio Pintus 26 Confronto Taverna vs. Triana (6) Implicit Iteration in Taverna: strategie di cross e dot product
27
22/09/2006 Antonio Pintus 27 In Triana, costrutto compreso nella palette di processori dell’IDE completamente configurabile. Confronto Taverna vs. Triana (7)
28
Un esempio di applicazione: Web Service e Workflow per la bioinformatica
29
22/09/2006 Antonio Pintus 29 Bioinformatica (1) Con il completamento della mappatura del genoma umano si aprono nuove strade: –per scoprire i meccanismi che regolano la vita –per individuare le cause delle malattie e le correlazioni con i geni La mole di dati proveniente dagli studi genetici è ingente, essa deve essere: –gestita –analizzata –catalogata –essere disponibile, interrogabile
30
22/09/2006 Antonio Pintus 30 Bioinformatica (2) Soluzione: –approccio informatico per la gestione e l’analisi dei dati → bioinformatica –Organizzazione dei dati biologici –Utilizzo e analisi dei dati attraverso metodi informatici –Estrapolazione di informazioni utili dai dati genetici: –Migliorare le diagnosi –Migliorare le terapie –Medicina personalizzata
31
22/09/2006 Antonio Pintus 31 Servizi per la Bioinformatica (1) Attualmente : –Disponibilità pubblica dei dati, algoritmi e strumenti attraverso Internet –Consolidamento di tecnologie come SOA, Web Service e Workflow Costituiscono : –Buona piattaforma di partenza per una collaborazione alla ricerca biomolecolare distribuita Quindi è possibile: –Realizzare esperimenti di bioinformatica mediante workflow che fanno uso di Web Service per: Interrogare delle basi di dati distribuite Applicare algoritmi di analisi e data-mining sui dati Condividere i risultati
32
22/09/2006 Antonio Pintus 32 Un possibile scenario applicativo (1) Utilizzando SOA, Web service, WfMS, possiamo ritenere fattibile un reale scenario per la conduzione di esperimenti scientifici in maniera distribuita e collaborativa.
33
22/09/2006 Antonio Pintus 33 Un possibile scenario applicativo (2)
34
22/09/2006 Antonio Pintus 34 Servizi e per la Bioinformatica : un esempio (1) Dato un dataset di dati genomici si vuole: –Costruire un Classificatore (data-mining) mediante un algoritmo noto, per esempio: Rete Bayesiana, Support Vector Machine, k- nearest neighbor, … –Addestrare il classificatore con un data set di training –Testare il classificatore con un data set di test noto e verificare la percentuale di errore ottenuta –Ripetere l’esperimento variando il numero di attributi genomici scelti
35
22/09/2006 Antonio Pintus 35 Servizi e per la Bioinformatica : un esempio (2) I passi da seguire, ad ogni iterazione, sono: 1.Selezionare n features (features selection) 2.Costruire il Classificatore (con scelta dell’algoritmo) 3.Training del Classificatore con dataset filtrato in modo che esso presenti solo le n feature selezionate 4.Test del Classificatore con dataset di test filtrato 5.Presentazione dei risultati
36
22/09/2006 Antonio Pintus 36 Servizi e per la Bioinformatica : un esempio (3) Mediante tecnologia Web Service sono state realizzate delle applicazioni che forniscono i servizi per: –Feature selection –Costruzione del classificatore –Filtering dei dataset –Test del Classificatore
37
22/09/2006 Antonio Pintus 37 Servizi e per la Bioinformatica : un esempio (4) Abbiamo così uno scenario distribuito Composizione workflow Analisi dei Risultati
38
22/09/2006 Antonio Pintus 38 Servizi e per la Bioinformatica: un esempio (5) Con Triana
39
22/09/2006 Antonio Pintus 39 Servizi per la Bioinformatica: un esempio (6) Con Taverna
40
22/09/2006 Antonio Pintus 40 Servizi per la Bioinformatica: risultati (1) --------------CLASSIFICATORE------ IB1 classifier --------------MATRICE------------- === Confusion Matrix === a b c d e f g <-- classified as 4 0 0 0 1 0 1 | a = BCR-ABL 0 9 0 0 0 0 0 | b = E2A-PBX1 1 0 16 0 4 0 1 | c = Hyperdip>50 0 0 0 6 0 0 0 | d = MLL 4 0 8 3 12 0 0 | e = OTHERS 0 0 0 0 0 15 0 | f = T-ALL 0 0 1 0 0 0 26 | g = TEL-AML1 --------------DETTAGLI------------ === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class 0.667 0.047 0.444 0.667 0.533 BCR-ABL 1 0 1 1 1 E2A-PBX1 0.727 0.1 0.64 0.727 0.681 Hyperdip>50 1 0.028 0.667 1 0.8 MLL 0.444 0.059 0.706 0.444 0.545 OTHERS 1 0 1 1 1 T-ALL 0.963 0.024 0.929 0.963 0.945 TEL-AML1 --------------SOMMARIO------------ Correctly Classified Instances 88 78.5714 % Incorrectly Classified Instances 24 21.4286 % Kappa statistic 0.7407 Mean absolute error 0.0612 Root mean squared error 0.2474 Relative absolute error 26.2115 % Root relative squared error 72.5071 % Total Number of Instances 112
41
22/09/2006 Antonio Pintus 41 Servizi per la Bioinformatica: risultati (2) Usando le tecniche di iterazione nei workflow per la ripetizione dell’esperimento, variando il n° di features, otteniamo:
42
22/09/2006 Antonio Pintus 42 Conclusioni (1) Mediante la SOA, le applicazioni distribuite incrementano il loro livello di astrazione e forniscono un modello più avanzato per l’integrazione di sistemi eterogenei Web Service come tecnologia abilitante Workflow: definiti a partire dagli anni ‘70, grazie alla SOA, trovano linfa nuova per la loro applicazione e reale utilizzo in svariati campi
43
22/09/2006 Antonio Pintus 43 Conclusioni (2) Mediante analisi di due WfMS, Triana e Taverna, orientati all’e-Science si evince che: Esistono maturi strumenti di workflow e di service orchestration in generale Il livello di astrazione apportato nella costruzione di applicazioni distribuite è decisamente superiore I dettagli di implementazione vengono nascosti e sono presenti i comuni costrutti dei tradizionali linguaggi di programmazione E’ possibile parlare di servizi anziché di moduli software e implementazioni particolari → utilizzo anche da parte di utenti poco esperti in programmazione
44
22/09/2006 Antonio Pintus 44 Conclusioni (3) Le applicazioni distribuite mediante Web Service e Sistemi di Workflow aprono le porte per: –Generici processi di business mediante integrazione e composizione di servizi –Esperimenti scientifici distribuiti e collaborativi mediante composizione di servizi, dati, algoritmi e condivisione di risorse computazionali –Un esempio di campo d’applicazione su tutti: la bioinformatica
45
Grazie per l’attenzione
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.