Valutazione delle Tecnologie XML, Web Service

Slides:



Advertisements
Presentazioni simili
Approximate Sequence Matching: Implementazione e Analisi Prestazionale
Advertisements

Presentazione della tesi di laurea di Flavio Casadei Della Chiesa Newsletter: un framework per una redazione web.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Accesso ai dati su Relational Database Management Systems LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento.
Architettura MySQL E Motori MySQL L. Vigliano.
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Database MySql.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Connessione con MySQL.
una interfaccia internet per il sistema Momis
Nana Mbinkeu Rodrigue Carlos 1 DB unimo OTTIMIZZAZIONE DI QUERY IN MOMIS Università degli studi di Modena e Reggio Emilia Relatore: Prof. Sonia.
Query OQL e XQUERY a confronto
Confronto di sistemi per
WebProfessional Web Content Management System
Università degli studi di Modena e Reggio Emilia
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA DI INGEGNERIA – SEDE DI MODENA Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Confronto.
1 Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento.
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.
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Relatore: Prof.ssa.
SQL92 e XQuery1.0 a confronto1 SQL92 E XQUERY1.0 A CONFRONTO Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso.
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
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – sede Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di un.
1 Integrazione di Sorgenti HTML in MOMIS: Analisi Comparativa degli Strumenti Esistenti Integrazione di Sorgenti HTML in MOMIS: Analisi Comparativa degli.
1 Facoltà di Ingegneria di Modena Corso di Laurea in Ingegneria Informatica Università degli Studi di Modena e Reggio Emilia Confronto dei DBMS RELAZIONALI.
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Semantic.
Il mio nome è Alain Fergnani e nel corso della tesi mi sono occupato della dinamica delle ontologie per il Web Semantico, e in particolare dell’approccio.
Università degli Studi di Modena e Reggio Emilia
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
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 Progetto e realizzazione.
Progetto e realizzazione del software "Solar Data Manager"
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Ontologie Lessicali Multilingua:
Analisi e Contromisure di tecniche di Sql Injection
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA
Università degli studi di Modena e Reggio Emilia Progetto e realizzazione di un tool di sincronizzazione database server – palmare per il controllo del.
UNIVERSITÀ DEGLI STUDI DI BOLOGNA
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Un prototipo di strumento per la manipolazione di versioni di schema in ambito eterogeneo Fabio Grandi DEIS - Università di Bologna SVMgr Schema Versioning.
SIMULAZIONE RETE INTERNET INTERNET SERVICE PROVIDER GRUPPO 2 COMMESSA – INFORMATICA GRANATA Corso Sicurezza su Reti II Prof. A. De Santis Anno Accademico.
Daniel Stoilov Tesi di Laurea
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Progetto e sviluppo.
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria Enzo Ferrari Modena Corso di Laurea in Ingegneria Informatica PROGETTO E SVILUPPO.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Basi di dati Claudia Raibulet
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Il componente Query Manager del sistema MOMIS: testing ed analisi delle performance UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA _____________________________________________________.
OBIETTIVI: Introduzione ai driver ODBC Creazione di alcune tabelle del database Creazione query Creazione report Lezione del 13/11/2009 Bray Francesco.
UNIVERSITA' DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Analisi, progettazione e realizzazione.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.
I DATABASE.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO DI INGEGNERIA “Enzo Ferrari” Corso di Laurea in Ingegneria Informatica Anno Accademico 2013/2014.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Transazioni in MySQL 4 Transazioni in MySQL 4
Joomlahost.it1 Presentato da Fustini Alessandro Myslq DBA e Developer certified Joomlahost.it.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Stage di informatica 2006 Gestione reti, sistemi, mass storage, servizi, sicurezza, database, web application su sistemi Windows o Linux Mirko Di Salvatore.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Transcript della presentazione:

Valutazione delle Tecnologie XML, Web Service UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA’ DI INGEGNERIA – SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Valutazione delle Tecnologie XML, Web Service per l'interoperabilità tra DBMS relazionali Relatore: Tesi di laurea di: Chiar.mo Prof. Yuri Debbi Sonia Bergamaschi Correlatori Parole Chiave RDBMS Benchmark Ing. Lorenzo Canali SQL Server 2000 MySQL Ing. Daniele Bergonzini XML Web Service Anno Accademico 2002/2003

