Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.

Slides:



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

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Corso di Fondamenti di Informatica
Informatica e Telecomunicazioni
PHP.
Web Services.
Java Enterprise Edition (JEE)
una interfaccia internet per il sistema Momis
Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS
Confronto di sistemi per
WebProfessional Web Content Management System
Università degli studi di Modena e Reggio Emilia
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Relatore:
Motore di news per portali Web: progetto ed implementazione Relatore: Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di: Roberto Delfini Anno Accademico.
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Analisi.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Re-engineering del wrapper XML Schema per il sistema MOMIS
1 Integrazione di Sorgenti HTML in MOMIS: Analisi Comparativa degli Strumenti Esistenti Integrazione di Sorgenti HTML in MOMIS: Analisi Comparativa degli.
Serializzazione di oggetti in formato XML nellambito del sistema MOMIS Davide Lenzi Chiar.mo Prof. Sonia Bergamaschi Chiar.mo Prof. Michele.
Università degli Studi di Modena e Reggio Emilia
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica MOMIS: servizi di wrapping.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA
ANALISI COMPARATIVA DEGLI ERP: SAP E MICROSOFT DYNAMICS
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Distributed Object Computing
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Integrazione di una piattaforma IPTV in un’architettura SOA
Integrazione Software via Web-Services
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
PROGETTAZIONE E REALIZZAZIONE DI UN MIDDLEWARE CLIENT-SERVER
Standard per il B2B a confronto: una rassegna Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Informatica.
Guida IIS 6 A cura di Nicola Del Re.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
Criniti Brunino Misale Claudia OBIETTIVO APPLICAZIONE: Integrazione di risorse ampiamente utilizzate nel campo della ricerca biomedica:
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Basi di Dati e Sistemi Informativi
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.
Corso di Web Services A A Domenico Rosaci 1. Introduzione
UNIVERSITA' DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Analisi, progettazione e realizzazione.
UNIVERSITA' DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento di Tecnologie dell'Informazione EMessage: Sistema di.
1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.
Distributed System ( )7 TCP/IP four-layer model.
Architettura dei Servizi di Directory Università Cattolica del Sacro Cuore - Sede di Brescia - Facoltà di Scienze Matematiche Fisiche e Naturali Corso.
Università degli Studi di Bologna FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica I web services come soluzione per l’interoperabilità.
Java Enterprise Edition
Creato da Riccardo Nuzzone
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
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.
Insieme dei metodi e delle tecnologie che realizzano i sistemi di trasmissione, ricezione ed elaborazione di informazioni.
Provincia di Reggio Calabria Le piattaforme tecnologiche per l’erogazione di servizi on line ForumPA e-Government e l'innovazione.
Università degli Studi di Roma “Tor Vergata”
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 11 Marzo 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
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:
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Servizi Internet Claudia Raibulet
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Eprogram informatica V anno.
Architetture software
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Framework di sicurezza della piattaforma OCP (Identity & Access Management) Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric.
Transcript della presentazione:

Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti software fra sistemi operativi eterogenei attraverso il protocollo SOAP. Confronto e sperimentazione Relatore Chiar.mo Prof. Sonia Bergamaschi Correlatore Ing. Maurizio Vincini Tesi di Laurea di Sandro Bernardini

Obiettivi Studio del protocollo SOAP (Simple Object Access Protocol) e del linguaggio WSDL (Web Services Description Language) in riferimento alle specifiche del consorzio W3C (World Wide Web Consortium). Studio ed utilizzo dei principali toolkit che implementano il protocollo SOAP: –Apache SOAP 2.2. –Microsoft SOAP Toolkit. –Apache Axis. Integrazione del sistema MOMIS con il protocollo SOAP.

Protocollo SOAP Il protocollo SOAP (Simple Object Access Protocol) nasce nel dicembre 1999, da collaborazioni fra Microsoft, IBM, Sun, ecc. È diventato un protocollo standard ed attualmente è disponibile la specifica 1.2 rilasciata dal consorzio W3C nel Dicembre È un protocollo basato su XML e nasce con lo scopo di migliorare il trasporto dei dati fra sistemi distribuiti eterogenei decentralizzati. SOAP rappresenta il mezzo per mettere in contatto piattaforme diverse: tralasciando problematiche legate alle comunicazioni fisiche, ai sistemi operativi, ai linguaggi di programmazione ed ai protocolli di comunicazione.

