Xml introduzione
This presentation is the property of its rightful owner.
Sponsored Links
1 / 64

XML Introduzione PowerPoint PPT Presentation


  • 97 Views
  • Uploaded on
  • Presentation posted in: General

XML Introduzione. Laurea Magistrale in Informatica Reti 2 (2005/06). dott. Francesco De Angelis [email protected] Agenda. Cosa è... Caratteristiche generali Origini storiche e motivazioni Vantaggi Concetto di metalinguaggio Concetto di tipo di documento

Download Presentation

XML Introduzione

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Xml introduzione

XML Introduzione

Laurea Magistrale

in Informatica

Reti 2 (2005/06)

dott. Francesco De Angelis

[email protected]


Agenda

Agenda

  • Cosa è...

  • Caratteristiche generali

  • Origini storiche e motivazioni

  • Vantaggi

  • Concetto di metalinguaggio

  • Concetto di tipo di documento

  • Criteri di progettazione del linguaggio

  • Sintassi di un documento

  • Principi della validazione

  • Utilizzo

  • POP e MOM

  • XML e EDI

XML - Introduzione ai concetti


Xml cosa

XML: cosa è

  • XML: eXtensible Markup Language

    • è un tecnologia che consente la rappresentazione di documenti e dati strutturati

    • è uno dei più potenti e versatili sistemi per la creazione, archiviazione e condivisione di dati in formato digitale…

    • … ma la sua sintassi rigorosa e flessibile ne rende possibile l’applicazione anche nella rappresentazione di dati strutturati, fornendo una soluzione alternativa ai tradizionali sistemi DBMS relazionali

XML - Introduzione ai concetti


Xml cosa1

XML: cosa è

  • XML è un metalinguaggio, che permette di definire sintatticamente linguaggi di markup

  • XML permette di esplicitare la (le) struttura(e) di un documento in modo formale mediante marcatori (markup) che vanno inclusi all’interno del testo (character data)

  • Il markup rappresenta la struttura logica del documento

  • Il markup si riconosce dal resto del testo perché compreso tra delimiter, informalmente:

    • <xxxx>

    • &yyyy;

XML - Introduzione ai concetti


Xml caratteristiche

XML: caratteristiche

  • XML adotta un formato di file di tipo testuale: sia il markup sia il testo sono stringhe di caratteri

  • XML si basa sul sistema di codifica dei caratteri ISO 10646/UNICODE

  • Questo porta a due vantaggi nei riguardi dell’internazionalizzazione:

    • È possibile scrivere documenti misti, senza ricorrere a trucchi strani per identificare la parte che usa un alfabeto dalla parte che ne adopera un altro

    • Un documento scritto in un linguaggio non latino non deve basarsi su parametri esterni per essere riconosciuto come tale, ma la codifica stessa dei caratteri lo identifica

  • Un documento XML è “leggibile” da un utente umano senza la mediazione di software specifico

XML - Introduzione ai concetti


Xml caratteristiche1

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

XML - Introduzione ai concetti


Xml caratteristiche2

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…)

XML - Introduzione ai concetti


La genesi ibm fine anni 60

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!!!

XML - Introduzione ai concetti


C g oldfaarb e m osher r l orie

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

XML - Introduzione ai concetti


Perch non sgml

Perché non SGML?

  • SGML ha molti pregi, ma ha dalla sua una complessità d’uso 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

XML - Introduzione ai concetti


Xml le origini

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 all’uso sul World Wide Web…

    … ma ha assunto ormai un ruolo autonomo e una diffusione maggiore del suo progenitore

XML - Introduzione ai concetti


Il caso html

Il caso HTML

XML non è un sostituto di HTML

  • HTML nasce come DTD di SGML per la pubblicazione di semplici documenti testuali con qualche immagine e collegamento ipertestuale

  • Vengono implementate nel tempo molte estensioni proprietarie che creano barriere all’interoperatività degli strumenti

  • I browser (parser) rilassano le regole sintattiche ed interpretano anche documenti HTML “scorretti”

  • HTML è per presentare informazioni, XML è per descrivere informazioni.

XML - Introduzione ai concetti


I vantaggi di xml