OutLine della presentazione La presentazione si articola in tre parti principali: RDBMS Benchmark XML e Web Service Conclusioni Le tecnologie studiate in questo progetto sono state tutte integrate e sperimentate all’interno di applicazioni Webdatabase implementate tramite la tecnologia .NET

SQL Server 2000 MySQL 4.0.12 VS Licenza: Commerciale GPL(Open Source) o Commerciale Piattaforme: Windows XP/NT/2000 Linux, Solaris, DEC, BSDI, Windows 95/98/NT/2000/XP, MacOS, AIX, OS/2, Tru64, FreeBSD, NetBSD, OpenBSD. Interfacce: ODBC, OLEDB, JDBC, C/C++/C#, PHP ODBC, JDBC, C/C++/C#, PHP Indici e Lock: B – Tree, Lock a Livello di Riga. B - Tree, Lock a Livello di Riga. Strumenti: Trigger, Stored Procedure, Schemi, Viste e Diagrammi Nessuno Sicurezza: ACID Compliant, READ-UNCOMMITTED READE-COMMITTED REPEATABLE-READ SERIALIZABLE Con InnoDB e BDB Installazione: Medie Difficoltà (270 MB) Facile (69 MB) Note: Elevata Sicurezza, numerosi tool per lo sviluppo, interfaccia intuitiva e sicura, Integrazione completa dell’ XML, possibilità di Creare funzioni SQL proprie. Elevata velocità, possibilità di scegliere le tabelle più adatte (ISAM, MyISAM, Merge, HEAP, InnoDB, BDB), ottima gestione degli utenti e delle risorse, uso di XML

Database Benchmark - Costi - SQL Server 2000 è un RDBMS che viene attualmente distribuito dalla Microsoft che fornisce solo licenze commerciali: Licenza Server: 830,00 €. Licenze Client: 182,00 € ognuna. MySQL 4.0.12 è Open Source, scaricabile dalla rete e offe vari tipi di licenza: GPL, LGPL o Commerciale. Ricerche senza scopo di lucro: Gratuito. Uso senza modifiche della sorgente: Gratuito. Con modifiche alla sorgente : 440,00 € per la versione Transaction Safe. 220,00 € per la versione non Transactin Safe.

Database Benchmark - SQL - Al contrario di SQL Server 2000, MySQL 4.0.12 non supporta i seguenti costrutti SQL92: SELECT innestate. IN e NOT IN con parametro una SELECT. EXIST e NOT EXIST. Questa mancanza rende l’ interrogazione del database molto meno intuitiva, più prolissa e molto più difficile per un progettista che deve quindi avere ottime conoscenze di algebra relazionale per implementare, costrutti di interrogazioni ormai di uso comune sia a livello accademico che negli ambienti lavorativi.

Database Benchmark - SQL - Interrogazione SQL Server 2000 Selezionare tutte le istanze di Tab1 che contengono tutte le istanze di Tab3 dove il campo CC è uguale al campo CC della tabella Tab2 e il campo CD di Tab2 è uguale a ‘D1’. SELECT * FROM Tab1 WHERE NOT EXISTS ( SELECT * FROM Tab2 WHERE CD="D1" AND NOT EXISTS (SELECT * FROM Tab3 WHERE Tab3.Matr=Tab1.Matr AND Tab3.CC=Tab2.CC)) Questa interrogazione può essere riferita a tre tabelle: studenti, professori e loro corsi ed esami sostenuti. Selezionare tutti gli studenti che hanno sostenuto tutti gli esami relativi ai corsi del docente D1.

Database Benchmark - SQL - Relativa interrogazione MySQL 4.0.12 CREATE TABLE temptab ( )TYPE=HEAP SELECT Tab1.matr FROM Tab1,Tab2 LEFT JOIN Tab3 ON Tab3.matr=Tab1.matr AND Tab3.CC=Tab2.CC WHERE Tab2.CD='D1' AND Tab3.matr IS NULL AND Tab3.CC IS NULL; SELECT * FROM Tab1 LEFT JOIN temptab ON Tab1.MATR=temptab.matr WHERE temptab.matr IS NULL; DROP TABLE temptab; Creo una tabella temporanea e la riempio con i dati presi da una SELECT che implementa il costrutto EXIST. Eseguo una select facendo la differenza fra gli studenti che non hanno dato tutti gli esami di un professore e il totale egli studenti ottenendo il risultato voluto. Elimino la tabella temporanea.

