BASI DI DATI e WEB a cura di Gianluca Di Tomassi

CAP 6 GENERAZIONE DELLE PAGINE WEB

Costruzione della base di dati attraverso Microsoft ACCESS

Figura 6.1 – Finestra delle tabelle nel database Ricerca in Ms ACCESS

Figura 6.2 – Finestra delle query del database Ricerca in Ms ACCESS

Implementazione dell’ADM con Penelope

Gestione della presentazione con TELEMACO

 

In questo paragrafo vengono descritti i passi base tramite i quali è stato possibile generare le pagine Web riguardanti parte del settore della ricerca presso il DIA dell’universitá degli studi di Roma Tre. In particolare il processo generativo delle pagine è articolato in due fasi :

  1. Costruzione della base di dati attraverso ACCESS
  2. Implementazione dell’ADM con Penelope

6.1 Costruzione della base di dati attraverso Microsoft ACCESS

In questa prima fase ci siamo preoccupati di generare la base di dati attraverso Microsoft ACCESS. Le tabelle che sono state realizzate appaiono nella schermata di seguito riportata nella figura 6.1 che mostra come appare la base di dati . Va notato che i dati con i quali sono state popolate le tabelle sono pseudo reali. Sono stati inseriti a volte in maniera massiccia per favorire la verifica che le specifiche fornite dallo schema ADM siano realmente soddisfatte.

Sono state anche definite alcune query (che è possibile vedere nella successiva schermata proposta in figura 6.2) che vengono poi importate dal codice penelope per estrarre alcuni dati di interesse per la costruzione delle pagine WEB.

 

Figura 6.1 – Finestra delle tabelle nel database Ricerca in Ms ACCESS

 

Figura 6.2 – Finestra delle query del database Ricerca in Ms ACCESS

[Torna ad inizio pagina]

 

6.2 Implementazione dell’ADM con Penelope

In questa seconda fase si effettua la traduzione dello schema ADM attraverso Penelope.

Penelope è un linguaggio per la generazione di ipertesti Web che permette di generare pagine HTML estraendo le informazioni che compaiono nelle pagine dalle tabelle di una base di dati relazionale.

Il file ricerca.pdl contiene il codice che, compilato da Penelope, costruirà i file HTML (il listato del file è riportato in fondo).

Penelope analizzando il file di estensione PDL, per ogni definizione di pagina del tipo

DEFINE PAGE <Nome_Pagina> genererà una directory chiamata <Nome_Pagina> e collocherà all’interno tutte le istanze di pagina di quel tipo che verranno create estraendo informazioni dalla base di dati.

I file generati con Penelope si trovano tutti nelle directory (create da Penelope) :

1. HOME_PROGETTI
2. PAGINA_PROGETTO
3. PAGINA_ESEMPIO
4. PAGINA_PERSONE_PROGETTO
5. PAGINA_PERSONE
6. PAGINA_GRUPPO_DI_RICERCA
7. PAGINA_RISULTATI
8. PAGINA_PUBBLICAZIONI
9. PAGINA_FINANZIAMENTI
10. PAGINA_MAT_SCAR
11. PAGINA_DOC_SW

Il file creato nella HOME_PROGETTI serve come Home-Page di partenza; infatti dovendo trattare la parte relativa ai progetti si è pensato di creare una pagina di partenza che avesse l’elenco di tutti i progetti di ricerca in corso di sviluppo, per questo motivo l’unico file creato è index.html.

I file creati nella PAGINA_PROGETTO rappresentano le pagine dei progetti in via di sviluppo, nel nostro caso i file creati saranno (rispetto alla base di dati popolata in precedenza) : 3dcube.html, Araneus.html, ASI.html, GDToolkit.html, PLaSM.html, Ptolomaeus.html.

I file creati nella pagina PAGINA_ESEMPIO sono le pagine relative agli esempi dimostrativi che un progetto può o non può avere.

I file creati nella pagina PAGINA_PERSONE_PROGETTO riportano le persone che partecipano ad un progetto: la lista dei possibili coordinatori e quella dei semplici partecipanti. Nel nostro caso i file creati saranno (una pagina per ogni progetto): 3dcube.html, Araneus.html, ASI.html, GDToolkit.html, PLaSM.html, Ptolomaeus.html.

I file creati nella pagina PAGINA_PERSONE danno luce alle pagine relative alle persone che afferiscono al dipartimento, nel nostro caso i file creati saranno : AtzeniPaolo.html, CabibboLuca.html, DiBattisGiuseppe.html, DidimoWalter.html, MerialdoPaolo.html, MagnanteMarco.html, etc…

