Navigazione
Blog
Miei articoli su Blog RedTurtle
Curriculum Vitae

La tesi di laurea

Abstract

Il lavoro svolto si occupa di definire una guida completa alla trattazione dei documenti XML per la loro immissione in ambiente DB2 a partire da un database sequenziale (Lotus Domino). A tale scopo e' stata costruita l'applicazione XImport e un'applicazione che consente di presentare via Web le informazioni ottenute dall'integrazione del documento Domino in ambiente relazionale.

dalla sezione "Ricerca e Sviluppo" del sito di RedTurtle.

Parole chiave

XML, Lotus Domino, DB2, Database-relazionale, XImport

Introduzione alla tesi

Lotus Domino

Sviluppato da IBM, Lotus Domino è un prodotto orientato alla progettazione di database che permettono la creazione di applicazioni (Mi rendo contro che questa definizione può voler dire tutto e niente, ma come accenna anche Chapman nel suo libro "Alla ricerca della stupidità" gli stessi commerciali di Lotus Notes hanno trovato difficoltà nel definire il loro stesso prodotto in quanto fa davvero moltissime cose - n.d.a.).
Sebbene nasca con il programma client integrato Lotus Notes, forse più famoso come client di posta che per le altri potenzialità, negli ultimi anni Domino ha seguito la tendenza di spostamento sul Web di tutti quegli applicativi che una volta venivano distribuiti come programmi standalone.

Uno dei punti di forza di Lotus Domino è la facilità con cui è possibile creare pagine Web per l'inserimento di dati, e come queste automaticamente vengano memorizzate nel database al salvataggio del form.
In Domino non c'è nessuna distinzione tra i dati e il codice... il tutto è salvato nello stesso database.

Sebbe sia così facile salvare dati con Lotus Domino, questi non sono memorizzati in forma relazionale e quindi in alcune situazione si può incorrere in grossi crolli delle prestazioni, specialmente se vengono scritte applicazioni che "ragionano" in un'ottica relazionale dell'organizzazione dei dati.

Obiettivo primario della tesi

Lotus Domino offre però un semplicissimo meccanismo per l'esportazione dei dati nel formato di interscambio più comune al mondo: XML.
E' possibile quindi pensare di spostare le migliaia di documenti presenti nel file NFS verso un più efficiente database relazionale sfruttando XML?

La parte principale della tesi si occupa di questo. Sfruttando il sorgente XML ottenuto da Lotus Domino si è voluto importare la struttura e i dati dentro al database relazionale DB2. La versione enterprise del prodotto offre una serie di API riunite sotto lo strumento XML Extender, pensate espressamente per lo sviluppatore, che permettono di eseguire la decomposizione o anche shred di un file XML e di importarlo all'interno delle tabelle DB2 passando per un ulteriore sorgente XML di interscambio che detta le regole dell'inserimento. Questo file XML è il cuore della trasformazione ed è detto sorgente DAD (Document Access Definition).

Per permettere l'utilizzo di queste API in fodo facilitato a chiunque fosse in grado di scrivere file DAD corretti, è stata creata un'applicazione Java2 (XImport) che attraverso una comoda interfaccia grafica permette di eseguire tutte le azioni che per api di programmazione XML Extender permettono di effettuare.

Buona parte del lavoro è stata mirata alla realizzazione di un file DAD che descrivesse la sorgente dati domino e ne permettesse la conversione.

Obiettivo secondario della tesi

Una volta ottenuto il database DB2 era richiesto un meccanisco di presentazione e modifica dei dati dal Web. Utilizzando la tecnologia Java related JSP, legata al mondo delle Servlet Java, è stata realizzata una piccola procedura su piattaforma Apache Tomcat che permettesse il collegamento generico ad un database relazionale sfruttando gli strumenti che Java rende disponibili nel package java.sql.