Vantaggi e Svantaggi SOAP Vantaggi: Interoperabilità di applicazioni su piattaforme diverse. Sfrutta tecnologie Web già consolidate: – XML per esprimere le informazioni – HTTP per trasportare le informazioni Ma rimane indipendente dal protocollo di trasporto (ad esempio può funzionare via , HTTPS, FTP, ecc.). Non ha problemi con i Firewall: –Messaggi testuali semplifica lanalisi ed il monitoraggio del traffico in ingresso. –Utilizzo di porte TCP/IP standard non sono necessarie configurazioni del firewall rischiose. Svantaggi: Prestazioni (la serializzare in XML/deserializzare da XML del payload informativo, per moli elevate di dati, riduce la velocità delle applicazioni).

Altre caratteristiche di SOAP Non specifica nulla sulle applicazioni in uso. Non gestisce il routing dei messaggi. Non gestisce laffidabilità dei dati. Mantenere la max semplicità Per avere la max flessibilità ed espandibilità max Interoperabilità

Linguaggio WSDL Linguaggio basato sulla grammatica XML. Definisce in modo strutturato e standard le specifiche dinterfaccia di un servizio Web. Se un servizio remoto fornisce il documento WSDL che lo descrive, allora un client può reperire automaticamente tutte le informazioni sul servizio stesso. si facilita il compito dello sviluppatore. si rende standard la rappresentazione di un servizio. Attualmente è disponibile la specifica 1.1 rilasciata dal consorzio W3C nel Marzo Facilita lo sviluppo di nuove applicazioni.

Apache SOAP 2.2 Conforme alla specifica SOAP 1.1 del W3C. Sul lato client estende Java con alcuni package. Sul lato server è semplice codice Java + deployment descriptor per la pubblicazione. Limitazioni: –Non supporta il linguaggio WSDL. –Presenta delle limitazioni rispetto alla specifica 1.1 (Attributo encodingStyle e mustUnderstand hanno valore predefinito, non supporta lelemento root XML, non supporto lattributo actor).

Microsoft SOAP Toolkit 2.0 Aggiunge le funzionalità SOAP ai principali linguaggi di programmazione di casa Microsoft (come Visual Basic e VC++). Conforme alle specifiche SOAP 1.1 del W3C. Supporta la specifica WSDL 1.1 del W3C. Per pubblicare i servizi richiede la presenza del web server di casa Microsoft: IIS (Internet Information Server). Il toolkit permette di eseguire chiamate a servizi o pubblicare questi attraverso due livelli di API (Application Program Interface) : –high (sfruttano il supporto WSDL facilitando lo sviluppatore, che può ignorare alcuni meccanismi). –low (forniscono una maggiore flessibilità).

Servizio Add Client Apache SOAP Web Server: IIS Visual Basic + Microsoft SOAP Toolkit 6 int: 2 int: 4 Apache SOAP per tutti i valori di risposta richiede sempre la loro tipologia. Ad esempio: 6 è la risposta attesa, dove viene specificato esplicitamente che si tratta di un intero. Microsoft SOAP Toolkit non specifica la tipologia dei dati inviati. Ad esempio: 6 è la risposta inviata. Problema: Apache SOAP e Microsoft SOAP Toolkit di base sono incompatibili. (Apache SOAP rigetta i dati inviati dal server). È stato necessario introdurre un nuovo deserializzatore sul client Apache SOAP, in questo modo, il client accetta la risposta del server VB anche se non è specificato il tipo di dato inviato. Discorso analogo scambiando le architetture fra client ed il server.

Apache Axis Rappresenta levoluzione di Apache SOAP 2.2, da cui eredita le caratteristiche di base. Elimina i difetti del predecessore: È perfettamente compatibile con Microsoft SOAP Toolkit. Supporta le specifiche WSDL 1.1. Novità: –Supporto parziale delle specifiche SOAP 1.2. –Supporto per la pubblicazione automatica dei servizi (Java Web Service). –Generazione automatica (direttamente da un browser Internet) del documento WSDL per un servizio pubblicato. –Tool WSDL2Java e Java2WSDL.

