La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico 2006-07.

Presentazioni simili


Presentazione sul tema: "Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico 2006-07."— Transcript della presentazione:

1 Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico

2 Introduzione a XMLBarbara Re2 Agenda La storia Vantaggi e svantaggi Caratteristiche Elementi Namespace Quando scegliere XML EDI

3 Introduzione a XMLBarbara Re3 La genesi - IBM, Fine anni 60 Incarico a Charles F. Goldfarb di costruire un sistema per la memorizzazione, la ricerca, la gestione e la pubblicazione di documenti legali Goldfarb scoprì che molti sistemi, in IBM, non potevano comunicare tra loro I formati dei file nelle diverse applicazioni sono proprietari...e diversi tra loro!!!

4 Introduzione a XMLBarbara Re4 C. Goldfaarb, E. Mosher, R. Lorie Costituito un team per risolvere il problema 3 fatti importanti I diversi programmi avevano bisogno di supportare una rappresentazione comune dei documenti Il linguaggio comune doveva essere specifico per i documenti legali Il linguaggio doveva essere specificato in una maniera formale, capace di delimitare in modo appropriato gli elementi La risposta è stato GML (Generalized Markup Language), precursore di SGML (Standard GML), il linguaggio da cui deriva XML

5 Introduzione a XMLBarbara Re5 Perché non SGML? SGML ha molti pregi, ma ha dalla sua una complessità duso e di comprensione notevole Non è pensato per la rete XML contiene tutte le caratteristiche di SGML che servono per creare applicazioni generali... senza scendere nel livello di dettaglio e pedanteria richiesti da SGML Inoltre, il successo di HTML ha fatto capire che Il mondo degli sviluppatori è pronto ad accogliere il modello basato sul markup La semplicità è un punto di forza fondamentale

6 Introduzione a XMLBarbara Re6 XML: le origini XML è stato sviluppato dal World Wide Web XML deriva da SGML, pubblicato ufficialmente nel 1986 con la sigla ISO 8879 XML nasce come un sottoinsieme semplificato di SGML orientato alluso sul World Wide Web … … ma ha assunto ormai un ruolo autonomo e una diffusione maggiore del suo progenitore

7 Introduzione a XMLBarbara Re7 Il caso HTML XML non è un sostituto di HTML HTML nasce per la pubblicazione di semplici documenti testuali con qualche immagine e collegamento ipertestuale Vengono implementate nel tempo molte estensioni proprietarie che creano barriere allinteroperatività degli strumenti I browser (parser) rilassano le regole sintattiche ed interpretano anche documenti HTML scorretti HTML è per presentare informazioni, XML è per descrivere informazioni.

8 Introduzione a XMLBarbara Re8 Vantaggi XML permette agli sviluppatori di creare facilmente strutture ad-hoc per contenere informazione strutturata I parser XML sono diffusi su tutte le piattaforme e free Gli sviluppatori possono appoggiarsi a questi per decodificare e validare le strutture XML, limitandosi poi a gestire solo l'informazione contenuta usando API specifiche (DOM, SAX) XML è completamente text-based, quindi leggibile anche dagli esseri umani e facilmente editabile anche a mano Supporta UNICODE, quindi è adatto a ogni tipo di scrittura. Essendo dati testuali strutturati esattamente come HTML, i dati XML possono essere trasportati usando il protocollo HTTP anche attraverso firewall (SOAP)

9 Introduzione a XMLBarbara Re9 Svantaggi I documenti XML, a causa delle struttura testuale e dei tag, tendono ad essere molto più ingombranti di quelli in formato binario, quindi la loro trasmissione sulla rete non è ottimale I parser XML non sono veloci come quelli scritti ad-hoc per formati specifici, soprattutto se binari

10 Introduzione a XMLBarbara Re10 XML: caratteristiche XML è indipendente dal tipo di piattaforma hardware e software su cui viene utilizzato XML è uno standard di pubblico dominio XML è indipendente dai dispositivi di archiviazione e visualizzazione un documento XML può essere archiviato su qualsiasi tipo di supporto digitale (attuale e… futuro!) un documento XML può essere visualizzato su qualsiasi dispositivo di output

11 Introduzione a XMLBarbara Re11 XML: caratteristiche XML può essere usato come formato di scambio dati in applicazioni middleware XML permette la rappresentazione di qualsiasi tipo di documento (e di struttura testuale) indipendentemente dalle finalità applicative Sono disponibili numerose applicazioni e librerie open source per la manipolazione di dati in formato XML basate su diversi linguaggi di programmazione (Java,.NET, C, Python, Perl…)