I vantaggi di XML

  • Documenti auto-descrittivi

    • La scelta dei nomi degli elementi può essere fatta per facilitare la comprensione del ruolo strutturale dell’elemento

    • Inoltre, l’uso di un DTD può esplicitare le regole di composizione ed i rapporti possibili tra le varie parti dei documenti

  • Facile convertibilità a formati Web

    • “trasformazioni” tra formati XML

  • Sintassi universale, minimale e rigorosa

    • XML definisce una sintassi di scrittura utile per qualunque applicazione, vocabolario, linguaggio umano, sistema operativo

XML - Introduzione ai concetti


I vantaggi di xml1

I vantaggi di XML

  • Ripetibilità degli elementi

    • XML permette di definire formalmente elementi ripetibili. Questo permette strutture più flessibili e complesse di altri formati di dati

  • Strutturazione gerarchica degli elementi

    • Esistono molti formati di dati generici per l'interscambio di dati, ma sono tutti organizzati linearmente. XML permette strutture ad albero.

  • Struttura navigabile dei documenti

    • La sintassi rigorosa, la gerarchia garantita, la genericità delle strutture permettono la definizione di modelli di programmazione sui nodi dell’albero

XML - Introduzione ai concetti


Il concetto di metalinguaggio

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

  • ogni applicazione XML eredita da XML un insieme di caratteristiche sintattiche comuni

  • ogni applicazione XML a sua volta definisce una sintassi formale particolare

XML - Introduzione ai concetti


Il concetto di metalinguaggio1

Dati (file XML)

Appl.

Tag specifici

xml

parser

Regole XML

Il concetto di metalinguaggio

  • 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

XML - Introduzione ai concetti


Il concetto di metalinguaggio2

Il concetto di metalinguaggio

XML

metasintassi

metalinguaggio

linguaggi

XHTML

DocBook

Math-ML

sintassi

documenti

XML - Introduzione ai concetti


Il concetto di tipo di documento

Il concetto di tipo di documento

  • La definizione di una applicazione XML si basa su un determinato tipo di documento

  • Un tipo di documento descrive le caratteristiche di una classe di documenti strutturalmente omogenei

  • Un tipo di documento è caratterizzato da

    • un insieme di elementi strutturali

    • le relazioni di dipendenza tra gli elementi

    • le relazioni di ricorrenza degli elementi

  • Il tipo di documento è il fondamento della sintassi e della semantica di una applicazione XML

XML - Introduzione ai concetti


La struttura gerarchica ordinata

testo

corpo

?

?

?

+

introduzione

frontespizio

appendice

capitolo

+

+

?

+

+

titolo

titolo

paragrafo

paragrafo

titolo

paragrafo

*

*

titolo

autore

PCDATA

enfasi

citazione

PCDATA

enfasi

citazione

La struttura gerarchica ordinata

XML - Introduzione ai concetti


Il concetto di tipo di documento1

Il concetto di tipo di documento

  • La struttura ad albero del tipo di documento determina la sintassi del linguaggio di markup

  • La sintassi di un tipo di documento deve essere espressa (mediante il markup) in ogni documento XML

  • La definizione formale della sintassi di un tipo di documento XML può essere espressa esplicitamente in una Document Type Definition(DTD) o un XML Schema

XML - Introduzione ai concetti


Dtd xml schema

DTD & XML Schema

  • Definiscono regole per la produzione di documenti strutturati

  • Una DTD: Document Type Definition contiene le definizioni dei tipi di elementi, degli attributi, delle entità, delle notazioni. Un DTD dichiara

    • quali elementi, tipi, entità notazioni sono legali

    • …ed in quale parte del documento lo sono

  • XML Schema: Successore delle DTD

    • Basato su XML, fornisce un’alternativa alle DTD, più potente

    • Supporta namespace and data types

XML - Introduzione ai concetti


Cosa c con xml

Cosa c’è con XML?

  • XML è in realtà una famiglia di linguaggi. Alcuni hanno l’ambizione di standard, altri sono solo proposte di privati o industrie interessate. Alcuni hanno scopi generali, altri sono applicazioni specifiche per ambiti ristretti.

    • XSLT: trasformazione di documenti XML

    • RDF: specifica di metainformazioni machine-processable

    • DOM, SAX: modelli e strutture dati per la programmazione

    • SOAP, WSDL, UDDI: strutture dati e loro dichiarazione per di dati di interscambio tra applicazioni

    • Migliaia di proposte di vocabolari con lo scopo di standardizzare linguaggi, processi e servizi in ambiti specializzati: RSS, Math-ML, CML, etc.