Tool Java2WSDL Costruisce automaticamente il documento WSDL che descrive il servizio implementato da una classe Java. Client Visual Basic + Microsoft SOAP Toolkit Web Server:Tomcat Apache Axis int: 6 Servizio Add WSDL Add Java2WSDL int: 2 int: 4 I due toolkit sono perfettamente compatibili. È possibile utilizzare il supporto WSDL.

Tool WSDL2Java Costruisce automaticamente tutte le classi/interfacce Java a partire da un documento WSDL, cioè: –Sul lato client, tutti gli oggetti Java necessari per accedere al servizio. –Sul lato server, tutti gli oggetti Java necessari per implementare il servizio. Strumento che facilita il lavoro dello sviluppatore. WSDL2Java WSDL Exchange Client Apache Axis Web Server: Tomcat Apache Axis float:0.90 String: USA String: Italy

Il sistema MOMIS Il sistema MOMIS (Mediator EnvirOnment for Multiple Information Source) nasce dalla collaborazione fra lUniversità di Modena e Reggio Emilia e lUniversità di Milano e Brescia. MOMIS è stato progettato per fornire un accesso integrato ad informazioni eterogenee. Attualmente la gestione dei dati per il sistema MOMIS è affidata allarchitettura ad oggetti distribuiti CORBA. Allinterno di CORBA è possibile utilizzare il protocollo IIOP (basato su TCP/IP) per la trasmissione dati, il quale presenta tre notevoli svantaggi: Utilizzabile solo fra nodi con architettura CORBA Limite al concetto dinteroperabilità. È un protocollo binario Problemi nellattraversare i firewall. Richiede lutilizzo di porte TCP/IP non standard aumentare i rischi in termini di sicurezza.

MOMIS e SOAP Per superare le difficoltà del protocollo IIOP è nata lidea dintegrare il sistema MOMIS con il protocollo SOAP. Nella tesi si è sviluppato un primo servizio MOMIS utilizzabile in remoto attraverso il protocollo SOAP (il quale sfrutta, come protocollo di trasporto, HTTP sulla porta standard 80). Lato server sviluppato con Apache Axis è stato riutilizzato il modulo SIDesigner per accedere ai dati di MOMIS. Lato client sviluppato con: –Apache Axis. –Microsoft SOAP Toolkit (Visual Basic/ASP).

Servizio MOMIS/SOAP Corba Global Schema Client VB + MST IIS Server Apache Axis Tomcat Applicazione ASP Richiesta SOAP Risposta SOAP Richiesta Corba Risposta Corba Funzionamento del servizio: 1.Lutente richiede il servizio direttamente da un browser Internet. 2.La relativa applicazione ASP richiama il client VB + MST. 3.Il client invia la richiesta al server tramite un messaggio SOAP. 4.Il server Apache Axis accede tramite CORBA al Global Schema del sistema MOMIS per recuperare le informazioni necessarie. 5.Il server invia la risposta del servizio al client tramite un messaggio SOAP. 6.Il client recupera il valore della risposta e lo invia allapplicazione ASP. 7.Il valore della risposta viene visualizzato allinterno del browser Internet. Ambiente Microsoft/Windows Ambiente Unix/Solaris Internet Firewall WSDL ClassiLocali

MOMIS e SOAP Il servizio permette di evidenziare le potenzialità di SOAP: Possibilità di estendere il sistema MOMIS con SOAP, senza la necessità di riprogettare/riorganizzare il sistema già presente semplice processo dintegrazione. Possibilità di aprire lutilizzo dei servizi MOMIS a diversi linguaggi di programmazione attivi su differenti architetture rendere possibile linteroperabilità. Possibilità di utilizzare in remoto i servizi SOAP di MOMIS: - senza incontrare difficoltà nellattraversare i firewall. - sfruttando la porta TCP/IP standard.

Conclusioni Lo sviluppo della tesi si è concentrato sul concetto dinteroperabilità offerto da SOAP verificando questo nellutilizzo pratico: dagli esempi più semplici fino al caso reale del sistema MOMIS. Nel fare ciò sono state prese in considerazione, e fatte interagire, due diversi tipi dimplementazione SOAP: –Apache, che essendo basato su Java, si rivolge a diverse architetture. –Microsoft, che si rivolge ai linguaggi di programmazione (di conseguenza alle architetture) di casa Microsoft. Gli sviluppi futuri di questa tesi riguarderanno lintegrazione di tutti i servizi MOMIS con il protocollo SOAP.