SISTEMA INFORMATIVO OSPEDALIERO

Download Report

Transcript SISTEMA INFORMATIVO OSPEDALIERO

STRUTTURA E
RAPPRESENTAZIONE
– Desideriamo un software che ci permetta
l’interscambio di documenti a prescindere
dalla piattaforma
– Il software deve permettere di scambiare
non solo la rappresentazione ma anche la
struttura del documento.
STRUTTURA E
RAPPRESENTAZIONE
– I prodotti WYSIWYG limitano la portabilità
– I linguaggi di markup indicano le
caratteristiche di un testo marcando
porzioni di testo
– I linguaggi di markup prescindono dal
software con cui sono generati
– HTML è un linguaggio di markup
STRUTTURA E
RAPPRESENTAZIONE
– HTML presenta numerosi limiti :
• aumento dei dead links perchè il link è solo un
valore di un attributo interno al file
• non è nato per inserire elementi multimediali e
necessita di tecnologie parallele proprietarie
(Scockwave, Acrobat, Javascript) che non
funzionano su tutti i browser
STRUTTURA E
RAPPRESENTAZIONE
– HTML presenta numerosi limiti :
• Non c’è distinzione fra tag struttura e tag
rappresentazione
• I motori di ricerca sono costretti a fare ricerche
su tutto il testo a parità di importanza
• I tag sono solo predefiniti e non è possibile
definirne di nuovi
XML - eXtensible Markup
Language
– Nasce così XML, metalinguaggio per
creare linguaggi personalizzati
– Porta nel WWW lo Standard Generalized
Markupo Language (SGML) nato nel 1986
– E’ un sottoinsieme più semplice di SGML
– Descrive la struttura dei dati e non la loro
rappresentazione
– Permette di creare tag personalizzati
XML - eXtensible Markup
Language
– Fornisce un modo per definire i tag e i
rapporti strutturali fra loro
– Il parser è application-independent
– Consente a gruppi di persone di creare il
proprio linguaggio di markup
– Lo stesso sorgente può essere visualizzato
in modi diversi e con device diversi (anche
audio)
XML - eXtensible Markup
Language
– I link in XML sono controllati dal linguaggio
XLL che controlla e gestisce gli eventi
associati
– I link in XML possono essere:
• bidirezionali
• multipli (uno a molti e molti a uno - es.
Web rings)
• links a sezioni strutturali di un
documento
• links a sequenze di documenti
• links definiti all’esterno del documento
XML - eXtensible Markup
Language
– Un tool per leggere un documento XML
consiste di due parti:
• un Parser che esegue il controllo
semantico e gestisce gli errori
• un Processor che utilizzando un file di
styling separato visualizza il documento.
XML - eXtensible Markup
Language
– Permette di creare un modello, chiamato
Document Type Definition (DTD), che
descrive la struttura di una classe di
documenti.
– Può essere utilizzato come piattaforma per
lo scambio di dati tra applicazioni e
database di fornitori differenti e sistemi
operativi diversi
XML - eXtensible Markup
Language
– Esistono diversi linguaggi di styling
– Il linguaggio di styling XSL definisce la
specifica per la presentazione
– con XSL è possibile creare fogli di stile di
qualunque formato (audio, video, braille,…)
XML - eXtensible Markup
Language
Foglio di
stile XSL
per browser
(HTML)
Documento
XML
Foglio di
stile XSL
per braille
Processore
XML/XLS
Foglio di
stile XSL
per sintesi vocale
OUTPUT
XML - SINTASSI
– Un file XML comincia sempre con la
dichiarazione di versione:
<?xml version = “1.0” ?>
– Un elemento è un blocco elementare del
documento XML
– Ogni elemento è identificato da un tag
– Un tag viene utilizzato per individuare un dato
identificandolo con un nome, es.
<NOMETAG> Laura </NOMETAG>
XML - SINTASSI
– Gli attributi sono pensabili come aggettivi
perchè descrivono gli elementi. Ogni
attributo ha un nome e un valore. Il valore
segue il nome:
<COUNTRY code = “it” > Italia</COUNTRY>
– Un attributo consente di aggiungere
all’elemento informazioni addizionali, ad
es. l’elemento LIBRO può avere attributo
RILEGATURA con valori “rigida” o
“brossura”.
XML - SINTASSI
– Un documento XML deve essere ben
formato, ossia:
• L’intero contenuto del documento deve
essere racchiuso entro un singolo
elemento
• I marcatori devono essere correttamente
bilanciati
• I valori degli attributi devono essere fra
virgolette
XSL
– E’ il linguaggio proprietario di XML per lo
styling.
– L’associazione fra documento XML e foglio
di stile avviene attraverso l’istruzione
<?xml:stylesheet href=“stile.xsl” title=“Compact”
type=“text/xsl”?>
– I componenti di XLS sono:
•
•
•
•
•
construction rules
style rules
named styles
macros
scripts
DTD
– Un particolare linguaggio XML è definito
dal suo DTD
– In genere il file DTD è esterno al file XML
– Una DTD è una Document Type Definition.
Definisce
• gli elementi
• gli attributi
• le relazioni che intercorrono fra elementi
– Il suo utilizzo non è obbligatorio
– Quando un documento XML viene
processato, viene confrontato con la DTD
associata.
ESEMPI
•DATABASE ETEROGENEI
Es.: il sistema informativo di un’azienda
ospedaliera
•Il record del paziente è una collezione di
documenti storici. Il centro di cura
interessato deve accedere alla
documentazione via browser, stamparla e
reintrodurla manualmente nel suo sistema
informativo.
•La soluzione giusta è fare un drag&drop
dall cartella su web al proprio database.
ESEMPI
PROCESSI DISTRIBUITI
•Nelle grandi industrie viene mantenuta
molta deocumentazione che va scambiata
all’interno dei consorzi (es. Intel, Philps,
Texas, etc.)
•A questo scopo vengono implementati
linguaggi di markup appositi come veicolo
per la distribuzione dati.
•Nel caso dei semiconduttori c’e anche la
possibilità di distribuire il carico
computazionale del disegno dei circuiti su
vari client.
ESEMPI
VISTE DIFFERENTI
•L’ utente può cambiare con facilità la
visualizzazione dei dati.
•Ad es. si può creare una TOC dinamica:
l’utente può cliccare una parte della TOC
ottenendo livelli di dettaglio più specifici.
•In questo caso la struttura TOC viene
scaricata su client senza dover passare
ogni volta su Internet.
•Si può anche da client scegliere la
visualizzazione adatta al tipo di macchina
(es. Solaris vs. Pentium) o in lingue
diverse.
ESEMPI
•Non e’ possibile usare HTML a questo
scopo perchè non supporta la
rappresentazione della struttura dei dati
•Non è possibile convertire tutti i sistemi
informativi in un tipo standard
•E’ però possibile adottare un formato
standard per lo scambio di informazione
•La definibilità dei tag XML rende
evidenziabile il contenuto dei campi (es.
<allergia>)
•E’ stato già creato uno Health Care Markup
Language
ESEMPI
MOTORI DI RICERCA
•I tag personalizzati e la strutturazione del testo
consentono la ricerca semantica
•Timothy J. Berners-Lee, inventore del WWW e
capo del WWW Consortium, sta sviluppando la
seconda generazione di Web, il WEB
SEMANTICO.
•Le connessioni devono essere intese sempre
come bidirezionali
•Il motore di ricerca deve comprendere le
relazioni fra le parole
•Ogni computer deve poter accedere alla
conoscenza che l’umanità ha accumulato sulla
rete
ESEMPI
MOTORI DI RICERCA
•XML è la base da cui si parte.
•VIVISIMO (Carnegie Mellon Un.)
•Organizza in modo automatico gli output di
altri motori di ricerca
•Utilizza clustering concettuale: il numero di
classi non è predefinito
•Il programma è scritto in C e l’output è un
file XML che rappresenta la gerarchia
trovata
ESEMPI
MOTORI DI RICERCA
•XML è la base da cui si parte.
•Esistono già strumenti che rendono XML
più evoluto:
–AXE (Autonomy XML Engine) è uno
strumento che inserisce tag e link
automaticamente
–SHAREPOINT (Microsoft) è inserito
gratuitamente nell’ultimo FrontPage e
permette l’interscambio di documenti
e la creazione di documenti
collaborativi.
ESEMPI
•RDF (Resource Description
Framework, Recommendation del
W3C dal 1999, permette
l’interscambio di metadati grazie a
una sintassi che struttura i testi.
•Fornisce interoperabilità fra risorse
che utilizzano dati su web
•RDF e XML sono complementari:
RDF definisce semantiche per dati in
formato XML.
SOFTWARE
•Molti sono i parser disponibili, molti dei
quali free
•Molti anche i processori SGML :
Panorama della SoftQuad e Jumbo,
applicazione Java scaricabile in
versione free
•Molti tool di sviluppo freeware, anche
da Microsoft
•Microsoft ha sviluppato parser e
processor free che si integrano con
Explorer.
Esempio di linguaggio
speciale: MATHML
•Scopo di MATHML è codificare
materiale matematico e facilitare la
conversione da un formato
matematico all’altro
•Gli elementi di MATHML si
suddividono in:
–elementi di presentazione
–elementi di contenuto
–elementi di interfaccia
Esempio di linguaggio
speciale: MATHML
•Scopo di MATHML è codificare
materiale matematico e facilitare la
conversione da un formato
matematico all’altro
•Gli elementi di MATHML si
suddividono in:
–elementi di presentazione
–elementi di contenuto
–elementi di interfaccia
Esempio di linguaggio
speciale: MATHML
•Gli elementi di presentazione descrivono
strutture di notazione matematica: sono 28
elementi e accettano 50 attributi, es. msub,
munder.
•Gli elementi di contenuto descrivono
oggetti matematici, es. Plus, vector. Ne
esistono 75 che accettano 12 attributi
•L’elemento apply applica una funzione ad
un insieme di elementi
Esempio di linguaggio
speciale: MATHML
(a+b)2 si scrive così:
<msup>
<mfenced>
<mrow>
<mi> a </mi>
<mo> + </mo>
<mi> a /mi>
</mrow>
</mfenced>
<mn> 2 </mn>
</msup>
ESEMPIO: URL meteo
•Il sito distribuisce informazioni sul
tempo. Ognuno desidera informazioni
locali.
•Il codice XML contiene l’indicazione
su dove trovare il relativo DTD, es.:
<weather-info>
<location>
<city>Boston</city>
</location>
<summary> sunny </summary>
</weather-info>
ESEMPIO: URL meteo
•Allora lo XSL stylesheet sarà:
<xsl:stylesheet xmlns:xsl= HYPERLINK
“http://www.w3.org/1999/XSL/Transform”
version =“1.0”>
….
<xsl:template match=“/”>
…
</xsl:template>
match:”weatherinfo[location/city=‘Boston’]”>
<xsl:apply-templates select = “summary”/>
</xsl:template>
</xsl:stylesheet>
ESEMPIO: URL meteo
•Si può anche personalizzare l’output
per utenti diversi, ad es. Lasciando la
scelta della nazione.
•Il codice XML sarà
…
<page>
<country code = “it”> Italy </country>
<country code = “fr”> France</country>
….
</page>
ESEMPIO: URL meteo
Lo stylesheet XSL sarà
….
<xsl:template match=“page”>
<html>
<body>
…
</xsl:when>
<xsl:when
test=“country[@code=$countrycode]”>
</xsl:apply-templates
select=“country[@code=$countrycode]”
mode=“selected”/>
</xsl:when>
UN ESEMPIO COMPLETO -1
<?xml version =“1.0” standalone=“yes”?>
<radice>
<libro>
<autore>Giovanni Boccaccio</autore>
<titolo>Decameron</titolo>
<descrizione>10 persone in fuga dalla
peste raccontano per 10 giorni una novella
ciascuno </descrizione>
<prezzo> 15 euro </prezzo>
</libro>
UN ESEMPIO COMPLETO - 2
<libro>
<autore>Francesco Petrarca</autore>
<titolo>Le Rime</titolo>
<descrizione>una raccolta di poesia da uno
dei maggiori autori della storia
</descrizione>
<prezzo> 20 euro </prezzo>
</libro>
……[altri libri]
</radice>
UN ESEMPIO COMPLETO - 3
….
File XSL:
<radice>
<rule>
<target-element type=“LIBRO”/> <children/>
</rule>
<rule>
<target-element type=“AUTORE”/>
<H3 color=“brown”> <children/>
</H3>
</rule>
…
<rule><target-element type=“PREZZO”/>
<H5 color=“red” font-style=“italic”> <children/>
</H5></rule>
</radice>