Database Benchmark - Velocità - Una delle caratteristiche fondamentali per la scelta di un RDBMS è la velocità di risposta alle principali interrogazioni SQL; per questo sono state esaminate le risposte di: SQL Server 2000 MySQL 4.0.12 Per un miglior confronto sono stati messi in relazione con altri due RDMBS comunemente usati quali: Oracle 9.2.0.1 DB2 6.1. Sono state verificate le reazioni dei RDBMS con carichi di lavoro che variano da un minimo di 500 Record Coinvolti ad un massimo di 150000 Record.

Database Benchmark - Velocità - -- INSERIMENTO -- Nell’inserimento MySQL risulta essere fino al 57% più veloce di SQL Server 2000 che quando raggiunge i 100000 Record inseriti pianta l’applicazione il 40% delle volte. 500 25000 150000 (Sec) Fino alla soglia dei 25000 record modificati, MySQL risulta essere fino all’88% più veloce di SQL Server 2000; ma superata questa solia, MySQL rallenta bruscamente arrivando ad essere fino al 37% più lento di SQL Server. Il divario diminuisce con l’aumentare del volume di carico. -- MODIFICA -- 500 25000 150000 (Sec)

Database Benchmark - Velocità - -- SELEZIONE -- Fino ai 25000 record selezionati, le prestazioni dei due RDBMS sono simili; ma superata questa solia, MySQL rallenta drasticamente arrivando ad essere fino al 86% più lento di SQL Server. 500 25000 150000 Fino ai 25000 record selezionati, MySQL è un po più veloce, ma superata questa solia, MySQL rallenta arrivando ad essere il 90% più lento di SQL Server. Il divario fra i due RDBMS diminuisce con l’aumentare del carico fino ai 50000 record selezionati dove SQL Server rallenta per poi perdere ancora velocità raggiunti i 75000 record selezionati. Il distacco fra i due RDBMS diventa piccolissimo se si lavora con 150000 record. -- SELEZIONE – (da JOIN a 3 Vie) 150000 500 25000

XML e XSD Schema L’ XML fornisce uno strumento dinamico, semplice e strutturato per scambiare dati in modo formale e, creando documenti leggibili tanto dagli elaboratori che dagli utenti; è possibile vedere un documento XML come un albero a nodi che rappresenta tramite la nidificazione dei TAG la complessità dell’ informazione. L’ XSD Schema rende univocamente interpretabili i dati scambiati tramite un documento XML fornendo potenti strumenti di controllo: Definizione di tipi complessi e controllo sulla posizione e sul numero di volte che possono apparire nel documento. Annotazioni e commenti per rendere leggibile il documento. Introduzioni di elementi Nulli. Definizione di elementi Unici. Definizione di Chiavi e Relazioni.

XML come Database L’ XML è dunque un formato rigoroso e sufficientemente libero da permettere ad applicativi molto differenti tra loro di scambiarsi dati e informazioni senza nessuna difficoltà. Creando documenti del tipo: E’ possibile spingersi oltre e utilizzare l’ XML affiancato dall’ XSD Schema come strumenti per la gestione dei dati; si deve tenere conto però che un documento XML può essere considerato un database solo nel senso più ristretto del termine; cioè come collezione di dati. <?xml version="1.0" standalone="yes"?> <DATAPACKET> <ROWDATA> <ROW ID="1" datainserimento="12/06/2002 16.02.00" multiportal="1"/> <ROW ID="2" datainserimento="01/30/2003 10.35.00" multiportal="1"/> </ROWDATA> </DATAPACKET>

Indicizzazione del DataSet Utilizzo di un Database XML in .NET con l’uso del DOM (Document Object Model) Acquisizione Dati Indicizzazione del DataSet DOM Documento XML DataSet Scrittura Dati A questo punto è possibile scorrere e modificare i dati con l’uso di interrogazioni XPath del tipo : MioDoc.DocumentElement.SelectNodes("//T_Software[@ID<2]"); Seleziono gli elementi con ID<2 della tabella T_Software Vantaggi: Velocità e potenza nelle selezioni dello strumento XPath. Intuitività dello Strumento XPath. Possibilità di una gestione separata dei dati selezionati. Svantaggi: Codice complesso; Ridondanza dei Dati; Duplicazione dell’intero DataSet; Duplicazione dei Dati delle Selezioni in tabelle temporanee.