XML - Introduzione ai concetti


Criteri di progettazione di xml

Criteri di progettazione di XML

Nel documento ufficiale di XML si elencano i seguenti obiettivi progettuali:

  • XML deve essere utilizzabile in modo diretto su Internet

    • Non significa che deve essere possibile usarlo sul browser del giorno

    • Significa che si dovevano tenere in conto le esigenze di applicazioni distribuite su reti a larga scala

  • XML deve supportare un gran numero di applicazioni

    • Cioè XML non si limita al supporto di documenti in rete, ma a una larga classe di applicazioni che non c’entrano con la rete. Specificamente: deve essere possibile creare applicazioni come tool di authoring, filtri, “formattatori”, e traduttori

  • XML - Introduzione ai concetti


    Criteri di progettazione di xml1

    Criteri di progettazione di XML

    • XML deve essere compatibile con SGML

      • Tool SGML esistenti debbono essere in grado di leggere e scrivere documenti XML

      • Istanze XML debbono essere istanze SGML così come sono, senza traduzioni, per quanto semplici

      • Dato un documento XML, deve essere possibile generare un DTD SGML tale per cui un tool SGML esegue lo stesso parsing di un tool XML

      • XML deve avere essenzialmente lo stesso potere espressivo di SGML

        Questi goal sono stati sostanzialmente raggiunti

    XML - Introduzione ai concetti


    Criteri di progettazione di xml2

    Criteri di progettazione di XML

    • Deve essere facile lo sviluppo di programmi che elaborino documenti XML

      • Deve essere possibile creare applicazioni XML utili che non dipendano dal leggere ed interpretare il DTD

  • Il numero di caratteristiche opzionali deve essere mantenuto al minimo possibile, idealmente a zero.

    • SGML, per generalità, aveva adottato un numero molto alto di caratteristiche opzionali, di dubbia utilità, o molto specifiche

    • ogni processore SGML implementava solo parte delle caratteristiche opzionali. Documenti SGML conformi che potevano essere letti da un processore SGML non venivano letti da un altro

  • XML - Introduzione ai concetti


    Criteri di progettazione di xml3

    Criteri di progettazione di XML

    • I documenti XML dovrebbero essere leggibili da umani e ragionevolmente chiari

      • Formati testuali sono più aperti, più utili, più gradevoli rispetto a formati binari

      • Inoltre, si può sempre aprire il documento con un editor di testi...

  • La specifica del linguaggio XML deve avvenire rapidamente

    • La paura era che le esigenze di estensibilità del Web potessero essere soddisfatte da una qualche combinazione di complicati formati binari e di sistemi proprietari

  • XML - Introduzione ai concetti


    Criteri di progettazione di xml4

    Criteri di progettazione di XML

    • La progettazione XML deve essere formale e concisa

      • La specifica di SGML è composta di un documento di oltre 300 pagine. Il manuale SGML ne richiede più di 600, e comunque non è facilmente leggibile

      • La scelta di formalismi nitidi e pochi commenti ha permesso la creazione di una specifica XML notevolmente più corta (~40 pag.) e immediatamente utilizzabile

  • I documenti XML devono essere facili da creare

  • XML - Introduzione ai concetti


    Sintassi di un documento xml

    Sintassi di un documento XML

    • Concretamente, un documento XML è un file di testo che contiene una serie di tag, attributi e testo secondo regole sintattiche ben definite

    • Un documento XML è intrinsecamente caratterizzato da una struttura gerarchica

    • Esso è composto da componenti denominati elementi

    • Ciascun elemento rappresenta un componente logico del documento e può contenere altri elementi (sottoelementi) o del testo

    XML - Introduzione ai concetti


    Sintassi di un documento xml1

    Sintassi di un documento XML

    • Gli elementi possono avere associate altre informazioni che ne descrivono le proprietà. Queste informazioni sono chiamate attributi

    • L’organizzazione degli elementi segue un ordine gerarchico ad albero che prevede un elemento principale, chiamato rootelement o semplicemente root o radice

    • La radice contiene l’insieme degli altri elementi del documento. Possiamo rappresentare graficamente la struttura di un documento XML tramite un albero, generalmente noto come documenttree

    XML - Introduzione ai concetti


    Sintassi di un documento xml2

    Sintassi di un documento XML

    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.

    titolo

    articolo

    titolo

    titolo

    titolo

    paragrafo

    paragrafo

    paragrafo

    testo

    testo

    testo

    file

    immagine

    codice

    XML - Introduzione ai concetti


    Sintassi di un documento xml3

    Sintassi di un documento XML

    <?xml version="1.0" ?>

    <articolo titolo="Titolo dell’articolo">

    <paragrafo titolo="Titolo del primo paragrafo">

    <testo>

    Blocco di testo del primo paragrafo

    </testo>

    <immagine file="immagine1.jpg">

    </immagine>

    </paragrafo>

    <paragrafo titolo="Titolo del secondo paragrafo">

    <testo>

    Blocco di testo del secondo paragrafo

    </testo>

    <codice>

    Esempio di codice

    </codice>

    <testo>

    Altro blocco di testo

    </testo>

    </paragrafo>

    <paragrafo tipo="bibliografia">

    <testo>

    Riferimento ad un articolo

    </testo>

    </paragrafo>

    </articolo>

    XML - Introduzione ai concetti


    Sintassi di un documento xml4

    Sintassi di un documento XML

    • Prologo XML, necessario per ogni documento XML

    • Ogni documento XML deve contenere un unico elemento di massimo livello (root) che contenga tutti gli altri elementi del documento.

    • Ogni elemento deve avere un tag di chiusura o, se vuoti, possono prevedere la forma abbreviata (/>)

    • Gli elementi devono essere opportunamente nidificati, cioè i tag di chiusura devono seguire l’ordine inverso dei rispettivi tag di apertura

    • XML è case-sensitive

    • I valori degli attributi devono sempre essere racchiusi tra singoli o doppi apici

    <?xml version="1.0" ?>

    XML - Introduzione ai concetti


    Sintassi di un documento xml5

    Sintassi di un documento XML

    La violazione di una qualsiasi di queste regole fa in modo che il documento risultante non venga considerato ben formato. Anche se queste regole possono sembrare semplici, occorre prestarvi molta attenzione se si usa un semplice editor di testo.

    Codice del tipo

    <articolo titolo=test>

    ...

    </Articolo>

    darà qualche problema, e lo stesso dicasi per situazioni analoghe

    alla seguente:

    <paragrafo>

    <testo>abcdefghi...

    </paragrafo>

    </testo>

    XML - Introduzione ai concetti


    Sintassi di un documento xml6

    Sintassi di un documento XML

    Anche la scelta dei nomi dei tag deve seguire alcune regole. Un tag può iniziare con un lettera o un underscore (_) e può contenere lettere, numeri, il punto, l’underscore (_) o il trattino (-). Non sono ammessi spazi o altri caratteri. XML è sensibile all’uso di maiuscolo e minuscolo, quindi i tag <prova> e <Prova> sono considerati diversi.

    Potrebbe essere necessario inserire in un documento XML dei caratteri particolari che potrebbero renderlo non ben formato. Ad esempio, se dobbiamo inserire del testo che contiene il simbolo <, corriamo il rischio che possa venire interpretato come l’inizio di un nuovo tag, come nel seguente esempio:

    <testo>

    il simbolo < indica minore di

    </testo>

    XML - Introduzione ai concetti


    Sintassi di un documento xml7

    Sintassi di un documento XML

    Per evitare situazioni di questo tipo, XML prevede entità che consentono di sostituire altri caratteri.

    • Generali: incluse nel documento XML

      • Interne: esistono all’interno del documento

        <!ENTITY NomeEntita “Esempio entita interna”>

      • Esterne: esistono all’esterno del documento

        <!ENTITY NomeEntita SYSTEM “http://www.xml.com”>

  • Parametriche: incluse nelle DTD

    &amp; & &lt; < &gt; > &quot; " &apos; ‘

    Sfruttando le entità, l’esempio precedente diventa:

  • <testo>

    il simbolo &lt; indica minore di

    </testo>

    XML - Introduzione ai concetti


    Sintassi di un documento xml8

    Sintassi di un documento XML

    In determinate situazioni gli elementi da sostituire con le entità possono essere molti, il che rischia di rendere illeggibile il testo ad essere umano. Si consideri il caso in cui un blocco di testo illustri proprio del codice XML:

    <codice>

    <libro>

    <capitolo>

    </capitolo>

    </libro>

    </codice>

    In questo caso, al posto di sostituire tutte le occorrenze dei simboli speciali con le corrispondenti entità è possibile utilizzare una sezione CDATA.

    XML - Introduzione ai concetti


    Sintassi di un documento xml9

    Sintassi di un documento XML

    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[ e ]]>. Il nostro esempio diventerà come segue:

    <codice>

    <![CDATA[

    <libro>

    <capitolo>

    </capitolo>

    </libro>

    ]]>

    </codice>

    In certe situazioni non si conosce a priori il contenuto che può essere inserito in un blocco di testo e pertanto l’utilizzo delle sezioni CDATA risulta obbligatorio.

    XML - Introduzione ai concetti


    Documenti ben formati o validi

    Documenti ben formati o validi

    • Ogni linguaggio, applicazione XML, ha le sue regole

    • HTML ha le sue regole, ma non c’è modo di farle applicare agli autori

      • I browser visualizzano anche documenti HTML non conformi

      • Se i documenti non sono formalmente corretti, è rischioso elaborarli automaticamente

        <Conto>

        123456<Persona>Paolo<Importo>100000

        </Conto>

      • L’esempio (HTML) viene visualizzato correttamente, ma il markup lascia a desiderare. Non è possibile farci affidamento

    XML - Introduzione ai concetti


    Documenti ben formati o validi1

    Documenti ben formati o validi

    • XML distingue due tipi di documenti rilevanti per le applicazioni XML: i documenti ben formati (well formed) ed i documenti validi

    • Un documento con un markup comprensibile, è detto ben-formato

      • Un documento benformato è un documento intelligibile

    • Un documento XML si dice ben formato se:

      • Tutti i tag di apertura e chiusura corrispondono e sono ben annidati

      • Esiste un elemento radice che contiene tutti gli altri

      • I tag vuoti (senza contenuto) utilizzano un simbolo speciale di fine tag: <vuoto/>

      • Tutti gli attributi sono sempre racchiusi tra virgolette

      • Tutte le entità sono definite

    XML - Introduzione ai concetti


    Documenti ben formati o validi2

    Documenti ben formati o validi

    • Un documento è valido se dichiara la sua conformità con uno specifico DTD

    • Un documento è non valido se non è conforme al suo DTD

      • Può comunque essere ben formato

    • Un documento che non dichiara un DTD

      • non è invalido - non viola il DTD

      • non è valido - non è conforme al DTD

    XML - Introduzione ai concetti


    Parser validanti e non validanti

    Parser validanti e non validanti

    • Il cuore di un applicazione XML è il parser, ovvero quel modulo che legge il documento XML e ne crea una rappresentazione interna utile per successive elaborazioni (come la visualizzazione)

    • Un parser validante, in presenza di un DTD, è in grado di verificare la validità del documento, o di segnalare gli errori di markup presenti

    • Un parser non validante invece, anche in presenza di un DTD è solo in grado di verificare la buona forma sintattica del documento

    • Un parser non validante è molto più semplice e veloce da scrivere, ma è in grado di fare meno controlli. In alcune applicazioni, però, non è necessario validare i documenti, solo verificare la loro buona forma

    XML - Introduzione ai concetti


    Quando scegliere xml

    Quando scegliere XML?

    • Quali sono le condizioni per adottare XML in un progetto?

      • E’ nuovo ed è di moda ...ma ciò è banale!

    • Alcunebuonee vereragioni per l’uso di XML:

      • Produzione di documenti automatici

      • Gestione indipendente di produzione e uso di dati

      • Elaborazione di dati con aspetti strutturali complessi

    XML - Introduzione ai concetti


    Quando scegliere xml1

    Quando scegliere XML?

    • 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

    XML - Introduzione ai concetti


    Quando scegliere xml2

    Quando scegliere XML?

    • Gestione indipendente di produzione ed uso di dati

      • Spesso l’interscambio di dati avviene all’interno 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, un’adeguata 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 l’elaborazione non è nota in anticipo.

    XML - Introduzione ai concetti


    Quando scegliere xml3

    Quando scegliere XML?

    • 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

    XML - Introduzione ai concetti


    Esempio il publishing

    Revisione di bozze

    Formatting markup fatto da mano umana!

    Nel computer

    Rendition: un file che contiene sia i dati che la descrizione del loro formato

    LaTex, troff, rtf, Postscript, etc.

    Presentation: il risultato della conversione di una rendition in qualcosa di comprensibile all’essere umano

    Strumenti WYSIWYG = rendition + GUI

    Esempio: Il publishing

    XML - Introduzione ai concetti


    Opportunit d uso

    Opportunità d’uso

    • POP (Presentation oriented publishing)

    • MOM (Message oriented middleware)

    XML - Introduzione ai concetti


    P resentation o riented p ublishing

    Presentation Oriented Publishing

    • POP è stata l’applicazione killer di SGML

      • Ha portato enormi risparmi alle aziende che lavoravano sul Web negli anni ‘80

    • Invece di creare documenti formattati, gli utenti umani creano astrazioni non formattate

      • Il file rappresenta ciò che è nel documento, non come deve apparire

    • L’utente POP non si preoccupa dei dati ma della rendition

      • Per ottenere il risultato desiderato specificare dei foglio di stile, uno per la stampa, uno per il CD-Rom, uno per il Web, etc.

    XML - Introduzione ai concetti


    M essage o riented m iddleware

    Message Oriented Middleware

    • MOMl’applicazione killer di XML sul Web

    • MOM influenza radicalmente il concetto di middleware

    XML - Introduzione ai concetti


    Message oriented middleware

    Message Oriented Middleware

    • Il markup XML fornisce informazioni sui dati: metadati

    • I client possono leggere dati provenienti da qualunque fonte, a condizione che siano in formato XML

      • Non più routine specializzate da aggiornare ogni volta, ma un singolo XML parser che separa il markup dai dati

    • L’utente MOM non si preoccupa della rendition

    • E’ compito dell’utente POP

    • I documenti MOM tendono ad essere a vita breve, veri messaggi da consumare

    XML - Introduzione ai concetti


    Riepilogando

    Riepilogando

    • Un documento XML può essere utilizzato in modi diversi

      • Parsing: estrazione del contenuto a partire dai metadati

      • Rendering: visualizzazione del contenuto in funzione di uno stylesheet

    XML - Introduzione ai concetti


    Xml ed edi

    XML ed EDI

    • Cosa è l’Electronic Data Interchange

    • Il vecchio EDI

    • Il nuovo EDI: XML e Internet

    XML - Introduzione ai concetti


    Xml ed edi1

    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"

    XML - Introduzione ai concetti


    Xml ed edi2

    XML ed EDI

    • Negli ultimi 40 anni le aziende hanno investito migliaia di miliardi (di $!) nell’automazione dei loro processi interni

    • Gli investimenti hanno portato ad un notevole miglioramento dell’efficienza

    • 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

    XML - Introduzione ai concetti


    Cosa edi e cosa non

    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 …

    XML - Introduzione ai concetti


    Il vecchio edi

    Il vecchio EDI

    • Formati diversi per ciascuna applicazione

    • Il codice applicativo non ha una vista univoca

    • Nuovi attori hanno impatti devastanti

    XML - Introduzione ai concetti


    Il vecchio edi1

    Il vecchio EDI

    • Può soltanto condividere elementi definiti in precedenza

    • I nuovi bisogni non possono essere facilmente soddisfatti

    XML - Introduzione ai concetti


    Il vecchio edi2

    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

    XML - Introduzione ai concetti


    Xml pu essere la soluzione

    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

    XML - Introduzione ai concetti


    Xml pu essere la soluzione1

    XML può essere la soluzione

    • Formati diversi per ciascuna applicazione

    • XML fornisce una singola vista logica

    • L’architettura flessibile supporta nuovi componenti

    XML - Introduzione ai concetti


    Internet oggi

    Internet oggi

    • Poco supporto dai tool

    • Time-to-market eccessivo

    • Cost of Ownership elevato

    • Tecnologie ed API proprietarie

    XML - Introduzione ai concetti


    Internet oggi1

    Internet oggi

    • Reazione lenta ai cambiamenti

    • Costi di manutenzione elevati

    • Flessibilità limitata

    • I cambiamenti dei dati si propagano a tutti i livelli

    XML - Introduzione ai concetti


    Xml internet oggi

    XML + Internet oggi

    • Più standard

    • Più semplice

    • Più facilmente estensibile

    • Minori costi di manutenzione

    • Maggiore reattività

    • API e template language standard

    XML - Introduzione ai concetti


    Alcuni riferimenti

    Alcuni Riferimenti

    • Deitel et al, XML Corso di programmazione, Apogeo

    • http://www.w3.org/

    • http://www.w3schools.com

    XML - Introduzione ai concetti


  • Login