Capitolo 5:
Modello avanzato
dell’ipertesto
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
MODEL
Computazione di pagine
Il contenuto di pagina viene ricomputato nei seguenti
casi:
• Accesso alla pagina da un link proveniente da
un’altra pagina (link inter-pagina)
– Tutte le unit sono ricomputate
• Navigazione di un link interno alla pagina
(link intra-pagina)
– Parte delle unit sono ricomputate in base ai nuovi
parametri, ma parte del contesto deve essere mantenuto
• Esecuzione di un’operazione che termina con un link
rientrante nella pagina di partenza
– Simile al caso di link intra-pagina, ma con possibilità di
modifica delle istanze dei dati mostrati
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
MODEL
Qualche definizione…
• Unit priva di contesto: unit che non ha link
entranti
• Unit esternamente dipendente: unit che richiede
input da almeno un link proveniente da un’altra
pagina o da una operation
• Unit internamente dipendente: unit che richiede
input solo da link intra-pagina
• La computabilità di una unit dipende dalla
categoria a cui essa appartiene
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
Computabilità di una unit
Condizioni necessarie affinché una unit sia
computabile:
• Tutti i parametri di ingresso di tipo mandatory
devono essere valorizzati
• Tutte le unit che possono fornire parametri di
ingresso di tipo optional devono essere già
state computate
• Caso particolare: Unit priva di contesto: unit
che non hanno link entranti  sempre
computabili
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
Algoritmo di computazione di pagina
• INPUT: inisieme iniziale di unit computabili
• OUTPUT: tutte le unit computate
• PROCEDURA:
WHILE (ci sono unit da computare) DO
IF esiste una unit U tale che:
(Tutti i mandatory input param di U sono valorizzati
AND
Tutte le unit che possono fornire optional param sono
computate)
THEN
- Assegna ad ogni parametro di U il valore più specifico
- Computa U
ELSE
HALT
END DO
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
Specificità di un parametro
Scopo: regola per risolvere i conflitti in caso di più
valori presenti per uno stesso parametro di
input
• MAX SPECIFICITA’: valore fornito direttamente
dalla scelta dell’utente in seguito all’ultimo
evento di navigazione
• MEDIA SPECIFICITA’: valore che dipende dalle
scelte passate dell’utente o da parametri globali
recuperati da get unit
• MINIMA SPECIFICITA’: valore di default scelto
indeterministicamente da una unit per garantire
la gestione di link automatici
Valori più specifici hanno la priorità.
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
Esempio di computazione
DeleteAlbum
Link1
Link4
Link2
OK
Album
KO
Link5
ArtistPage
ArtistIndex
ArtistData
AlbumIndex
A
Artist
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Link3
AlbumData
A
Artist
Album
[ArtistToAlbum]
Album
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
Esempio:
Link1 e
Link2
DeleteAlbum
Link1
Link2
OK
Album
KO
ArtistPage
ArtistIndex
ArtistData
AlbumIndex
A
Artist
Link3
AlbumData
A
Artist
Album
[ArtistToAlbum]
Album
• Link1 (non-contextual inter-page link): la computazione
parte dalla unit context free, e poi prosegue a cascata.
• Link2 (contextual inter-page link): la computazione
parte da ArtistIndex (context free) o da ArtistData, e poi
prosegue a cascata. L’input più specifico per ArtistData
è quello fornito da Link2.
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
DeleteAlbum
Esempio:
Link3, Link4,
Link5
Link4
OK
Album
KO
Link5
ArtistPage
ArtistIndex
ArtistData
AlbumIndex
A
Artist
Link3
AlbumData
A
Artist
Album
[ArtistToAlbum]
Album
• Link3 (contextual intra-page link): Solo AlbumData deve
essere ricomputato con il nuovo valore fornito da Link3. Il
vecchio input delle altre unit è preservato.
• Link4 (non-contextual link): Il vecchio input delle unit è
preservato, dove valido. Per AlbumData serve un nuovo
input perché il precedente non è più valido.
• Link5 (contextual link): Il vecchio input di tutte le unit è
preservato, dove valido. Per AlbumData l’input fornito da
Link5 prevale sul default fornito da Link3.
Progettazione di dati e applicazioni per il Web
S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera
Copyright © 2003 - The McGraw-Hill Companies, srl
Contenuto per concessione del Politecnico di Milano
Scarica

Modello avanzato dell`ipertesto