La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA DI INGEGNERIA – SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Valutazione.

Presentazioni simili


Presentazione sul tema: "UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA DI INGEGNERIA – SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Valutazione."— Transcript della presentazione:

1 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 CorrelatoriParole Chiave RDBMS Benchmark Ing. Lorenzo CanaliSQL Server 2000 MySQL Ing. Daniele BergonziniXML Web Service Anno Accademico 2002/2003

2 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 allinterno di applicazioni Webdatabase implementate tramite la tecnologia.NET

3 SQL Server 2000 MySQL VS Licenza:CommercialeGPL(Open Source) o Commerciale Piattaforme:Windows XP/NT/2000Linux, Solaris, DEC, BSDI, Windows 95/98/NT/2000/XP, MacOS, AIX, OS/2, Tru64, FreeBSD, NetBSD, OpenBSD. Interfacce:ODBC, OLEDB, JDBC, C/C++/C#, PHPODBC, 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 ACID Compliant, READ-UNCOMMITTED READE-COMMITTED REPEATABLE-READ SERIALIZABLE 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

4 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 è 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.

5 Database Benchmark - SQL - Al contrario di SQL Server 2000, MySQL 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.

6 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.

7 Database Benchmark - SQL - Relativa interrogazione MySQL 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.

8 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 Per un miglior confronto sono stati messi in relazione con altri due RDMBS comunemente usati quali: Oracle DB Sono state verificate le reazioni dei RDBMS con carichi di lavoro che variano da un minimo di 500 Record Coinvolti ad un massimo di Record.

9 Database Benchmark- Velocità - (Sec) Nellinserimento MySQL risulta essere fino al 57% più veloce di SQL Server 2000 che quando raggiunge i Record inseriti pianta lapplicazione il 40% delle volte. Fino alla soglia dei record modificati, MySQL risulta essere fino all88% 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 laumentare del volume di carico. -- INSERIMENTO MODIFICA

10 Database Benchmark- Velocità - Fino ai 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. Fino ai 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 laumentare del carico fino ai record selezionati dove SQL Server rallenta per poi perdere ancora velocità raggiunti i record selezionati. Il distacco fra i due RDBMS diventa piccolissimo se si lavora con record. -- SELEZIONE SELEZIONE – (da JOIN a 3 Vie)

11 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.

12 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.

13 Utilizzo di un Database XML in.NET con luso del DOM (Document Object Model) A questo punto è possibile scorrere e modificare i dati con luso di interrogazioni XPath del tipo : 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 dellintero DataSet; Duplicazione dei Dati delle Selezioni in tabelle temporanee. Seleziono gli elementi con ID<2 della tabella T_Software Documento XML DataSet DOM Acquisizione Dati Indicizzazione del DataSet Scrittura Dati

14 Utilizzo di un Database XML in.NET con luso dellOggetto DataSet di.NET 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 sullintegrità dei dati. Codice Strutturato. Svantaggi: Codice prolisso. Numerosi cicli a livello di codice per sostituire le interrogazioni SQL. Documento XML DataSet Acquisizione Dati Scrittura Dati Funzioni ASP.NET Modifica Dati

15 XML come Database – Conclusioni - Consigli per lo sviluppo: Sono percorribili entrambe le strade precedentemente illustrate, ma risulta preferibile, utilizzare la soluzione sviluppata appoggiandosi completamente e solamente sulloggetto 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 allinterno 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à. Vantaggi: Bassi Costi Utilizzo estremamente semplice. Elevata organizzazione dei Dati. Ottima Standardizzazione. Elevata interoperabilità. Elevata Velocità per moli di dati medio piccole. Svantaggi: Mancanza di un linguaggio espressivo come SQL. Scarsa protezione dei dati. Nessuna gestione della Multiutenza. Mancanza di Schemi, Viste, Trigger o Stored Procedure.

16 XML Web Service Web UDDI Codice WSDL del Web Service Tool del Framework.NET Classe Proxy C# Catalogazione e recupero degli XML Web Service presenti sul Web Recupero informazioni sul Web Service Applicazione che usa il Web Service Funziona sia come un motore di ricerca che come un applicaione interrogabile durante il Runtime. Linguaggio a TAG, in formato XML che descrive il Web Service come collezione di endpoint in grado di scambiarsi messaggi 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 linterrogazione dellUDDI durante il Runtime.

17 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à nellutilizzo dellXML. Valutazione di un alternativa Open Source data da MySQL 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 dellXML che lo rende estremamente adatto nel trasferimento dati, garantendo linteroperabilità 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.


Scaricare ppt "UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA DI INGEGNERIA – SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Valutazione."

Presentazioni simili


Annunci Google