Utilizzo di un Database XML in. NET con l’uso dell’Oggetto DataSet di Utilizzo di un Database XML in .NET con l’uso dell’Oggetto DataSet di .NET Acquisizione Dati Modifica Dati Documento XML Funzioni ASP .NET DataSet Scrittura Dati Lavorando con il DataSet (rappresentazione nella cache dei dati) saranno quindi necessarie funzioni software che implementino dei cicli per leggere e modificare i dati dalla collezione di tabelle (DataTable) del Dataset. Vantaggi: Nessuna duplicazione dei Dati una volta importati in memoria. Ottima implementazione di controlli software sull’integrità dei dati. Codice Strutturato. Svantaggi: Codice prolisso. Numerosi cicli a livello di codice per sostituire le interrogazioni SQL.

XML come Database – Conclusioni - Svantaggi: Mancanza di un linguaggio espressivo come SQL. Scarsa protezione dei dati. Nessuna gestione della Multiutenza. Mancanza di Schemi, Viste, Trigger o Stored Procedure. Vantaggi: Bassi Costi Utilizzo estremamente semplice. Elevata organizzazione dei Dati. Ottima Standardizzazione. Elevata interoperabilità. Elevata Velocità per moli di dati medio piccole. Consigli per lo sviluppo: Sono percorribili entrambe le strade precedentemente illustrate, ma risulta preferibile, utilizzare la soluzione sviluppata appoggiandosi completamente e solamente sull’oggetto DataSet del Framework .NET. Questa implementazione rende più arduo il compito degli sviluppatori che dovranno utilizzare il codice sorgente per implementare molti controlli e molte funzioni che si occupino della gestione dei dati e del loro recupero all’interno del database rendendo così, il codice più prolisso e meno intuitivo (rispetto alla soluzione che utilizza XPath); questi sforzi però saranno premiati da un oculato utilizzo delle risorse e quindi da ottime prestazioni in termini di velocità.

Applicazione che usa il Web Service XML Web Service Linguaggio a TAG, in formato XML che descrive il Web Service come collezione di endpoint in grado di scambiarsi messaggi Catalogazione e recupero degli XML Web Service presenti sul Web Recupero informazioni sul Web Service Codice WSDL del Web Service Web UDDI Funziona sia come un motore di ricerca che come un applicaione interrogabile durante il Runtime. Un XML Web Service può essere creato in un qualsiasi linguaggio o scritto direttamente tramite WSDL. Se si usa il Framework .NET sono presenti appositi oggetti che rendono intuitivo lo sviluppo di questi servizi anche per chi non è esperto di WSDL o di XML Web Service in generale. Il Framework .NET fornisce anche gli strumenti per l’interrogazione dell’UDDI durante il Runtime. Tool del Framework .NET Classe Proxy C# Applicazione che usa il Web Service

Conclusioni Il progetto che intendevo realizzare può dirsi concluso: Approfondimento di un RDBMS Commerciale quale SQL Server 2000 Sono state soprattutto esaminate le nuove potenzialità nell’utilizzo dell’XML. Valutazione di un alternativa Open Source data da MySQL 4.0.12. E’ stata creata un interfaccia completa che permette ad applicazioni web complesse di adattarsi alla differente tecnologia per i loro Database. Esame approfondito delle differenze fra i due RDBMS. Sono state esaminate nel dettaglio tutte le differenze fra le due piattaforme: velocità, costi, capacità espressiva delle funzioni proprietarie, aderenza agli standard, metodi di connessione, sicurezza e affidabilità. Studio approfondito dell’ XML come metodo per trasferire dati e come “database” per piccole applicazioni. E’ stata esaminata nel dettaglio la capacità espressiva dell’XML che lo rende estremamente adatto nel trasferimento dati, garantendo l’interoperabilità fra applicazioni e RDBMS. E’ stata inoltre valutata e sperimentata la possibilità di usare documenti XML come “database” per piccole applicazioni Web. Creazione e utilizzo di XML Web Service.