I file creati nella pagina PAGINA_RISULTATI danno luogo alle pagine dei risultati di ogni progetto: in essa compaiono le liste del materiale prodotto scaricabile dalla rete, della documentazione relativa al software prodotto, e un collegamento alla pagina dedicata alle pubblicazioni del progetto stesso.

I file creati nella PAGINA_PUBBLICAZIONI creano le pagine delle pubblicazioni di ogni progetto : vi sarà una singola istanza di pagina per ogni progetto.

I file creati nella PAGINA_GRUPPO_DI_RICERCA creano una pagina per ogni gruppo di ricerca coinvolto nello sviluppo di progetti nel DIA dell’Università di Roma III.

I file creati nella PAGINA_FINANZIAMENTI creano le pagine relative ai finanziamenti che riceve il dipartimento nell’ambito della ricerca (una pagina per ogni finanziamento)

I file creati nella PAGINA_DOC_SW danno vita a delle pagine che contengono la documentazione relativa al software prodotto da un singolo progetto all’interno del DIA.

I file creati nella PAGINA_MAT_SCAR creano le pagine che contengono le informazioni relative al materiale prodotto dal progetto che può essere scaricato dalla rete. Viene effettivamente inserito un link che consente di scaricare il prodotto .

Illustriamo poi le altre directory che contengono informazioni di interesse relativamente alla costruzione delle pagine.

Nella directory IMAGE sono contenute tutte le immagini che vengono importate dalle pagine html per rendere più gradevole la presentazione.

Nella directory DOWNLOAD sono contenuti i vari file che possono essere scaricati dalla rete. A questi si riferiscono i link presenti nelle pagine di tipo MAT_SCAR.

Nella directory TEMPLATE si trovano tutti i file di estensione HF: nel generare le varie pagine sono stati creati degli Header File (HF) che consentono di specificare dei comandi HTML (quali ad esempio il background) comuni a tutte le pagine di un determinato tipo.

Di seguito si riporta un esempio degli Header file presenti nella directory Template :

FILE PAGINA_PROGETTI.HF

<HTML>

<body background="../Image/marmo.jpg">

<IMG SRC="../Image/logo.gif" width=70 align=left>

<BR> <BR> <CENTER> <H3> Dipartimento di Informatica e Automazione </H3> </CENTER> <BR> <BR>

<HR WIDTH=100%> <BR>

<!--body-->

<BR>

<HR width=100%>

<BR>

<CENTER>

<IMG SRC="../image/penelope.gif"> <BR>

<I> This Hypertext was created by <A HREF=http://poincare.inf.uniroma3.it:8080/Araneus/penelope/penelope.html>

<FONT COLOR="#008000"> <FONT SIZE=+2> P </FONT> <FONT SIZE=+1>ENELOPE </FONT> </A> </I>

</BODY>

</HTML>

 

Abbiamo già accennato al file ricerca.pdl, dove sono contenute le istruzioni che verranno interpretate da Penelope per la costruzione del file HTML. Le istruzioni di estrazione della informazioni dalla base di dati possono essere corredate di PRE-TAG e POST-TAG per la gestione della presentazione. Nel PRE-TAG e nel POST-TAG vengono specificate delle istruzioni HTML che verranno inserite dal compilatore penelope rispettivamente prima e dopo il dato a cui si riferiscono. Pre-Tag e Post-Tag vengono specificati racchiusi tra due coppie di parentesi quadre in coda all'istruzione Penelope a cui si riferiscono. Il file ricerca.pdl è inserito in coda.

[Torna ad inizio pagina]

 

6.3 Gestione della presentazione con TELEMACO

Telemaco permette di separare e gestire in modo autonomo la definizione della struttura logica di un page scheme dalla definizione alla sua presentazione. Il progettista del sito deve quindi svolgere le seguenti operazioni in maniera separata:

Nel nostro caso abbiamo voluto sperimentare l’utilizzo di Telemaco e abbiamo generato una parte delle pagine relative al nostro ambito in entrambi i metodi: Senza Telemaco (uso di Penelope come specificato nel paragrafo precedente) e con l’uso di Telemaco.

Le pagine con la doppia definizione sono:

Sono quindi state allestite due presentazioni separate per visualizzare e discutere le differenze che si sono rivelate alquanto minime.

 

INDICE