Post on 01-May-2015
XML Introduzione
Laurea Magistrale Laurea Magistrale in Informaticain Informatica
Reti 2 (2005/06)Reti 2 (2005/06)
dott. Francesco De Angelisfrancesco.deangelis@unicam.it
XML - Introduzione ai concetti 2
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 3
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 4
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 5
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 6
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 7
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 8
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 9
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 10
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 11
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 12
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 13
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 14
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 15
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 16
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.
xmlparser
Dati (file XML)
Il concetto di metalinguaggio
XML - Introduzione ai concetti 17
metalinguaggio
documenti
Il concetto di metalinguaggio
XML
Math-ML XHTML DocBook
sintassi
metasintassi
linguaggi
XML - Introduzione ai concetti 18
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 19
La struttura gerarchica ordinatatesto
introduzione
?
frontespizio
?corpo
+
titolo autore
titolo
paragrafo
+
capitolo
+
titolo paragrafo
+?
appendice
?
titolo +
*
PCDATA enfasi citazione
paragrafo
*
PCDATA enfasi citazione
XML - Introduzione ai concetti 20
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 21
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 22
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 23
Criteri di progettazione di XML
Nel documento ufficiale di XML si elencano i seguenti obiettivi progettuali:
1. 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
2. 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 24
Criteri di progettazione di XML
3. 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 25
Criteri di progettazione di XML
4. 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
5. 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 26
Criteri di progettazione di XML
6. 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...
7. 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 27
Criteri di progettazione di XML
8. 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
9. I documenti XML devono essere facili da creare
XML - Introduzione ai concetti 28
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 29
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 root element 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 document tree
Sintassi di un documento XML
XML - Introduzione ai concetti 30
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
paragrafoparagrafo
testo
immagine
paragrafo
codice
testo
titolo
titolo
titolotitolo
file
Sintassi di un documento XML
XML - Introduzione ai concetti 31
<?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>
Sintassi di un documento XML
XML - Introduzione ai concetti 32
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 33
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 analoghealla seguente:
<paragrafo><testo>abcdefghi...</paragrafo></testo>
Sintassi di un documento XML
XML - Introduzione ai concetti 34
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>
Sintassi di un documento XML
XML - Introduzione ai concetti 35
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
& & < < > > " " ' ‘
Sfruttando le entità, l’esempio precedente diventa:
<testo> il simbolo < indica minore di</testo>
Sintassi di un documento XML
XML - Introduzione ai concetti 36
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.
Sintassi di un documento XML
XML - Introduzione ai concetti 37
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.
Sintassi di un documento XML
XML - Introduzione ai concetti 38
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 39
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 40
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 41
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 42
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 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 43
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?
XML - Introduzione ai concetti 44
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.
Quando scegliere XML?
XML - Introduzione ai concetti 45
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?
XML - Introduzione ai concetti 46
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
XML - Introduzione ai concetti 47
Opportunità d’uso
POP (Presentation oriented publishing) MOM (Message oriented middleware)
XML - Introduzione ai concetti 48
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 49
Message Oriented Middleware
MOM l’applicazione killer di XML sul Web MOM influenza radicalmente il concetto di middleware
XML - Introduzione ai concetti 50
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 51
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 52
XML ed EDI
Cosa è l’Electronic Data Interchange Il vecchio EDI Il nuovo EDI: XML e Internet
XML - Introduzione ai concetti 53
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 54
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 55
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 56
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 57
Il vecchio EDI
Può soltanto condividere elementi definiti in precedenza
I nuovi bisogni non possono essere facilmente soddisfatti
XML - Introduzione ai concetti 58
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 59
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 60
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 61
Internet oggi
Poco supporto dai tool Time-to-market
eccessivo Cost of Ownership
elevato Tecnologie ed API
proprietarie
XML - Introduzione ai concetti 62
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 63
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 64
Alcuni Riferimenti
Deitel et al, XML Corso di programmazione, Apogeo http://www.w3.org/ http://www.w3schools.com