12 Introduzione a XMLBarbara Re12 Il concetto di metalinguaggio XML è un metalinguaggio XML definisce un insieme regole (meta) sintattiche, attraverso le quali è possibile descrivere formalmente un linguaggio di markup, detto applicazione XML Gli autori di un documento possono creare i loro elementi di markup (tag)

13 Introduzione a XMLBarbara Re13 Dato che XML è un metalinguaggio per specificare altri linguaggi, costituisce un livello comune per il dialogo in ambienti differenti XML non dice nulla su che tag utilizzare, ma fissa solo delle regole comuni per eseguire correttamente il parsing del file E possibile usare XML per gli scopi più disparati, a seconda delle operazioni che verranno eseguite dalla specifica applicazione di fronte al markup utilizzato Regole XML Tag specifici Appl. xml parser Dati (file XML) Il concetto di metalinguaggio

14 Introduzione a XMLBarbara Re14 File di unapplicazione XML Il file con estensione XML contiene i dati del documenti Rappresenta la parte semantica dellapplicazione La DTD (Document Type Definition) o schema Definisce la struttura degli elementi, degli attributi e dei dati e le loro relazioni logiche allinterno del documento XML La presenza di un DTD non è obbligatoria ma determina la well formed

15 Introduzione a XMLBarbara Re15 Regole Un documento XML è definito come una sequenza di caratteri organizzati in costrutti chiamati entità Lentità che racchiude il documento si chiama radice 1.Il nome di un elemento XML deve iniziare con una lettere o un carattere di sottolineatura I caratteri successivi possono essere numeri trattini punti o altri caratteri di sottolineatura Non cè limite al numero di caratteri per elemento 2.E ammesso specificare i due punti solo per specificare i namespace 3.Gli spazi vuoti e i simboli non sono ammessi nei nomi degli elementi 4.Gli elementi non vuoti devono avere un tag iniziale ed uno finale 5.XML supporta gli elementi vuoti 6.I tag XML devono essere annidati correttamente Se un documento rispetta queste regole sintattiche si dice well- formed

16 Introduzione a XMLBarbara Re16 Il primo documento XML Un viaggio di mille miglia inizia con un passo.

17 Introduzione a XMLBarbara Re17 XML linguaggio case-sensitive XML è un linguaggio case sansitive Le dichiarazioni e il markup devono essere scritti con caratteri maiuscoli e minuscoli corrispondenti Il nome XML o anche xml è riservato quindi non si può creare un elemento/attributo che inizi con XML o xml

18 Introduzione a XMLBarbara Re18 Documento che descriva il Kraski Teran Kraski Teran Slovenia Sepulje Some oenologists believe that Kraski Teran goes back to Roman times. dark ruby-red wine - traditionally, it is called, "black as rabbit's blood " Kraski Teran and prsut (prosciutto or air-dried ham) are the legendary pair of Kras cuisine, but the wine is also perfect with other pork dishes, sausages, or boiled ham with horseradish Kraski Teran should be served at _C ( _F)

19 Introduzione a XMLBarbara Re19 Attributi e sottoelementi Gli attributi forniscono informazioni aggiuntive su di un elemento Gli attributi sono formati da un nome ed un valore Il valore dellattributo deve essere racchiuso tra virgolette (doppie o semplici) Trasformare il documento traslando gli attributi in elementi

20 Introduzione a XMLBarbara Re20 Risoluzione Non esiste un metodo chiaro per stabilire quando preferire gli attributi ai sottoelementi Slovenia Kraski Teran Monterey California Morgan Pinot Noir Monterey Paso Robles California Seven Peaks Shiraz

21 Introduzione a XMLBarbara Re21 Commenti I commenti aiutano a capire il processo del codice I commenti non possono essere annidati allinterno di altri tag e non possono essere inseriti prima della dichiarazione XML Evitare di esagerare … limportante è essere chiari e concisi a legale illegale

22 Introduzione a XMLBarbara Re22 Caratteri speciali & & < " " ' il simbolo < indica minore di

23 Introduzione a XMLBarbara Re23 Si consideri il caso in cui un blocco di testo illustri proprio del codice XML In questo caso, al posto di sostituire tutte le occorrenze dei simboli speciali con le corrispondenti entità è possibile utilizzare una sezione CDATA. CDATA in un documento XML

24 Introduzione a XMLBarbara Re24 Una sezione CDATA (Character DATA) è un blocco di testo che viene considerato sempre come testo, anche se contiene codice XML o altri caratteri speciali Per indicare una sezione CDATA è sufficiente racchiuderla tra le sequenze di caratteri. CDATA in un documento XML

