INTRODUZIONE
indici esaustivi e puntuali in modo tale che la ricerca possa essere strutturata in modocompleto. L'indicizzazione deve poter orire la possibilitadilocalizzare facilmenteun documento, valutarne la somiglianza tra altri documenti e calcolarne la rilevanzadi un dato documento rispetto ad un preciso bisogno di informazioni. In questa tesiviene fornita una tecnica per estrarre un insieme di indici da documenti XML. Questiindici sono ottenuti da un tipo particolare di liste invertite utilizzate usualmente neisistemi di \Information Retrieval". Sta al costruttore di questo motore considerareo meno le informazioni che si possono ricavare da queste liste, a seconda della suavolonta di rendere il motore snello nell'elaborazione delle query (v. Glossario) oppurepuntuale per ogni informazione ricercata dall'utente.L'algoritmo di indicizzazione vero e proprio si basa su una fase preliminare di pre{elaborazione dei documenti XML durante la quale viene controllata la loro validitaeviene memorizzato in un le apposito i termini di scarso interesse quali possono esserele congiunzioni, le preposizioni e via dicendo. Questa fase sara seguita da un processodi analisi ai ni dell'estrazione degli \item" di interesse introducendoli all'interno diuna base di dati in modo da potervi operare azioni al suo interno. Concorrentementeall'indicizzazione viene proposta una statistica degli indici ricavati che fornisce alcreatore dell'indice un feedback visuale diretto, permettendogli di giudicare la bontadei risultati ed eventualmente eliminare i termini estratti non rilevanti introducendocos nuove informazioni ai ni di \ltrare" al meglio le informazioni utili per laricerca.La tecnica di indicizzazione proposta e stata implementata in Visual C++ pres-so un'azienda leader nello sviluppo di software bancario. L'utilizzo del data baseMicrosoft Access c
(v. Glossario) in questa fase permette di elevare il grado di auto-mazione del processo di indicizzazione agevolando la validazione elacorrezione deirisultati, inoltre da la possibilita di scorrere le tabelle create, introdurre operazionidi \join" e di formulare query al suo interno.Le sperimentazioni svolte durante la realizzazione della tesi e le osservazioni ri-portate nell'ultimo capitolo sono frutto della collaborazione e della partecipazionediretta alla fase sperimentale di alcuni specialisti della divisione di sviluppo softwaredella CAD IT. I risultati ottenuti sono stati giudicati buoni sia in termini di quantitadi informazioni indicizzate sia nella loro velocita di recupero, inoltre la possibilitadi utilizzare un supporto di data base semplice come Access c
porta un immediatoriscontro della validita della tecnica proposta. La tesi e organizzata come segue.
Il primo capitolo introduce lo scenario considerato ed illustra brevemente le2
problematiche legate al recupero delle informazioni di interesse su Web.Nel secondo capitolo vengono mostrate le nozioni fondamentali di XML e le suepotenzialita come formato di scambio di dati semistrutturati individuando alcunecategorie di applicazioni per le quali XML e ormai indispensabile.Il terzo capitolo presenta lo stato dell'arte attuale riguardo l'indicizzazione deidocumenti illustrando alcune tecniche da cui si e preso spunto per la realizzazionedi questo lavoro di tesi.Nel quarto capitolo si denisce il modello X-formalism tramite il quale si rap-presenteranno i Data Type Denition (DTD) associati alle sorgenti XML trattate inmodo da poter estrarre un primo livello di indicizzazione utile per un raggruppamentoad alto livello utilizzabile per esempio nei portali tematici.Nel quinto capitolo si descrive nel dettaglio la tecnica di indicizzazione propostaspiegandone i suoi pregi ed i suoi possibili miglioramenti attuabili dall'utilizzatore apropria discrezione.Il sesto capitolo approfondira l'implementazione della tecnica presentata nel ca-pitolo precedente mostrando come il software prodotto si presenta al suo utiizzatoree come i risultati verranno visualizzati nel database Access. Si analizzeranno inoltrealcune query per avere un riscontro eettivo delle prestazioni ottenute dal sistema.Il settimo capitolo riassume le sperimentazioni svolte durante la realizzazionedella tesi e alcune osservazioni frutto della discussione e del lavoro condotti grazie alladiretta partecipazione degli esperti informatici della divisione di sviluppo softwaredella CAD IT.La conclusione sintetizza i risultati principali del lavoro svolto e individua alcuneprospettive per il futuro.
3
Capitolo 1Il Web e le sue problematiche
In questo capitolo verranno presentati gli argomenti di interesse di questo lavorodi tesi, focalizzando l'attenzione in particolar modo sulle problematiche riguardantiil recupero delle informazioni sul Web e sulle attuali soluzioni applicate nella retemondiale. Verra introdotta inne l'architettura a cui ci si fara riferimento durantetutto il progetto e le linee guida seguite nello sviluppo di esso, supportate dallaprofessionalita dell'azienda in cui e stato svolto lo stage.1.1 MotivazioniCon lo sviluppo di Internet e del Web, il volume di dati disponibili elettronicamentee aumentato esponenzialmente negli ultimi anni e le informazioni che vengono resedisponibili tramite i suoi canali sono sempre piu importanti e critiche. In questoambito l'interoperazione di sorgenti di informazioni indipendentemente sviluppate edeterogenee sta diventando sempre piu rilevante. Nasce cos l'esigenza di integrare leinformazioni provenienti da diverse sorgenti cercando di fornire un accesso uniformeall'informazione distribuita tramite una varieta di interfacce quali Web browser,linguaggi di interrogazione, interfacce speciche per una data applicazione e cosvia.A tal scopo le informazioni presenti nelle diverse sorgenti di informazione devonoessere raggruppate attraverso strumenti di \data integration" (per ottenere astrazionia livello globale) e \translation" (per associare queste viste ad alto livello con lesorgenti originali) in modo da poter poi essere rappresentate e accedute in modouniforme in siti tematici come, ad esempio, i portali. Vari approcci sono stati propostiper fornire un accesso globale alle sorgenti di informazioni in ambiente distribuito.5
CAPITOLO 1. IL WEB E LE SUE PROBLEMATICHE
I requisiti principali che tali approcci dovrebbero soddisfare possono essere riassunticome segue: Accesso trasparente: gli utenti dovrebbero poter accedere all'informazionedi qualsiasi sorgente in modo consistente e uniforme. Non dovrebbe essererichiesta nessuna conoscenza specica delle singole sorgenti. Autonomia: dopo il processo di integrazione le sorgenti di informazioni do-vrebbero poter funzionare come prima della integrazione. Sicurezza: agli utenti dovrebbe essere negato l'accesso a tutte le informazionia cui non possono accedere dalle singole sorgenti. In altre parole, le politichedi sicurezza locali devono essere rispettate.Il soddisfacimento di questi requisiti e spesso complicato dal fatto che le sorgentidi informazioni possono presentare diversi tipi di eterogeneita. L'eterogeneita puoessere di varia natura, variando dalla eterogeneita nell'hardware e software, alla ete-rogeneita nelle politiche per il controllo dell'accesso e nel tipo di informazioni chesono memorizzate (ad esempio, testo, immagini, suono). Esempi delle prime due ca-tegorie si possono riscontrare sempre piuinambito aziendale, dovesisente l'esigenzad'avere applicazioni in grado di comunicare non solo con le altre componenti azien-dali, ma anche con sistemi spesso apparteneti a realta tecnologiche dierenti comepossono essere, ad esempio, i telefoni cellulari in grado di decodicare il protocolloWAP (Wireless Application Protocol) (v. Glossario), oppure gli organizer palmaricon linguaggi di markup propri. Inoltre l'eterogeneita puo anche aver luogo a piualto livello (ad esempio software), quando le sorgenti utilizzano dierenti modellidi dati, usano dierenti linguaggi di interrogazione, rappresentano gli stessi dati informati diversi ed assegnano un signicato diverso agli stessi dati (eterogeneita se-mantica). Ad esempio, una base di dati puo rappresentare una data usando unastringa, mentre un altra base di dati puo rappresentarla tramite una tripla di interi\giorno-mese-anno" e un altra ancora come una tripla della forma \mese-giorno-anno". In situazioni di questo tipo, quindi, e il sistema a livello globale che deveprendersi cura delle varie forme di eterogeneita e, al tempo stesso, mantenere l'auto-nomia e l'indipendenza dei sistemi locali. Tale varieta di situazioni rende impossibilerealizzare un approccio capace di considerare tutti questi aspetti.E da notare che in questo contesto distribuito oltre ai problemi di integrazionedell'informazione stessa, viene rivolta anche molta attenzione verso i problemi dellaricerca di informazioni; l'enorme crescita della quantita di informazioni immesse sulla6
1.2. Il recupero delle informazionirete mondiale hanno reso piu diÆcile la ricerca delle informazioni al suo interno. Gliutenti per ottenere le informazioni di loro interesse, devono conoscerne l'ubicazionenella rete oppure aÆdarsi a dei sistemi automatici di ricerca, i cosidetti motori diricerca.Da questo punto di vista lo sviluppo di un modello di accesso ai dati basato sullinguaggio XML (eXtendible Markup Language), che associa la semantica ai dati,e un passo obbligato, in quanto questo linguaggio sta sempre piu prendendo piedenella rappresentazione delle informazioni scambiate attraverso il Web.Nel seguito di questo capitolo ci si concentrera soprattutto sulle problematicherelative al recupero delle informazioni.1.2 Il recupero delle informazioniChiunque intenda accedere ad un documento in rete ha davantiase sostanzialmenteil problema di reperire il documento dato che i documenti on-line continuano adaumentare e diventa sempre piu diÆcile trovare le informazioni di reale interessenel Web. Il problema infatti e quello di poter disporre in tempo reale di tuttoquello si desidera sapere, ma di non avere lo strumento adatto per trovare, in tempiragionevoli, le informazioni di interesse.I motori di ricerca sono oggi uno strumento molto noto grazie ai quali e possibilerecuperare le informazioni di interesse tramite la specica di parole chiavi. La listadei motori di ricerca piu utilizzati comprende nomi divenuti ormai famosi come,ad esempio, Yahoo [14] o Altavista [1] (che hanno anche una versione dedicata inItalia). La maggior parte dei motori di ricerca classica quindi le pagine in baseal contenuto e restituisce elenchi di documenti ordinati per rilevanza. Le paginevengono classicate (spesso manualmente) all'interno di una struttura ad albero incui via via che si scende si circoscrive l'argomento. L'evoluzione naturale dei motoridi ricerca ha poi portato alla nascita dei portali generalisti, veri e propri contenitoridi informazioni, dovealnavigatore vengono messe a disposizione, in un unico luogo,tutte le notizie di interesse generale (oroscopi, sport, attualita, politica, ristoranti,cinema, spettacoli e quant'altro).La nascita dei portali ha indotto, in alcuni casi, al debutto come investitori suInternet dei principali gruppi industriali ed editoriali del nostro Paese. Non e uncaso quindi che il Gruppo Espresso abbia investito somme ingenti per la creazionedi Kataweb [6], seguito dalla Fininvest con Jumpy [5] o dal Gruppo Il, che fa capoalla famiglia Agnelli, con Ciaoweb [2]. 7
CAPITOLO 1. IL WEB E LE SUE PROBLEMATICHE
Il portale generalista ha il grande merito di aver creato ducia nel navigatore, diaver aperto nuove porte allo sviluppo del commercio elettronico e della pubblicitasu Internet e di aver convogliato in alcune parti speciche della rete le informazionipiurichieste dai navigatori.Il passo successivo, al quale stiamo assistendo proprio in questo periodo, portaalla nascita di quelli che negli USA vengono deniti \vortal", meglio conosciuti comeportali verticali. I vortal non sono altro che un ulteriore grado di specializzazionedel portale; sono siti specializzati che si concentrano su un argomento specico. Iportali verticali molto spesso ospitano, non soltanto le informazioni su uno specicotema, ma anche la lista degli avvenimenti, i link con i siti di interesse a livello locale einternazionale; sono quindi una sorta di club molto ben organizzato, dove, a secondadelle esigenze, si radunano esperti ed amanti di uno specico settore.Ecco quindi che i motori di ricerca e i portali disponibili sono numerosi, mamolto simili e troppo generici per poter essere utili per muoversi nel caos della rete.Il motivo principale di cio sta nel fatto che con questi strumenti la ricerca si basasolo sul principio delle parole chiavi. Inserendo una o piu parole chiavi in un motoredi ricerca, si ottiene una lista di tutti i documenti che le contengono, in ordinedi rilevanza. Questo meccanismo opera con criteri lessicali e non semantici e cioporta all'incongruenza dell'informazione ottenuta oppure nel ritrovamento di unamole di informazioni troppo ampia dalla quale non si riesce a estrarre l'informazioneeettivamente cercata.Prendiamo, ad esempio, un insieme di documenti che contengono informazionirelative ai numerosi libri che \Shakespeare" ha scritto o per i quali ha collaboratoalla stesura nel corso della sua vita. Ipotizziamo ora una richiesta da parte di unutente che einteressato a recuperare le informazioni relative a tutti i libri dell'autoreShakespeare. Una possibile formulazione di tale interrogazione potrebbe essere:``Shakespeare'' and ``book''Alla luce della query (v. Glossario) cos proposta e di quanto detto sulla me-todologia d'azione degli attuali motori di ricerca, si otterranno numerosi documentiche soddisferanno la richiesta senza per questo avere nessuna garanzia sull'eettivarilevanza dei documenti ottenuti riguardo alla suddetta interrogazione. Trovare undocumento solo sulla base delle parole che contiene, come si vede, non e sempre fa-cile. Il problema che sorge quindi non e tanto di non trovare l'informazione voluta,ma riuscire a \ltrare" la propria richiesta tra una quantita enorme di informazionirecuperate. Appare quindi evidente la necessita di un meccanismo che operi oltreche dal punto di vista lessicale anche da quello semantico riferendosi al contesto ri-8
1.2. Il recupero delle informazionicercato. Normalmente, per recuperare i documenti che contengono le parole chiavespecicate, i motori di ricerca utilizzano degli indici determinati durante un processodi indicizzazione. Intuitivamente, un indice e un elenco di termini che ricorrono piuspesso in un determinato documento e che quindi lo caratterizzano dal punto di vi-sta dell'argomento trattato. L'indicizzazione ore tre principali vantaggi al recuperodelle informazioni:1. la possibilita di localizzare facilmente un documento;2. la valutazione della somiglianza dei documenti;3. il calcolo della rilevanza di un dato documento rispetto ad un preciso bisognodi informazione.Tutti gli indici creati per scopi di recupero di documenti devono essere giudicati inbase a come realizzano bene questi tre obiettivi.In alcuni motori di ricerca l'indicizzazione e operata da esseri umani che vantanouna competenza specica, mentre altri indicizzano in modo automatico con irobot(spider o Web crawler [12]), che possono dare piurilevanza, per esempio, alle parolechiavecontenute nel titolo, nelle prime righe dell'intestazione o negli elenchi di parolechiave racchiuse dai marcatori META, piuttosto che a quelle inserite nel testo deldocumento. Quindi, l'algoritmo di indicizzazione dei robot in
uenza le prestazionidel motore di ricerca: se un robot indicizza un gran numero di pagine a testo pienocon aggiornamenti frequenti, allora la precisione e il tempo di risposta del motorerisultano buoni. E questo il caso dei motori di ricerca generici a indicizzazioneautomatica, dove nessuna persona si occupa di vericare cio che eettivamente econtenuto nelle pagine del sito prima ancora che nei meta tag. C'e dunque bisognodi motori di ricerca specici, di portali specici dove sono le persone a controllarei siti prima di indicizzarli in speciche categorie e soprattutto dove l'indicizzazionesia coerente col tema del portale ed eÆcente in riferimento alle esigenze dell'utente.Per ovviare a questo problema ci viene in contro il linguaggio XML [28] checonsente d'avere conoscenza del contesto in cui un dato e presente all'interno di undocumento. La crescente disponibilita di sorgenti XML su Web pone in evidenza ilproblema di denire, per tali sorgenti, un metodo di indicizzazione, delle metrichesu cui basarsi e un algoritmo in grado di seguire tutte le possibili evoluzioni del-l'XML nei prossimi anni a venire. Partendo dal concetto, ben appreso, che tramitel'XML si riesce ad aggiungere informazione semantica al testo, si puo ipotizzare chela sua prima applicazione sia proprio eettuata nel campo dell'\Information Retrie-val", riuscendo cos ad ottenere una catalogazione automatica e piu puntuale delle9
CAPITOLO 1. IL WEB E LE SUE PROBLEMATICHE
informazioni. Infatti, tramite l'introduzione di tag personalizzati (v. Glossario) sipuo dare valore aggiunto a dati, come possono essere il nome e il cognome di unapersona, e quindi ottenere altre informazioni a cui altres non si potrebbe risali-re. Ad esempio, <Autore> William Shakespeare </Autore> porta come valoreaggiunto all'informazione William Shakespeare il fatto che questa fa riferimentoad un Autore. Questa informazione aggiuntiva puo essere utilizzata da un motorespecicatamente realizzato in modo da poter mirare maggiormente la ricerca, co-sa che i motori attuali non riescono a compiere. Con questa tecnologia e possibilesempre utilizzare il principio delle parole chiavi, aumentandone pero il signicatointrinseco a seconda del contesto in cui esse risiedono. Questo permette di sempli-care la creazione di applicazioni che svolgono operazioni intelligenti con i documentielettronici; un motore di ricerca sarebbe in grado di eseguire ricerche esplicite nelWeb per trovare tutti i documenti in cui William Shakespeare e l'autore. In questomodo si puo superare uno dei limiti dell'HTML, in cui la creazione dei documentie principalmente orientata alla rappresentazione a video e sono quindi diÆcili dautilizzare per una elaborazione successiva.1.3 Utilizzo di XML per il recupero delle informazioniL'adozione di XML come standard per la pubblicazione e l'interscambio di strutturedati crea una grande opportunita per risolvere il problema del recupero delle infor-mazioni. XML ha la capacita di rappresentare la semantica dei dati in una formastrutturata, documentata e interpretabile da un computer. Diverse organizzazionistanno denendo degli schemi standard per catturare la semantica di molti domini enel contempo gli sviluppatori Web stanno iniziando a pubblicare le loro informazioniutilizzando questo nuovo linguaggio.Ci sono diversi modi con cui i sistemi di \information retrieval" possono utilizzarela struttura semantica dell'XML per aumentare la precisione per il recupero delleinformazioni; ecco qui di seguito solo alcuni dei casi piu semplici del suo utilizzo. I documenti possono essere raggruppati in categorie: lo schema di un docu-mento XML identica la sua struttura e il suo argomento, cosicche i risultatidi una interrogazione possono essere piu precisi limitando la ricerca solo a queidocumenti aventi uno o piu particolari schemi di interesse. Parole ambigue possono essere distinte dal contesto in cui esse appaiono: leparole possono avere molteplici signicati a seconda del contesto in cui si appli-10
1.4. L'approccio propostocano (i sistemi di recupero delle informazioni attuali non sono in grado di distin-guere queste diversita). La struttura dei documenti XML puo essere sfruttataper mantenere traccia di queste dierenze di signicato incrementando coslaprecisione della ricerca. Le interrogazioni possono usare diversi tipi di dati : che possono includere at-tributi numerici, locazioni geograche, valori temporali o altre nozioni quan-titative la cui semantica e diÆcile da catturare con una ricerca per chiave.Siccome XML separa questi valori dal contenuto, un sistema di InformationRetrieval li puo identicare e gestire in modo appropriato. Per classicare i risultati puo essere utilizzata la vicinanza strutturale invecedella vicinanza sica: i sistemi di information recall utilizzano come metodo diclassicazione una funzione di \vicinanza" per i termini utilizzati dall'utentenell'interrogazione. La struttura dell'XML ore misure piu sosticate. Ladistanza tra l'ultima parola di un elemento e la prima dell'elemento successivoe maggione della distanza tra parole adiacenti nello stesso elemento, anche sela loro vicinanza sica e simile. Il risultato puo essereunaparte di documenti : i documenti sono spesso moltolunghi e in molti casi solo una piccola parte di essi e eettivamente rilevanteper l'utente. XML permette al sistema di Information Retrieval di estrarreporzioni di documenti eliminando cos il bisogno dell'utente di controllare ognidocumento risultante per cercare il materiale rilevante. Per esempio, se con-sideriamo una ricerca perdeivideodriver, un documento potrebbe contenereuna lista di centinaia di driver, ma l'estrazione degli elementi <driver>, inaccordo con l'interrogazione dell'utente, potra essere denita in maniera piuprecisa in modo tale che il sistema risponda in modo piu diretto e veloce.L'abilita di ricerca e recupero di informazioni dal Web quindi non sta nella potenza dicalcolo di workstation e tecnologie di elaboratori paralleli, ma sta proprio nel riuscirea discernere quali informazioni sono utili all'utente o meno, e questo e possibile solosfruttando la semantica dell'informazione contenuta nei documenti sul Web.1.4 L'approccio propostoL'obiettivo del lavoro di tesi e lo sviluppo di un approccio per l'indicizzazione di sor-genti XML, con il ne di estrarre indici rappresentativi del contenuto delle sorgenti. Il11
CAPITOLO 1. IL WEB E LE SUE PROBLEMATICHEprocesso di indicizzazione e basato sia sul contenuto dei documenti XML, sia sui DTDad essi associati ed ha come obiettivo l'estrazione dei termini piu rappresentativi.Avremo quindi due approcci diversi di indicizzazione, il primo si riferiraaiDTDdai quali verranno estratte le informazioni generali in modo da poter individuaredei termini comuni e creare a sua volta un indice per un eventuale portale temati-co, mentre il secondo andraaprelevare tutti gli elementi dei documenti (o parte, aseconda di soglie predeterminate) creando una struttura unica per termini uguali insorgenti diversi, e riconoscendo per questi, il proprio contesto di riferimento.In Figura 1.1 viene mostrata l'architettura di un servizio di ricerca basato su docu-menti XML a cui ci si riferira all'interno della tesi.
Figura 1.1: Una possibile architettura di un motore di ricerca.La sorgente di informazione e composta da un insieme di documenti XML, ognu-no dei quali e compatibile con la denizione del proprio formato XML (il DTD), dacui vengono estratti dei termini indice che verranno utilizzati dal motore di ricerca(Query engine). I termini estratti possono essere inseriti in una base di dati (comeviene proposto in questo lavoro) per facilitarne il recupero e l'organizzazione, oppurepossono essere organizzati in ordine alfabetico o in altra maniera strutturata (adesempio si puo pensare di raggruppare i campi comuni per velocizzarne la ricerca)all'interno di piu le. Nel \Format File" verra specicato il formato del le XML,12
1.5. L'azienda CAD ITcon i vari parametri da considerare per l'indicizzazione come ad esempio i simboli deitag e le parole riservate e vi sara una sezione dedicata alle parole da non consideraredurante la ricerca (ad esempio le congiunzioni, preposizioni e tutti i termini che ilcreatore dell'indice decide a priori di scartare). Questo le potra essere modicatoe personalizzato ogni qual volta il risultato del processo di indicizzazione non siasoddisfacente dal punto di vista della profondita o del dettaglio ottenuto.A livello superiore vi sara quindi l'interfaccia utente del servizio di ricerca con ilmotore implementato per la ricerca all'interno delle liste invertite create sui docu-menti XML. Questo Query Engine dovra basarsi su uno \Standardization File" checonterra un modello formale per standardizzare la query introdotta dall'utente, ov-vero renderla generica, convertendo ad esempio le coniugazioni dei verbi all'innitoe i plurali in singolari, in modo da applicare l'algoritmo di ricerca proposto (vediCapitolo 6).Con questa architettura si otterra quindi lo scopo pressato, ovvero avere uninsieme di indici la cui estrazione puo essere \mirata" (tramite le speciche inseritenel Format File) al raggiungimento di un determinato obiettivo da parte del creatoredell'indice, come puo essere l'estrazione di indici relativi esclusivamente a un temaspecico.1.5 L'azienda CAD ITIl lavoro di tesi e stato realizzato presso un'azienda leader per lo sviluppo di softwarebancario, la CAD IT S.p.A che guida ora un Gruppo con un organico complessivodi quasi 500 dipendenti e che, dall'ottobre 2000, e quotato in Borsa al Nuovo Mercatodi Milano. Oggi CAD IT dispone di un patrimonio ragguardevole di conoscenze etecnologie, che si esprime in un vasto organico di tecnici ed esperti, al servizio dellanumerosa clientela che comprende aziende dei settori bancario ed industriale. Ledue maggiori aree di attivitache hanno reso operative la Divisione Finanza e Bancae la Divisione Industria, hanno sviluppato competenze e
essiblita che consentonocontinue e signicative sinergie. La Divisione Finanza e Banca opera sul mercato na-zionale ed estero con oltre duecento clienti, con procedure, sviluppate sia in ambienteMain Frame sia Client-Server, per Area Finanza, Gestione Enti, Esattoria, Servizi.La Divisione eanche impegnata nello studio, analisi e sviluppo di procedure che si av-valgono delle nuove tecnologie informatiche e dei piu innovativi canali della modernacomunicazione. In questo ambito la piattaforma per il Trading on Line e le soluzioni13
CAPITOLO 1. IL WEB E LE SUE PROBLEMATICHEper l'E-commerce bancario sono i prodotti di punta. Le potenzialita delle nuovetec-nologie dell'informazione sono state ormai ampiamente comprese dalle aziende e laconsapevolezza etaleche oggi, nelle attivita di scelta, avviamento e conduzione deisistemi informatici aziendali, si superano i tradizionali conni dell'impresa, arrivandoacoinvolgere la software house, attraverso la richiesta di competenze e nuovi servizi,in ambiti e scelte ad alta valenza strategica. Di qui la revisione dei ruolo di soft-ware house di CAD IT: l'enfasi non epiu posta solo sulle conoscenze specialistiche etecnologiche, ma anche sulle competenze come aggregatore di soluzioni e facilitatoredi processi no a concretizzare il ruolo di Service Company in grado di operare inmodo trasversale su molte delle unita di business del cliente. L'obiettivo di CADIT e di crescere nel ruolo piu congeniale: quello di integratore di conoscenze speci-che e costruttore di strumenti informatici che saranno impiegati in ambiti diversi ein aree di applicazione sempre piu ad ampio spettro. In questa attivita, eettuataavvalendosi di proprio personale e di collaboratori esterni, CAD IT benecia anchedella collaborazione della Facolta di Economia dell'Universita Cattolica di Milano(attraverso il CeTIF, Centro di Ricerca sulle Tecnologie lnformatiche e Finanziarie).La vicinanza al mondo universitario testimonia poi anche la costante attenzione cheil Gruppo pone nei confronti dell'aggiornamento dei collaboratori e nell'innovazio-ne dei propri prodotti software e dei processi organizzativi all'interno dei quali taliprodotti vanno inseriti. Per CAD IT l'attenzione alla crescita professionale delleproprie risorse umane, da sempre considerate il patrimonio piu prezioso, e fattorecentrale e critico, come deve essere sempre per un'azienda che punta sull'innovazioneall'interno di scenari in rapido e continuo cambiamento.
14
Capitolo 2Concetti introduttiviQuesto capitolo introduce la terminologia base che sara utilizzata in questo lavorodi tesi. Vengono illustrate le caratteristiche fondamentali del linguaggio XML su cuisara basato l'approccio proposto e i motivi per cui XML sta prendendo sempre piupiede come formato di scambio di dati semistrutturati.A titolo di esempio si presenteranno, inne, diverse categorie di applicazioni in cuil'utilizzo di questo linguaggio e fondamentale.2.1 IntroduzioneL'HTML (Hypertext Markup Language) [50] e considerato la base del World WideWeb. Questo linguaggio consente infatti di creare in maniera standardizzata pagi-ne di informazioni formattate in grado di raggiungere, tramite Internet, un numerodi utenti in costante aumento. Insieme al protocollo HTTP (Hypertext TransportProtocol), l'HTML ha rivoluzionato il modo in cui le persone inviano e ricevonoinformazioni. Il principale problema di HTML e che esso prende in considerazionesoprattutto il modo in cui le informazioni vengono presentate e non il tipo o la strut-tura di tali informazioni. Inoltre la necessita di espandere le capacita di HTML haspinto i produttori di browser a introdurre nuovi marcatori nella sintassi, rendendolaa tutti gli eetti proprietaria e non piu standard. Da cio segue che una pagina HTMLche sfrutta marcatori proprietari non puo essere visualizzata correttamente se noncon il browser adatto, con le ovvie conseguenze di non portabilitache ne derivano.Lo sviluppo del linguaggio XML (eXtensible Markup Language) [15, 19, 20,21, 28, 39, 47, 48, 56] promosso dal XML Working Group (originariamente notocome SGML Editorial Review Board) costituitosi sotto gli auspici del World Wide15
CAPITOLO 2. CONCETTI INTRODUTTIVIWeb Consortium (W3C) [13] (v. Glossario) nel 1996 rappresenta un'importanteopportunita per risolvere questi problemi. L'obiettivo di questo gruppo di lavoroera di portare il linguaggio SGML [29, 36, 40], un linguaggio per la specica dilinguaggi di markup e genitore di HTML, nel Web. In un contesto quale quello delWorld Wide Web, appare fondamentale il ruolo della tecnologia delle basi di dati.Questo ruolo e diventato ancor maggiore con lo sviluppo di XML, che avvicina lesorgenti semistrutturate tipiche del Web, ai concetti ed alle tecniche tipiche dellagestione strutturata delle informazioni nelle basi di dati.L'XML e spesso considerato una sostituzione dell'HTML. Sebbene questo possaessere in parte vero, in realta i due linguaggi sono complementari e, relativamen-te al modo in cui vengono trattati i dati, operano su livelli dierenti: XML vieneutilizzato per strutturare e descrivere i dati sul Web, mentre l'HTML e usato performattare idati.Data la semplicita della struttura dei documenti, HTML rappre-senta un veloce strumento per lo scambio delle informazioni sul Web. Le istanzeHTML non devono essere validate ma e suÆciente che siano \ben formate", ovverosintatticamente corrette. I limiti di HTML discendono proprio dai suoi pregi e sonodovuti soprattutto ad un uso distorto di questo strumento. Dal momento che none richiesta una strutturazione semanticamente corretta delle informazioni, HTMLdiventa molto povero per le applicazioni di elaborazione dei dati e il problema vienecompletamente demandato agli applicativi scritti, ad esempio, in JavaeJava Script.Come detto precedentemente, la sua struttura non e estensibile e questo lo rende pra-ticamente inutilizzabile per le industrie che si sono viste costrette a crearsi standarddierenti per ogni diversa applicazione. Un altro problema da non sottovalutare sipuovericare dalla parte del client (v. Glossario) qualora non abbia un dispositivovideo del tipo previsto dal server (per esempio dispositivi per il braille o monitornon graci).L'XML supera questi limiti e si dierenzia dall'HTML per tre maggiori aspetti:1. Possono essere deniti nuovi tag (v. Glossario) ed attributi.2. La struttura di un documento puo essere vista in modo gerarchico, nidicandoi tag ricorsivamente.3. Ogni documento XML puo contenere una descrizione opzionale della sua gram-matica (DTD), in modo che possa essere utilizzata da applicazioni che richie-dono una validazione della struttura del documento.16