UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Specialistica in Tecnologie Informatiche Applicazioni.

Slides:



Advertisements
Presentazioni simili
Perché.NET di Marco Maraglino don't worry...B-bright !
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Reti informatiche: Introduzione AICA © 2005.
S C O P E Il direttore dOrchestra eTecna. S C O P E è un gestore dei processi aziendali Non vuole sostituirsi ai gestionali già in uso nelle varie realtà
Architetture dei sistemi distribuiti Prof
Scomposizione funzionale
Classe III A A.s – 2010 Programma di Informatica
19/02/2002LITA, Milano1 Oncology over Internet (O2I) Paolo Romano, Istituto Nazionale per la Ricerca sul Cancro, Genova
Web Services.
P. Sanna 1 I web services TICO Corso di laurea in Informatica Università di Pisa a.a Pierluigi Sanna.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione.
Architettura Three Tier
Piattaforma integrata
Corso di Informatica (Programmazione)
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Introduzione1 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo: procedura suddivisa.
UNIVERSITA DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Trienmale in Informatica Relatore:Prof.ssa FIORELLA.
L'innovazione Tecnologica Per Il Federalismo Efficiente Roma 30 Giugno 2005 Sistema Pubblico di Cooperazione Applicativa.
Integrazione Software via Web-Services
Daniel Stoilov Tesi di Laurea
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
Architettura Java/J2EE
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
SISTEMA DI TIPI PER JOLIE
Cosa sono i sistemi distribuiti Prof. Andrea Omicini Corso di Sistemi Distribuiti A.A. 2001/2002 Parte I.
L’ingegneria del software
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Sistemi Informativi sul Web
Tesi di Laurea in Ingegneria Informatica
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Corso di Web Services A A Domenico Rosaci 1. Introduzione
RDN - Radio Data Network Protojet Office Una Soluzione Professionale.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Java Enterprise Edition
I processi.
SVILUPPO DI UN SERVIZIO DI STAMPA PER DISPOSITIVI MOBILI BASATO SULLE PIATTAFORME JINI E J2ME Candidato Relatore Marco Lazzara Prof. Ing. Vincenzo Grassi.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
UN PROTOTIPO IN PHP PER L’ACCESSO AI DATI IN AMBITO MEDICO Bari, 16/12/04 Università degli Studi di Bari Laurea triennale in Informatica Relatori: Chiar.ma.
Support for Emulation of Services and Applications in Mobile Environments with Bluetooth Gruppo: Davide Bonomo Salvatore Baglieri Referente: Ing. Dario.
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 11 Marzo 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Master MATITCiclo di vita del Sistema Informativo1 CICLO DI VITA DEL SISTEMA INFORMATIVO.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Layered Grid Architecture. Application Fabric “Controlling elements locally”: Access to, & control of, resources Connectivity “Talking to Grid elements”:
A.a. 2004/05Tecnologie Web1 Corso di Laurea Interfacoltà in Management dell’informazione e della comunicazione aziendale a.a. 2004/05 Tecnologie Web Anna.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progettazione e.
Architetture software
Unified Modeling Language. –un linguaggio (e notazione) universale, per rappresentare qualunque tipo di sistema software –uno standard OMG (Object Management.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
Introduzione a Weka Di Fabio Cassano
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
Framework di sicurezza della piattaforma OCP (Identity & Access Management) Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric.
Competenze Informatiche Avanzate
Transcript della presentazione:

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

Parte I Stato dell’arte delle Applicazioni Distribuite: Web Services e Sistemi di Workflow

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”

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

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

22/09/2006 Antonio Pintus 6 Applicazioni distribuite: Web Service (1) Principali attori nelle applicazioni basate su Web Service

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

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)

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

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”

22/09/2006 Antonio Pintus 11 Workflow Management System (2) La Workflow Management Coalition ha definito un meta-modello per i workflow

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à

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

Parte II Analisi di due Workflow Management System per l’e-Science

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

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

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

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

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

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)

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/09/2006 Antonio Pintus 22 Confronto Taverna vs. Triana (2) Sequential Routing Taverna Triana

22/09/2006 Antonio Pintus 23 Confronto Taverna vs. Triana (3) Parallel Routing Taverna Triana

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

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)

22/09/2006 Antonio Pintus 26 Confronto Taverna vs. Triana (6) Implicit Iteration in Taverna: strategie di cross e dot product

22/09/2006 Antonio Pintus 27 In Triana, costrutto compreso nella palette di processori dell’IDE completamente configurabile. Confronto Taverna vs. Triana (7)

Un esempio di applicazione: Web Service e Workflow per la bioinformatica

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

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

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

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.

22/09/2006 Antonio Pintus 33 Un possibile scenario applicativo (2)

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

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

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

22/09/2006 Antonio Pintus 37 Servizi e per la Bioinformatica : un esempio (4) Abbiamo così uno scenario distribuito Composizione workflow Analisi dei Risultati

22/09/2006 Antonio Pintus 38 Servizi e per la Bioinformatica: un esempio (5) Con Triana

22/09/2006 Antonio Pintus 39 Servizi per la Bioinformatica: un esempio (6) Con Taverna

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 | a = BCR-ABL | b = E2A-PBX | c = Hyperdip> | d = MLL | e = OTHERS | f = T-ALL | g = TEL-AML DETTAGLI === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class BCR-ABL E2A-PBX Hyperdip> MLL OTHERS T-ALL TEL-AML SOMMARIO Correctly Classified Instances % Incorrectly Classified Instances % Kappa statistic Mean absolute error Root mean squared error Relative absolute error % Root relative squared error % Total Number of Instances 112

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:

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

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

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

Grazie per l’attenzione