25 Introduzione a XMLBarbara Re25 Il prologo La dichiarazione XML è obbligatoria e deve essere posta allimmediato inizio del documento Gli attributi sono version: (obbligatorio) la versione di XML usata encoding: (opzionale) nome della codifica dei caratteri usata nel documento default: UTF-8 o 16 standalone: (opzionale) se vale yes indica che il file non fa riferimento ad altri file esterni default: no

26 Introduzione a XMLBarbara Re26 Esercizio 1 Tech Cafe 2500 Lawrence Expressway Sunnyvale CA US Correggere gli errori

27 Introduzione a XMLBarbara Re27 Soluzione Esercizio 1

28 Introduzione a XMLBarbara Re28 Esercizio 2 Hood UK Destroyer 1934 Correggere gli errori

29 Introduzione a XMLBarbara Re29 Soluzione: Esercizio 2

30 Introduzione a XMLBarbara Re30 Namespace

31 Introduzione a XMLBarbara Re31 Mischiare i tag Sistema di elaborazione semplice: il documento viene elaborato da una sola applicazione (esempio il viewer) Sistema complesso: parti diverse del documento vengono elaborate da applicazioni diverse … Parser XML viewer Parser XML viewer Book agent

32 Introduzione a XMLBarbara Re32 Mischiare i tag Cosa accade se due applicazioni definiscono lo stesso elemento? nome cognome Mario Bianchi Luca Rossi Comodino ordine prodotto 1 Comodino viene riconosciuto dal viewer HTML o dal gestore dellarredo?

33 Introduzione a XMLBarbara Re33 I namespace Ogni nome di elemento (tag) XML è preceduto da un prefisso che lo rende univoco (tag qualificato) La struttura del tag è: prefisso:nometag ordine prodotto 1 Comodino

34 Introduzione a XMLBarbara Re34 I namespace Ma non basta Il prefisso potrebbe ripetersi Documenti diversi potrebbero identificare lo stesso namespace logico con identificativi differenti Imporre lunicità porterebbe a ns lunghissimi ed a codici illeggibili I prefissi usati vengono introdotti tramite lattributo predefinito xmlns Quello che conta è lURI univoco associato al prefisso

35 Introduzione a XMLBarbara Re35 Namespace di default Quando largomento di un XML è prevalentemente riferito ad un namespace è possibile definirlo come default e sottointendere la qualificazione

ordine prodotto 1 Comodino

36 Introduzione a XMLBarbara Re36 Scope dei prefissi I prefissi possono essere definiti allinterno di ogni tag di inizio o vuoto. Lassociazione tra prefisso e NS dura per tutto lelemento Se un prefisso viene ridefinito in un sottoelemento valgono le solite regole di visibilità (il blocco interno nasconde quello esterno) ordine prodotto 1 Comodino

37 Introduzione a XMLBarbara Re37 Attributi Anche gli attributi, essendo legati alla particolare applicazione, possono essere qualificati con un prefisso Il namespace contiene tre partizioni di nomi: Element Type Partition: contiene i nomi degli elementi del namespace Global Attribute Partition: nomi degli attributi qualificati Per-Element Partition: nomi non qualificati degli attributi locali ad un elemento Comodino

38 Introduzione a XMLBarbara Re38 Struttura gerarchica di un documento Gli elementi, nidificandosi, creano la struttura ad albero tipica dei documenti XML Allinterno di questa struttura si definiscono alcuni rapporti di parentela utili per individuare gli elementi a è il nodo radice b e c sono figli di a, il testo è figlio di b, d è figlio di c c è il padre di d, b è il padre del testo, a è il padre di b e c b e c sono fratelli b, c, d e il testo sono discendenti di a, d è un discendente di c, il testo è un discendente di b a è un predecessore di b, c, d e del testo, b è un predecessore del testo, c è un predecessore di d.

39 Introduzione a XMLBarbara Re39 Per fissare le idee prendiamo in considerazione la rappresentazione di un generico articolo a carattere tecnico e proviamo a rappresentarlo secondo il modello XML, come mostrato in figura articolo testo paragrafo testo immagine paragrafo codice testo titolo file Sintassi di un documento XML

40 Introduzione a XMLBarbara Re40 Blocco di testo del primo paragrafo Blocco di testo del secondo paragrafo Esempio di codice Altro blocco di testo Riferimento ad un articolo Documento XML

41 Introduzione a XMLBarbara Re41 Parser validanti e non validanti

