Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoJacopo Repetto Modificato 10 anni fa
1
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> La seconda release di Virtuose basata su database XML Studio del database Chinosi Michele – matricola 592329 Anno accademico 2003/2004 Relatore: Prof. ssa Fiorella De Cindio Correlatori: Marco Benini – Leonardo Sonnante
2
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 2 - Obiettivo: Elaborare unipotesi di miglioramento del database del motore per comunità virtuali VIRTUOSE, sostituendo allRDBMS esistente un database XML e modificando lintera architettura al fine di sfruttare pienamente le peculiarità che tale linguaggio offre.
3
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 3 - VIRTUOSE 1 2 3 PostgreSQL Variante della struttura a tre livelli: 1. presentazione 2. logica applicativa 3. dati VIRTual commUnity Open Source Engine Apache Struttura logica basata su conferenze e messaggi.
4
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 4 - PostgreSQL Problemi prestazionali: hanno impedito la completa esecuzione di test dellintera architettura. I messaggi sono salvati in forma tabellare separando le intestazioni dal body per costituire un indice. Possibilità di definire nuovi tipi di messaggi. Grande numero di tabelle Numero variabile di interrogazioni e di join ad ogni accesso
5
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 5 - La proposta multi-tier Larchitettura precedente viene sostituita da unarchitettura multi-tier
6
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 6 - La proposta in dettaglio
7
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 7 - I linguaggi utilizzati XML (ID, IDREF(S), Namespaces) XSchema (tipizzazione, validazione) Xpath, Xquery, Xpointer Xupdate Java (J2EE) W3C XML:DB SUN
8
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 8 - Il framework utilizzato prodotti sviluppati e distribuiti dallApache foundation. ottimo livello di integrazione prestazioni difficilmente raggiungibili altrimenti Xerces2-J:Validazione Xindice:Repository Tomcat:Middle-tier Jetspeed:Web-tier
9
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 9 - Schema concettuale del database
10
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 10 - Collezioni File paginati compressi B-alberi Scritto in Java Include validatore Xerces2-J Indicizzazione Supporta Xpath, Xquery, Xupdate, SAX2, DOM Level 3, XSchema Scelta del repository Come DBMS viene utilizzato il database XML nativo Xindice distribuito da Apache.
11
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 11 - Il documento XSchema Tipizzazione: tipi predefiniti, restrizione e pattern Elemento any : <xsd:any namespace=##any minOccurs=0 maxOccurs=unbounded processContent=strict/>
12
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 12 - Il database XML La conferenza tipimsg contiene allinterno dei suoi messaggi la dichiarazione dei tipi di messaggio sottoforma di documenti XSchema:... Ogni conferenza contiene lelemento hook, di tipo xsd:anyType, in modo da permettere la personalizzazione della struttura delle conferenze. Ogni messaggio non appartenente alla conferenza tipimsg contiene un attributo xsi:schemaLocation che punta al corrispondente documento XSchema dichiarato allinterno di tipimsg tramite unespressione XPointer: <utente xmlns=http://www.virtuose.it/ns/t2 xml:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=[URI] #xpointer(t2/content/t2:schema)>
13
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 13 - Parsing e Validazione E stato implementato in Java un parser SAX (event- based) basato sulle API di Apache Xerces2-J. Le query si basano su parsing DOM (tree-based)
14
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 14 - Middle-tier: Tomcat Apache Tomcat è un web-container. Implementa le funzioni di: HTTP Server Servlet e JSP Engine Web application container: Apache Jakarta Jetspeed: EIP Logica applicativa: classi e JSP Apache Xindice: DBMS XML
15
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 15 - Web-tier: Jetspeed Si basa sui portlets che possono: eseguire al loro interno frammenti di codice Java (Classi, JavaBeans, Servlet) presentare pagine JSP e XML visualizzare pagine PHP, ASP, … Apache Jakarta Jetspeed è un EIP open-source. E fornito come web-application (archivio Java con estensione.war).
16
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 16 - Prestazioni ottenute Test prestazionali su EIS Test prestazionali sullintera architettura I risultati ottenuti dallesecuzione delle classi Java hanno dato i seguenti risultati: 4 ms: query Xpath 36 - 50 ms: query Xupdate 140 ms: validazione db XML 400 ms: query Xpath su di una collezione di 6500 documenti quasi 5 s: validazione e importazione del file XML in Xindice. I risultati ottenuti dallesecuzione di pagine JSP associate a classi Java hanno dato risultati complessivamente inferiori ai 2 s.
17
Chinosi Michele – matr.: 592329La seconda release di Virtuose basata su database XML <? virtuose version= 2.0?> - 17 - Conclusioni Stabilità: Contesto in continua evoluzione Scelti solo versioni stabili Semplicità: Possibilità di implementazione Facilità di installazione Struttura e gestione del db Standardizzazione: XML, Xschema, Xpath, Xpointer, XQuery, SAX, DOM, Java, … Architettura multi-tier Velocità di esecuzione: Non ancora ottenuti i risultati ottimali, ma i software sono in continuo aggiornamento Universalità: Una soluzione standard risulta universalmente riconosciuta e applicata secondo la documentazione ufficiale Personalizzazione: XML Portlet Personalizzazione EIP
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.