42 Introduzione a XMLBarbara Re42 Quando scegliere XML? Quali sono le condizioni per adottare XML in un progetto? E nuovo ed è di moda...ma ciò è banale! Alcune buone e vere ragioni per luso di XML: Produzione di documenti automatici Gestione indipendente di produzione e uso di dati Elaborazione di dati con aspetti strutturali complessi

43 Introduzione a XMLBarbara Re43 Produzione di documenti automatici XML è la soluzione in assoluto più elegante (anche se ad oggi ancora faticosa) per integrare collezioni di dati strutturati sul Web Documenti dinamici, sono facilmente esprimibili in XML, e gli strumenti attuali si concentrano su questo Quando scegliere XML?

44 Introduzione a XMLBarbara Re44 Gestione indipendente di produzione ed uso di dati Spesso linterscambio di dati avviene allinterno di un workflow controllato e noto. In questo caso, data producers e data consumers sono creati ad hoc per lo specifico flusso informativo. XML è una complicazione inutile Tuttavia esistono delle situazioni in cui non cè progettazione integrata di producer e consumer. In questo caso, unadeguata progettazione del producer facilita molto il lavoro di tutti i possibili consumer XML è strutturato, auto-esplicativo, enfatizza la descrizione del dato più che del suo scopo nella elaborazione. E quindi ideale per le situazioni in cui lelaborazione non è nota in anticipo. Quando scegliere XML?

45 Introduzione a XMLBarbara Re45 Elaborazione di dati con aspetti strutturali complessi I database utilizzano le relazioni per ogni tipo di esigenza Complicato gestire, in una tabella, record con un numero variabile di campi, o situazioni alternative complesse XML prevede strutture con blocchi ripetuti, alternativi, facoltativi. La descrizione di queste strutture in XML è molto più naturale che con DB relazionali Quando scegliere XML?

46 Introduzione a XMLBarbara Re46 XML ed EDI Cosa è lElectronic Data Interchange Il vecchio EDI Il nuovo EDI: XML e Internet

47 Introduzione a XMLBarbara Re47 XML ed EDI EDI è lo scambio tra computer di informazioni strutturate, che aderiscono a standard di messaggi, con il minimo intervento umano Comprende: Un set di regole sintattiche per strutturare i dati Un protocollo per lo scambio interattivo Messaggi standard Le organizzazioni che inviano o ricevono documenti sono chiamate in terminologia EDI "trading partners"

48 Introduzione a XMLBarbara Re48 XML ed EDI Negli ultimi 40 anni le aziende hanno investito migliaia di miliardi (di $!) nellautomazione dei loro processi interni Gli investimenti hanno portato ad un notevole miglioramento dellefficienza Questa efficienza non è ancora stata estesa ai processi esterni Le aziende hanno creato isole di automazione, isolate dai loro partner - clienti, fornitori, etc. Le interazioni esterne sono inefficienti perché spesso basate su processi manuali

49 Introduzione a XMLBarbara Re49 Cosa è EDI… e cosa non è! EDI è stata proposta come la soluzione ai problemi di integrazione fra processi di aziende diverse EDI è interazione effettiva tra i sistemi EDI, dentro una grande corporation, è interazione tra i processi delle diverse divisioni Cosa non è EDI EDI non è import/export di dati fra sistemi EDI non sono i batch serali …

50 Introduzione a XMLBarbara Re50 Il vecchio EDI Formati diversi per ciascuna applicazione Il codice applicativo non ha una vista univoca Nuovi attori hanno impatti devastanti

51 Introduzione a XMLBarbara Re51 Il vecchio EDI Può soltanto condividere elementi definiti in precedenza I nuovi bisogni non possono essere facilmente soddisfatti

52 Introduzione a XMLBarbara Re52 Il vecchio EDI Ci sono notevoli differenze tra quanto promesso e le attuali implementazioni di EDI, fondamentalmente errate Difficili e costose da implementare Richiedono soluzioni specifiche per ogni coppia di partner E come se fosse necessario disporre di una linea telefonica dedicata per ogni persona con la quale si comunica Internet è la soluzione?...XML può esserlo

53 Introduzione a XMLBarbara Re53 XML può essere la soluzione XML è una notazione universale che consente ai sistemi di memorizzare e trasferire dati che possono essere compresi da qualunque altro sistema Mantiene il contenuto e la struttura Separa le business rule dai dati

54 Introduzione a XMLBarbara Re54 XML può essere la soluzione Formati diversi per ciascuna applicazione XML fornisce una singola vista logica Larchitettura flessibile supporta nuovi componenti

55 Introduzione a XMLBarbara Re55 Ci sono domande?


Scaricare ppt "Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico 2006-07."

Presentazioni simili


Annunci Google