AWM: Active Web Matrix
EDIZIONE Giugno 2004
EDIZIONE Gennaio 2005
I Rapporti Tecnici dello Usability LAB ENEA
ACTIVE WEB MATRIX
EDIZIONE Giugno 2004
La realizzazione di questo rapporto tecnico è stata curata da:
Umberto Annunziata, Flavio Fontana, lo staff dello Usability Lab
INDICE
Introduzione ……………………………………………………………………
1. ANALISI DEI REQUISITI DELL’UTENZA ……………………………
1.1. Il modello della Cyber Enterprise ……………………………………
1.2. Classificazione dell’utenza ……………………………………………
1.3. Requisiti utente …………………………………………………….….
1.3.1.Requisiti generali ………………………………………………
1.3.2.Requisiti funzionali …………………………………………….
1.3.3.Requisiti tecnici ………………………………………………..
2. PROGETTAZIONE DEL SISTEMA ……………………………….……
2.1. Analisi e definizione dei meta dati …………………………………...
2.1.1.Definizione delle meta informazioni e struttura del sito web .
2.1.2.Progettazione concettuale ………………………………….….
2.1.3.Progettazione logica ……………………………………………
2.1.4.Progettazione fisica …………………………………………….
2.2. Progettazione dei moduli applicativi ………………………………...
2.2.1.Funzioni di gestione e relative procedure …………………….
2.2.2.Funzioni di interrogazione …………………………………….
3. AMBIENTE DI SVILUPPO ………………………………………………
3.1. Linguaggi utilizzati per applicazioni web …………………………
…
3.1.1.HTML ……………………………………………………….….
3.1.2.I limiti di HTML, possibili soluzioni ………………………….
3.1.3.Le Active Server Pages ………………………………………..
3.1.4.Java: Applet e JSP ………………………………………….….
3.1.5.Approcci misti ………………………………………………….
3.1.6.Connessioni ai Database Access e Oracle con lo standard
ODBC ………………………………………………………….….
3.1.7.XML …………………………………………………………….
3.2. L’ambiente di sviluppo del primo prototipo ………………………..
4. Il prototipo del sistema …………………………………………….
4.1. Active Web Matrix ……………………………………………………
4.1.1.Modulo News …………………………………………………..
4.1.2.Modulo Multimedia ……………………………………………
4.1.3.Modulo Web Seminar ………………………………………….
4.1.4.Modulo Home Page …………………………………………….
4.1.5.Il Web Based Document Management System ………………
4.1.6.Gli altri moduli …………………………………………………
5. Conclusioni e futuri sviluppi ………………………………………………
5.1. Test di validazione …………………………………………………….
5.2. Considerazioni finali ………………………………………………….
5.3. Futuri sviluppi ………………………………………………………..
Bibliografia ………………………………………………………………….….
Active Web Matrix
________________________________________________________________________________
INTRODUZIONE
Lo sviluppo della rete Internet, a partire dal 1991, in termini di classi di utenza e tipologie di siti
web, è giunto alla terza generazione e si sta avviando verso la quarta dove il sito web resta ancora
centrale. In questo contesto, il web viene integrato sempre di più con piattaforme innovative
applicate a domini di informazioni e conoscenze dedicate a fornire: servizi avanzati di
comunicazione, disseminazione delle informazioni, uso delle conoscenze e creazione di ambienti
virtuali di lavoro cooperativi interfacciati in termini visivi e multimediali.
Come conseguenza, nasce, quindi, l’esigenza di realizzare siti multifunzionali e flessibili.
L’oggetto di questo lavoro, svolto presso lo Usability Lab ENEA (Centro Ricerche Casaccia) è uno
studio e la, conseguente, realizzazione di un sito web per un modello di Virtual (o Cyber)
Enterprise, svolto nell’ambito del progetto di ricerca SOPHOCLES.1 Tale studio, ha portato alla
progettazione ed implementazione di un prototipo di un sito web dinamico chiamato “Active Web
Matrix”.
Active Web Matrix, finalizzato agli aspetti funzionali di una Cyber Enterprise, gestisce e recupera le
informazioni e i dati multimediali per mezzo di una serie di moduli funzionali da un insieme di
DBMS di supporto. Mediante l’integrazione tra il Web ed i DBMS (integrazione Web-DB) il sito
può essere gestito e configurato attraverso il web stesso. Il sistema fornisce anche adeguati
strumenti per la comunicazione e lo scambio di informazioni e conoscenza.
L’implementazione di tale prototipo ha permesso di valutare le scelte di progetto mediante test di
usabilità. La sperimentazione inoltre, ha messo in evidenza i limiti delle scelte effettuate e delle
tecnologie utilizzate fornendo, allo stesso tempo, un insieme di soluzioni alternative.
Il primo capitolo definisce e analizza il modello della Cyber Enterprise dal punto di vista
funzionale; definisce, quindi, la classificazione dell’utenza ed i requisiti utente in termini generali,
funzionali e tecnici. Nel secondo capitolo è descritta la progettazione del sistema in termini di: set di
dati, funzioni standard di gestione ed interrogazione, funzioni avanzate. Il terzo capitolo descrive
brevemente alcune tecnologie per applicazioni web, e descrive l’ambiente di sviluppo del primo
1
SOPHOCLES: System level develOpment Platform based on HeterOgeneous models and Concurrent LanguagEs for
System applicantions implementation
6
Active Web Matrix
________________________________________________________________________________
prototipo. Il quarto capitolo presenta il prototipo implementato e descrive i moduli del sistema in
termini funzionali. Nel quinto capitolo vengono riportate le considerazioni finali relative al
prototipo ed un accenno ai futuri sviluppi del sistema.
Active Web Matrix è stato utilizzato in modo sperimentale come previsto dallo stesso scopo del
progetto SOPHOCLES per validare, dal punto di vista concettuale, metodologie, piattaforme e
tecnologie per supportare l’integrazione di ambienti e applicazioni distribuite di sistemi complessi
ed eterogenei definiti “Componenti Virtuali” di simulazione.
7
Active Web Matrix
________________________________________________________________________________
Capitolo 1
ANALISI DEI REQUISITI DELL’UTENZA
In questo capitolo si descrive l’analisi dei requisiti dell’utenza in relazione al modello generale della
Cyber Enterprise e delle classi di utenza identificate nel corso dello studio sperimentale.
1.1. Il modello della Cyber Enterprise
Il problema della competitività aziendale rende essenziale, per ogni azienda, la capacità di
rispondere puntualmente alle richieste ed all’andamento del mercato con flessibilità e velocità.
Le imprese stanno abbandonando la struttura rigida, verticale e burocratica che le ha caratterizzate
per anni, e si stanno orientando verso organizzazioni distribuite e più flessibili.2
La crescente decentralizzazione ha accresciuto le responsabilità di ogni singolo attore del processo
produttivo e decisionale, generando, come effetto collaterale, l’incremento del numero di persone
coinvolte in tali processi.
Come conseguenza le aziende hanno sentito la necessità di avere a disposizione nuovi sevizi che
potessero consentire la comunicazione, la gestione e lo scambio di informazioni, servizi di supporto
alla frammentazione geografica.
Allo stesso tempo, lo sviluppo di nuove tecnologie dell’informazione (ICT) e la crescente diffusione
di Internet, hanno accresciuto e supportato tale processo di decentramento delle strutture, mettendo
in evidenza nuove esigenze degli utenti, più complesse da soddisfare.
La conseguenza di questa co-evoluzione ha delineato un modello relazionale di “virtual enterprise”,
centrato sull’evoluzione dei processi di comunicazione delle imprese (figura 1.1).
2
Commercio Elettronico e XML Scenari, tecnologie, applicazioni, vedi Bibliografia.
8
Active Web Matrix
________________________________________________________________________________
DIFF
Virtual Enterprise model
Employm
Customers
Employm
Customers
Information
Partners
Suppliers
Partners
Traditional model
Suppliers
Relational model
Figura 1.1 – Modello tradizionale e relazionale di Virtual Enterprise
Il modello di Cyber Enterprise (CE) di SOPHOCLES si basa sul concetto relazionale di Virtual
Enterprise. L’obiettivo del progetto è la realizzazione di un modello di CE che faciliti sia l’accesso
ed il reperimento delle informazioni, che l’utilizzo di network services, a tutti gli utenti, senza che
quest’ultimi abbiano la necessità di conoscere direttamente l’organizzazione e gli aspetti tecnici
della CE.
Il termine “virtuale” usualmente è usato per introdurre ambienti e/o sistemi che non hanno strutture
fisiche, ma che sono residenti su un computer.
Nel nostro contesto applicativo ciò vale per la “realtà virtuale” e i “componenti virtuali” o “prodotti
virtuali”. In altre parole, per un osservatore la realtà o il prodotto “esistono nella mente, come
prodotti d’immaginazione” (American Heritage Dictionary).
Il termine “impresa” generalmente è associato ad oggetti durevoli, costituiti da edifici dove operano
persone, secondo procedure definite nel rispetto di leggi e normative.
La “impresa virtuale” può essere definita, quindi come un’impresa che ha strutture e attributi
caratteristici di una reale impresa, ma che esiste solo nell’immaginazione dell’osservatore.
9
Active Web Matrix
________________________________________________________________________________
Figura 1.2 – Schema concettuale delle interazioni all’interno della CE
Mediante l’utilizzo di un’interfaccia visuale user-friendly integrata con il web, l’utente può
identificare, selezionare e reperire le informazioni cui è interessato. La CE ha quindi il compito di
rendere l’accesso alle informazioni omogeneo e standardizzato, indipendente dagli strumenti e dalle
tecnologie utilizzate (database, linguaggi e ambienti).
Extranet
Extranet
• •communication
communicationand
andservices
services
Internet
Internet
• •institutional
institutionaland
andproduct
product
communication
communication
••public
publicrelations
relations
••e-commerce
e-commerce
••knowledge
knowledgeintegration
integration
(partners,
(partners,customer,etc.)
customer,etc.)
••assistance
assistance
Cyber
Cyber
Enterprise
Enterprise
Intranet
Intranet
• •internal
internalcommunication
communication
••collaboration
collaborationwork
work
Figura 1.3 – Il modello della CE e le sue funzionalità in relazione alle differenti “reti”
10
Active Web Matrix
________________________________________________________________________________
Per soddisfare le esigenze del mercato globale e le attese dei possibili clienti, la CE è stata
progettata con un’architettura distribuita, questo ha permesso di:

rendere irrilevante la localizzazione geografica dei partner “reali” della CE;

creare nuovi mercati;

offrire nuovi prodotti e processi produttivi;

assicurare quella flessibilità, come detto in precedenza, tanto importante per rispondere in
modo adeguato e puntuale alle richieste del mercato.
Il concetto generale di virtual enterprise può essere analizzato da due differenti punti di vista: uno
funzionale ed uno istituzionale. Il punto di vista istituzionale considera la virtual enterprise come un
insieme di imprese legalmente indipendenti che
co-operano temporaneamente tra loro al fine
di raggiungere obiettivi economici comuni; condividono risorse e conoscenza mediante l’uso
dell’ICT. Gli aspetti presi in considerazione nel punto di vista funzionale riguardano invece le
caratteristiche di ogni azienda, le componenti interne ed esterne alla virtual enterprise e le loro
interazioni, l’uso dell’ICT rivolto alla definizione di strumenti per la gestione dell’informazione che
siano utilizzabili per generare un “valore aggiunto” per l’impresa virtuale.
Nel progetto SOPHOCLES si analizza il concetto generale di virtual enterprise dal punto di vista
funzionale, definendone i moduli principali, le funzioni e l’interfaccia.
Questi aspetti possono essere identificati attraverso la definizione di un modello user-oriented. Tale
approccio è stato seguito per definire le specifiche del sito web, in particolare per la definizione di
funzioni Internet-based atte a consentire:
1. la collaborazione tra diverse applicazioni e le informazioni che esse manipolano;
2. il lavoro cooperativo tra individui o gruppi di lavoro;
3. la definizione di un ambiente specifico dove il rilascio e l’accesso di ogni informazione
condivisa (inclusi i documenti), prodotta dagli attori che partecipano al progetto, sia sicuro,
monitorato e gestito in modo autonomo quasi trasparente, ed in tempi brevi;
4. l’implementazione di un insieme di tool user-friendly per la gestione della CE;
5. l’uso delle applicazioni che implementano i “servizi virtuali” per end-user.
In accordo con i punti precedenti, sono state definite le funzionalità di un insieme di tool per
“gestire il sito web attraverso il web”. Quest’obiettivo ha portato alla realizzazione di Active Web
Matrix, una piattaforma di prima generazione per la configurazione e la gestione dinamica di un sito
11
Active Web Matrix
________________________________________________________________________________
web integrato a basi dati distribuite e multimediali che offre servizi di impresa virtuale con una serie
di moduli funzionali indipendenti e complementari tra loro.
Il punto 3 ha portato alla realizzazione di un modulo per la gestione della documentazione: il WebBased Document Management System (WBDMS).
Il modulo Web-Seminar rientra nella categoria di servizi al punto 2.
1.2. Classificazione dell’utenza
La classificazione dell’utenza è presa in considerazione in questa fase di analisi user-oriented, per
identificare gli utenti della CE.
Le linee guida della metodologia applicata dall’ENEA in materia di usability3, hanno permesso di
identificare le classi di utenti ed i loro requisiti in relazione ad aspetti organizzativi, tecnici e
funzionali.
In questa fase, sono state analizzate le situazioni critiche in termini di accessibilità alle informazioni
ed usabilità dei sistemi deputati alle specifiche funzioni. In particolare, sono state oggetto di
ulteriori analisi le modalità del sistema nei momenti di accesso e recupero dell’informazione, dove è
complessa la definizione delle query da parte di utenti finali che non conoscono le strutture dei dati.
Tale operazione è stata, quindi, affidata al sistema stesso che offre servizi diretti e facili da usare.
Gli utenti possono essere classificati in base ai seguenti criteri:

Frequenza di accesso ai servizi della CE;

Frequenza d’uso dei sistemi/tool della CE;

Familiarità nell’utilizzo del computer;

Esperti in software;

Capacità professionali, profilo, ruolo.
In generale possiamo identificare le seguenti classi di utenza:

End-users, alla ricerca di soluzioni innovative e competitive per i loro affari;

Information brokers;

Venture capitalists, alla ricerca di tecnologia innovativa su cui investire;
3
Multimedia Prosoma Link-Up Methodology, Metodologia di Progetto di Siti WEB (ENEA, Università di Roma “La
Sapienza”), vedi Bibliografia [12]
12
Active Web Matrix
________________________________________________________________________________

Industriali e imprenditori interessati a nuove soluzioni;

Industrie, centri di ricerca e università che collaborano all’implementazione dei “servizi
virtuali” messi a disposizione dalla CE;

Lo staff di gestione della CE.
Partendo da tale classificazione generale, ed analizzando tali classi in funzione dell’accesso, profilo
e relazione con l’ambiente della CE, sono state definite tre categorie di utenti:
a) Generic user. In questa categoria rientrano gli utenti casuali che accedono alla CE per
reperire informazioni sull’organizzazione ed i suoi servizi. Di solito l’informazione non fa
parte della loro attività quotidiana ed accedono raramente e casualmente al sistema. Esempi
di questa categoria sono il generico navigatore della rete (net surfer) che consulta il sito, il
visitor che ricerca informazioni sui servizi offerti dalla CE e scarica delle demo.
b) Professional user. A questa categoria appartengono quegli utenti che hanno bisogno delle
informazioni fornite dalla CE come supporto alla propria attività professionale (Es.
designer). Essi accedono frequentemente ai dati ed ai servizi, di solito con lo stesso tipo di
interrogazioni dettate dalle loro necessità (“status” commerciale dei servizi, rapporti tecnici,
servizi di rete).
c) Experienced user. Gli utenti che appartengono a questa categoria esplorano i contenuti dei
database della CE con frequenza ed in dettaglio attraverso l’interfaccia web del sistema,
accedono ai servizi. In questa categoria rientra anche lo staff che gestisce la CE ed i suoi
sistemi/servizi. Il Cyber Enterprise Manager, il Web CE Manager, il DataBase
Administrator ed il Virtual Components Manager appartengono a questa tersa categoria.
La tabella 1.1 riassume le caratteristiche della classificazione sopra descritta.
Classe di utenza
End User
Visitor
Business User
Technical user
CE Manager
Web CE Manager
Data Base Manager/Administrator
VCs Manager
Tipo
External
External
External
External
Internal
Internal
Internal
External/Internal
Descrizione
Generic
Generic
Professional
Experienced
Experienced
Experienced
Experienced
Experienced
Tabella 1.1 – Classificazione degli utenti
La figura 1.4 classifica gli utenti in termini di frequenza d’uso del sistema.
13
Network
Internet User
Internet User
Extranet User
Extranet User
Intranet User
Intranet User
Intranet User
Intranet User
Active Web Matrix
________________________________________________________________________________
1.3. Requisiti utente
I requisiti utente sono raggruppati in tre tipologie: requisiti generali, funzionali e tecnici. Alcuni
sono relativi all’accesso, browsing e visualizzazione delle informazioni, altri sono relativi alle
funzionalità più significative.
1.3.1. Requisiti generali
I requisiti generali, intesi come specifiche globali, ovvero, che s’intendono avere un carattere
comune a tutte le componenti del sistema, sono mostrati nella tabella 1.2.
14
Active Web Matrix
________________________________________________________________________________
Codice
Item
Requisito
UR/1.1
Accesso al sistema via Web
Il sistema deve essere accessibile
utilizzando un semplice browser,
attraverso il quale l’utente può reperire
e gestire le informazioni, usufruire dei
servizi, accedere ai database
(integrazione Web-DB).
UR/1.2
Utilizzo della rete
UR/1.3
Facilità d’uso
UR/1.4
Robustezza
Se possibile l’utente deve avere a
disposizione una rete con prestazioni
elevate.
Il sistema deve fornire un approccio di
tipo visuale4. Attraverso una
rappresentazione visuale dei processi e
dello stato del sistema, l’utente ha la
possibilità di utilizzare i servizi messi a
disposizione con naturalezza ed
intuizione (grado di usabilità).
Il sistema deve essere affidabile e
robusto, realizzato con software
certificato e/o validato; deve essere in
grado di fornire assistenza all’utente nel
caso di operazioni errate.
Accesso riservato al sistema mediante
l’utilizzo di login e password;
identificazione e profilazione
dell’utente, privilegi e permessi.
Indipendenza dal sistema operativo e
dalla macchina, uso di Java
(L’ambiente WIN 2k è obbligatorio fase 1; Unix Solaris 5.7 e Linux - fase
2)
Il sistema deve essere composto da un
insieme di moduli funzionali tra loro
indipendenti e gestibili separatamente,
favorendo così l’implementazione di
sistemi distribuiti.
UR/1.5
Sicurezza
UR/1.6
Portabilità
UR/1.5
Modularità
Tabella 1.2 – Requisisti generali
4
Le interfacce visuali sfruttano l’elevata banda passante del sistema visivo umano che consente sia il riconoscimento
che la manipolazione di vaste quantità di informazione pittorica così come l’utilizzo della retroazione visiva per un
dialogo efficiente fra uomo e macchina. [7]
15
Active Web Matrix
________________________________________________________________________________
1.3.2. Requisiti funzionali
La tabella 1.3 mostra i requisiti funzionali più significativi.
Codice
UR/2.1
UR/2.2
UR/2.3
UR/2.3
UR/2.5
UR/2.6
Item
Requisito
Utilizzo del mouse e tastiera Il sistema, di tipo visuale, deve
consentire di eseguire le operazioni
mediante l’uso del mouse e quando
necessario della tastiera.
Funzioni di gestione
Il sistema deve fornire la possibilità di
essere gestito e configurato attraverso il
Web. In particolare l’integrazione WebDB deve fornire la possibilità di
effettuare l’update del sistema via rete.
Tali operazioni devono essere svolte
mediante l’utilizzo di menu di gestione
e procedure di manutenzione ed
aggiornamento.
Funzioni di interrogazione In accordo con UR/1.3 e UR/2.1, il
sistema deve fornire una metodologia
di approccio basata sull’utilizzo di
query predefinite e funzioni di ricerca
standard ed avanzate.
Funzioni di comunicazione Il sistema deve fornire gli strumenti
necessari alla comunicazione verso lo
staff, le company e gli utenti.
Il risultato delle query deve essere
Result Display
visualizzato in forma tabellare5.
Utilizzo di applicativi appositi (IVQSS
Funzioni avanzate
e SES).6
Tabella 1.3 – Requisisti funzionali
5
6
Per definizioni ed argomenti relativi alla rappresentazione visuali delle basi di dati si rimanda a [7]
Vedi bibiliografia [10] , [11] e [12]
16
Active Web Matrix
________________________________________________________________________________
1.3.3. Requisiti tecnici
Nella tabella 1.4 sono mostrati i principali requisiti tecnici.
Codice
UR/3.1
Item
Requisito
Ambiente di sviluppo e rete
Sistemi operativi: Windows NT/2000
Server, Unix/Linux
DBMS: Access/Oracle
Linguaggi di interrogazione: SQL
Web Server: IIS 5.0, Apache
Protocollo http su rete Tcp/Ip
UR/3.2
Linguaggi
Linguaggi Object Oriented (Java)
Linguaggi di script (JavaScript,
VBScript)
UR/3.3
UR/3.4
HTML, ASP, JSP
Video AVI, Mpeg
Multimedia
Plug-in Macroomedia Flash, Real
Player
Database distribuiti, eterogenei, basati
su diverse piattaforme (Oracle, Access,
altri).
Database
Tabella 1.4 – Requisisti tecnici
Nella fase di sviluppo del progetto SOPHOCLES, i requisiti sono stati testati, validati ed analizzati
in base alle necessità ed aspettative di un gruppo di utenti che rappresenteva i differenti profili di
una cyber enterprise afferente ad reale scenario applicativo (Progetto Sophocles).
17
Active Web Matrix
________________________________________________________________________________
Capitolo 2
PROGETTAZIONE DEL SISTEMA
La progettazione di Active Web Matrix (AWM) necessita di affrontare in modo distinto e integrato
sia le funzionalità del sito web che il dominio dei dati della Cyber Enterprise (CE).
In questo capitolo sono descritte le fasi di progettazione delle basi di dati e la fase di progettazione
dei moduli della CE in termini di procedure e applicazioni.
La prima definisce la struttura e l’organizzazione dei dati e delle informazioni; si suddivide in:

Progettazione dell’architettura del sito web;

Progettazione concettuale (schema E-R);

Progettazione logica (traduzione nel modello relazionale degli schemi E-R);

Progettazione fisica (Database Access/Oracle, directory e file)
La progettazione dei moduli applicativi, partendo dalla definizione delle informazioni e delle entità
e relazioni dei dati, fornisce le specifiche caratteristiche e le funzioni dei programmi che operano
sulla base di dati e sul sito web.
1.1. Analisi e definizione dei meta dati
L’analisi delle informazioni e l’organizzazione dei dati è stata effettuata sulla base di metodologie
top-down e bottom-up.
I principali elementi della CE sono stati identificati mediante un approccio metodologico di tipo
top-down. L’approccio bottom-up ha invece definito la relazione tra gli elementi, le loro
caratteristiche ed attributi.
La figura 2.1.a fornisce un schema concettuale generale della CE; le principali meta-entità definite
sono le seguenti:

User;

Cyber Enterprise System;

Virtual Component;

Company.
Lo schema rappresenta inoltre le principali relazioni tra le entità.
18
Active Web Matrix
________________________________________________________________________________
COMPANY
USER
CYBER
ENTERPRISE
SYSTEM
VC
Figura 2.1.a – Meta-entità della CE
La figura 2.1.b mostra le entità che sono contenute nella meta-entità CYBER ENTERPRISE
SYSTEM.
CYBER ENTERPRISE SYSTEM
MULTIMEDIA
WEB SEMINAR
CORE
NEWS
ALTRO
WBDMS
Figura 2.1.b – Meta-entità CYBER ENTERPRISE SISTEM
19
Active Web Matrix
________________________________________________________________________________
L’analisi dei dati ha identificato, per ogni meta-entità, le entità specifiche, le loro principali
relazioni ed i Minimum Data Set (MDS). Questo tipo di analisi ha così permesso di organizzare e
gestire tali dati mediante l’utilizzo di database multimediali distribuiti ed eterogenei.
L’analisi preliminare dell’architettura generale dei database ha individuato tre tipologie di database:

User DBs;

CE Central DBs;

Company/Partner DBs.
Questi database possono essere sia interni che esterni all’ambiente della CE (figura 2.2).
Cyber Enterprise CENTRAL DBs
User Registration
Security
CE profile
VC technical data
Administration
Web Site
Queries
Statistics
USER DBs
Company/
Partner
DBs
Figura 2.2 – Database della CE
Nelle pagine che seguono è descritta la progettazione dei CE Central DBs.
Il compito di questi DB consiste nel mantenimento e nella gestione dei dati relativi alle
informazioni ed ai servizi della CE.. Le informazioni mantenute in tali database sono accessibili
attraverso il sito web.
Le linee guida, descritte in Appendice-3 realtive al documento “CE definition and specification”,
hanno determinato le seguenti tipologie di dati:

informazioni sul progetto;

informazioni generali;

informazioni sui partner;

sezioni tecniche (Cyber Enterprise, Utilities, Virtual Components);
20
Active Web Matrix
________________________________________________________________________________

news, newsletter, forum;

informazioni multimediali;

strumenti di amministrazione/servizi e documentazione.
Di seguito sono descritte le specifiche dei principali contenuti multimediali ed ipertestuali.

News. Hanno come target il generico utente che naviga sul sito. Sono costituite da testo
accompagnato da immagini. Riportano informazioni più o meno specifiche su un
determinato argomento e sono suddivise per tematica. Le news possono essere visualizzate
in home page, in questo caso sono costituite da una piccola immagine accompagnata da un
breve testo (abstract).

Trailer, video, interviste. Le strutture informative di tipo multimediale7 sono associate alle
informazioni testuali per garantire un elevato grado di usabilità da parte dell’utente. Le
interviste trattano argomenti sia di tipo commerciale che tecnico ed in generale sono
utilizzate per introdurre la problematica di fondo ed il risultato che si viole (o si è voluto)
raggiungere (è riportato anche il testo dell’intervista). Hanno una durata di circa 30-60 sec. I
video ed i trailer costituiscono di solito dei flash sul progetto ed eventualmente sui partner
che vi partecipano (sono accompagnati da una breve descrizione inerente l’argomento). Il
trailer standard dura circa 60-70 sec.

Seminari. Hanno come target sia l’utente finale, sia gli utenti che lavorano nella CE.
Svolgono una funzione divulgativa e di comunicazione. Sono costituiti da sue sezioni: la
prima visualizza il video, la seconda mostra le slide della persona che sta parlando.

Pubblicazioni. È l’elenco delle pubblicazioni che trattano argomenti inerenti la CE.

Documentazione di progetto. È l’insieme dei documenti relativi al progetto. Devono essere
catalogati e messi a disposizione dello staff. Seguono un determinato standard definito in
[14]

Informazioni sui servizi virtuali (VC) offerti dalla Cyber Enterprise. Hanno come target il
visitor ed il customer. Descrivono le caratteristiche dei VC che la CE mette loro a
disposizione.
1.1.1. Definizione delle meta informazioni e struttura del sito web
7
Vedi Bibliografia [8], [14]
21
Active Web Matrix
________________________________________________________________________________
Le linee guida definite dall’ENEA8 per il design del sito web, sono state utilizzate per progettare
l’architettura del web per la CE del progetto SOPHOCLES.
Risoluzione del monitor.
Questo aspetto vincola fortemente l’architettura del sito. Al crescere della risoluzione video
aumenta la quantità di informazione visiva che può essere inserita nella pagina web. Una delle
risoluzioni standard adottate da applicazioni web e non, è di 800x600 pixel, tipica dei monitor 15
pollici. Tuttavia la crescente diffusione del computer come strumento “domestico” ed il
conseguente abbattimento dei costi di produzione per l’hardware, permettono l’acquisto di monitor
con risoluzioni superiori anche per l’utenza comune, non professionale. Un monitor 17 pollici
permette di utilizzare una risoluzione di 1024x768 pixel, con un conseguente aumento dello spazio
disponibile per la visualizzazione delle informazioni.
L’architettura del sito è stata disegnata in base alla risoluzione 1024x768, cercando comunque di
garantire una certa compatibilità con quella di 800x600.
Struttura del sito.
La figura 2.3.a mostra la struttura principale della home page del sito.
2
3
1
Figura 2.3.a – Struttura principale della home page del sito
8
Vedi Bibliografia [13]
22
Active Web Matrix
________________________________________________________________________________
La struttura visiva dell’interfaccia web è composta da:

console di navigazione (1);

intestazione (2);

home page, pagina web del sito (3).
L’area (1) è lo strumento attraverso il quale l’utente può navigare all’interno del sito. Durante la
navigazione la console, che è comunque dinamica, consente all’utente di avere sempre a
disposizione uno “strumento” che gli fornisce la funzionalità necessaria per avere una completa e
diretta navigabilità su tutto il sito.
Anche l’area (2) è dinamica, in termini di banner che può visivamente mostrare all’utente lo
specifico ambiente in cui sta operando (front-end, back-end). Quando l’utente accede al sistema
(login), nella parte inferiore dell’intestazione viene visualizzato il suo nome.
Tutte le pagine del sito vengono caricate nell’area (3).
Le sezioni sono suddivise in due sottoaree: a destra è visualizzata una consolle che contiene un
insieme di link relativi alla sezione, a sinistra è visualizzata la pagina di dettaglio delle informazioni
selezionate (figura 2.3.b).
Area occupata
dalla sezione
Figura 2.3.b – Struttura del sito, sottomenu di destra e pagina di dettaglio
In figura 2.3.c è mostrato il mapping del sito relativo alla fase di progettazione.
23
Active Web Matrix
________________________________________________________________________________
Home
HomePage
Page
Welcome
Welcome
0
E-mail
E-mailaa
Links
Links
E-mail a
E-mail a
1
Project
Project
Profile
Profile
Congress &
Congress &
Workshop
Workshop
2
General
General
Information
Information
Partners
3 3
Partners
Technical
Technical
Info
Info
VC
VCCatalog
Catalog
4
Cyber
Cyber
Enterprise
Enterprise
Target
Target
Groups
Groups
4.1
Utilities
Utilities
4.2
Cyber
Cyber
Enterprise
Enterprise
User
User
Regisration
Regisration
Access
Access
Public
Public
Doc
Doc
Technical Sections
5
Users
Users
Forum
Forum
FAQs
FAQs
News
News
6
5.1
9
7
Show
ShowRoom
Room
(Multimedia)
(Multimedia)
8
Network
Network
Services
Services
Trailer 7.1
Trailer
5.2
Video
Video
5.3
Flash
Flash
7.2
7.3
Customer Sections
Figura 2.3.c – Mapping del sito
Mediante un utilizzo appropriato della grafica (spazialità del testo, contrasto di colori) ed un
raggruppamento delle informazioni per tipologia e tematica la home page è suddivisa in quattro aree
verticali; partendo da sinistra si ha:

una sezione dedicata alle news;

una sezione dedicata alla presentazione di eventi quali interviste, seminari, congressi e
workshop;

una sezione dedicata alla Cyber Enterprise, con relativa funzione di registrazione o accesso;

una sezione dedicata alla pubblicità (SPOT).
Nel caso in cui l’utente abbia una risoluzione di 800x600 pixel, la sezione pubblicitaria non verrà
mostrata, rimanendo al di fuori dell’area di visualizzazione dello schermo.
Ogni area è a sua volta suddivisa in tre sezioni orizzontali.
Viene così a determinarsi una sottostruttura a griglia, una Web Matrix, che racchiude tutto il sito
web, come mostrato in figura 2.3.d.
24
Active Web Matrix
________________________________________________________________________________
1
4
7
10
13
2
5
8
11
14
3
6
9
12
15
W eb N avigation
N ew s
M u ltim ed ia
C yb er E nte rp rise
S p ot
Figura 2.3.d – Web Matrix
L’obiettivo di realizzare un sito dinamico e modulare (da qui il termine Active), unito a tale studio
grafico ha portato alla definizione di una struttura a matrice in cui ogni cella è indipendente dalle
altre e costituisce un singolo modulo funzioanle, gestibile in modo autonomo.
La figura 2.3.e descrive i moduli che compongono Active Web Matrix e le loro interazioni.
News
Manager
DB news
Publications
Manager
Multimedia
Manager
DB
publications
DB
multimedia
Console
Manager
DB console
Seminar
Manager
DB seminar
Figura 2.3.e – Active Web Matrix
25
Active Web Matrix
________________________________________________________________________________
Ogni modulo incluso nel sito adotta lo stesso standard grafico (banner, icone, titolozioni, font,
colori, backgound, ecc.) ed ha modulo manager per la sua gestione, un database di supporto e
un’apposita sezione del sito a cui si può accedere mediante i link del menu principale. Le sezioni
sono caricate nell’area (3) di figura 2.3.a secondo la struttura mostrata in figura 2.3.b. Le
informazioni di questa area sono quelle del menu di destra e della pagina di dettaglio. Tali
informazioni sono recuperate dal relativo database di riferimento.
AWM prevede una home page che può essere configurata in modo tale da ospitare in ogni cella un
set ridotto di informazioni per ogni singolo modulo: la struttura della pagina (grafica, spazi e font)
rimane la stessa, ma le informazioni al suo interno cambiano in base alla configurazione stabilita
dall’utente, operazione svolta attraverso un modulo manager dedicato.
In figura 2.4 viene mostrato lo studio del layout del sito web in ambiente customer e staff. Il
capitolo 4 descrive nel dettaglio sia il layout del sito per il prototipo realizzato che modulo
“Manager” di AWM.
Staff
DBA
DBA
Figura 2.4 – Layout Staff-View/DBA
1.1.2. Progettazione concettuale
Il modello concettuale della base di dati di supporto al sistema è descritto mediante lo schema
Entità-Relazione (schema E-R) di figura 2.5.
26
Active Web Matrix
________________________________________________________________________________
(1,n)
SEZIONE
(1,1)
DI
LINK
(1,1)
DI
UTENTE
(1,n)
NEWSL
ETTER
INCLUS
IONE
(1,1)
(1,n)
ACQUI
STO
(1,n)
(1,1)
(1,1)
MULTIMEDIA
(1,1)
(1,1)
ENTE
DI
(1,n)
(1,n)
(1,n)
(1,n)
DI
DI
(1,n)
COMPANY
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
DI
DI
UTENTE
(STAFF)
DI
(1,n)
(1,1)
DI
COMPI
LER
(1,n)
VC
(1,n)
VALID
ATOR
DI
(1,n)
(1,n)
APPRO
VER
SEMINARIO
SEZ.
PERS.
(1,n)
DOCUMENTO
SEZIONE
(1,1)
(1,n)
(1,n)
(1,n)
DI
DI
MESSAGGIO
TASK
(1,1)
INTERVENTO
(1,1)
(1,n)
NEWS
(1,1)
PUBBLICAZIONE
Figura 2.5 – Schema E-R
Le pagine che seguono descrivono nel dettaglio le entità dello schema E-R di figura 2.5
implementate nel primo prototipo.
Entità NEWS.
Rappresenta le news presenti sul sito. Sono individuate univocamente da un identificatore (chiave,
id_news).
Gli altri attributi sono:

titolo:

immagine_piccola
rappresenta il titolo della news;
e immagine_grande: sono le immagini che vengono inserite
rispettivamente nella home page (quando richiesto), e nella sezione dedicata;

abstract:

testo:
rappresenta il testo completo della notizia;

fonte:
rappresenta la fonte di provenienza della notizia;

home page
descrive in poche righe la notizia (usato nella home page);
e area: questi attributi indicano se la news viene visualizzata anche in home
page, e l’area in cui deve essere visualizzata.
Entità MULTIMEDIA.
Rappresenta i multimedia, intesi come video, trailer, interviste. Sono individuati univocamente
dall’identificatore id_mm. Gli altri attributi sono:
27
Active Web Matrix
________________________________________________________________________________

titolo:

tema:

abstract:

testo:

data:

autore:

filmato, estensione, tipo_filmato:
rappresenta il titolo del multimedia;
indica il contesto di riferimento, utile per creare una sottoclassificazione;
breve descrizione del multimedia (usato in home page);
ripropone il testo dell’intervista o semplicemente una descrizione del filmato;
rappresenta la data in cui il filmato è stato girato;
nome dell’autore del filmato;
questi attributi individuano il video associato e
determinano il tipo di formato ed estensione. Sono dati tecnici utilizzati per l’inserimento
del video nella pagina HTML;

e area: questi attributi indicano se il multimedia è visualizzato in home page, e
home_page
l’area in cui deve essere inserito.
Entità SEMINARIO, SEZIONE, INTERVENTO, le relazioni che le legano.
titolo id_sezione
abstract
soggetto
organizzazione
real_time
ora_inizio
ora_fine
IP_address
filmato
estensione
(1,1)
SEZIONE
SEMINARIO
abstract
data
real_time
id_intervento
DI
home_page
area
argomento
mime_type
num_slide
(1,n)
(1,n)
tipo_filmato
nome_slide
DI
id_seminario
titolo
soggetto
(1,1)
organizzazione
real_time
IP_address
INTERVENTO
filmato
estensione
nome_slide
mime_type
num_slide
tipo_filmato
Figura 2.5.a – Entità SEMINARIO, SEZIONE, INTERVENTO, relazioni
L’entità SEMINARIO rappresenta l’“evento seminario”. È individuato univocamente da un
identificatore (chiave, id_seminario). Gli altri attributi sono:

titolo:

abstract:

data:

real_time:
rappresenta il titolo, l’argomento del seminario;
una breve descrizione degli argomenti trattati;
la data in cui si tiene il seminario;
indica se il seminario è in diretta, in caso contrario è una replica;
28
Active Web Matrix
________________________________________________________________________________

e area: questi attributi indicano se le informazioni generali sul il seminario
home_page
devono essere inserite in home page, e l’area in cui devono essere inserite.
Per l’entità SEZIONE individuiamo i seguenti attributi:

id_sezione:

titolo:

abstract:
una descrizione degli argomenti affrontati nella sezione;

soggetto:
è il nome della persona che presiede alla sezione e che introduce gli interventi;

organizzazione:

real_time:

ora_inizio
identifica univocamente la sezione (chiave);
il titolo, l’argomento della sezione;
rappresenta l’organizzazione a cui appartiene la persona di cui sopra;
indica se la sezione è in real-time oppure è una replica on-line;
e ora_fine: rappresentano l’orario di inizio della sezione ed il rispettivo
orario di fine;

IP_address:

filmato, estensione, tipo_filmato:
indica l’indirizzo IP del server per la trasmissione in real-time;
questi attributi individuano il video associato e
determinano il tipo di formato ed estensione. Sono dati tecnici utilizzati per l’inserimento
del video nella pagina HTML. Sono utilizzati per i seminari on-line;

e mime_type: questi attributi individuano le immagini che rappresentano le
nome_slide
slide.

num_slide:
numero delle slide.
Per l’entità INTERVENTO individuiamo i seguenti attributi:

id_intervento:

argomento:

soggetto:

organizzazione:

real_time:

IP_address:

filmato, estensione, tipo_filmato:
identifica univocamente la sezione (chiave);
rappresenta l’argomento dell’intervento;
è il nome della persona che tiene l’intervento;
rappresenta l’organizzazione a cui appartiene la persona di cui sopra;
indica se l’intervento è in real-time oppure è una replica on-line;
indica l’indirizzo IP del server per la trasmissione in real-time;
questi attributi individuano il video associato e
determinano il tipo di formato ed estensione. Sono dati tecnici utilizzati per l’inserimento
del video nella pagina HTML. Sono utilizzati per i seminari on-line;

nome_slide
e mime_type: questi attributi individuano le immagini che rappresentano le
slide.

num_slide:
numero delle slide.
29
Active Web Matrix
________________________________________________________________________________
Le relazioni tra queste tre entità, e le rispettive cardinalità, indicano che:

un seminario è composto di una o più sezioni, una sezione appartiene ad un solo seminario;

una sezione è suddivisa in uno o più interventi, un intervento appartiene ad una sola sezione.
Entità PUBBLICAZIONI.
L’entità PUBBLICAZIONE rappresenta le pubblicazioni, presentate in determinati eventi. Una
pubblicazione è individuata da id_pub (chiave). Gli altri attributi sono:

autori:
rappresenta la lista degli autori della pubblicazione, i nomi sono separati da una
virgola;

titolo:

note:

evento:

data:

città:
indica la città dell’evento o la città in cui esce la pubblicazione;

stato:
stato in cui si tiene l’evento o in cui esce la pubblicazione;

home_page
rappresenta il titolo della pubblicazione;
eventuali note;
evento, manifestazione in cui viene presentata la pubblicazione;
la data in cui è presentata, pubblicata;
e area: questi attributi indicano se le informazioni relative alla pubblicazione
devono essere inserite in home page, e l’area in cui devono essere inserite.
Entità SEZIONI del Menu, LINK, le relazioni che le legano.
DI
(1,n)
id_sezione
SEZIONE
titolo
descrizione
home_page
area
(1,1)
id_link
nome
URL
LINK
num_ordine
Figura 2.5.b – Entità SEZIONI del Menu, LINK, relazioni
30
Active Web Matrix
________________________________________________________________________________
L’entità SEZIONE (del Menu) rappresenta una sezione della consolle di navigazione del sito. Ogni
console è individuata univocamente da un identificatore (chiave, id_sezione). Gli altri attributi
sono:

titolo:

descrizione:

home_page
identifica nominalmente la sezione;
breve descrizione della funzione che la sezione svolge;
e area:
questi attributi indicano se la sezione fa parte della consolle di
navigazione del sito e la posizioni in cui deve essere inserita.
L’entità LINK rappresenta un collegamento ipertestuale della sezione del menu. È individuato
univocamente da id_link (chiave). Gli altri attributi sono:

nome:

URL:

num_ordine:
è il nome visualizzato sulla consolle di navigazione;
è l’URL a cui punta il link;
è il numero d’ordine progressivo del link all’interno della sezione.
Le relazioni tra queste tre entità, e le rispettive cardinalità, indicano che:

una sezione del menu è composta da uno o più link, un link appartiene ad una sola sezione.
Entità UTENTE, VC, COMPANY, le relazioni che le legano.
UTENTE
(1,n)
address
company_name
ACQUI
STO
id_VC
VC_name
city
id_company
zip_code
(1,n)
VC
description
phone
(1,1)
DI
(1,n)
COMPANY
contact_A
contact_B
VC_version
year
tel_A
gate_IN
fax_A
gate_OUT
VC_IP
tel_B
web_pages
fax_B
status
email_A
note
email_B
Figura 2.5.c – Entità UTENTE, VC,COMPANY, relazioni
31
Active Web Matrix
________________________________________________________________________________
L’entità VC rappresenta un Virtual Component, in generale un processo in esecuzione su una
macchina. È individuato univocamente da id_VC (chiave). Gli altri attributi sono:

VC_name:

description, note:

Vc_version, year:

gate_IN, gate_OUT, VC_IP:
è il nome del VC;
breve descrizione del VC ed eventuali note;
identificano la versione del VC;
indicano l’indirizzo IP della macchina su cui è in esecuzione
il processo ed i port number per la comunicazione con il VC;
L’entità COMPANY rappresenta l’azienda che ha prodotto/fornito un VC. È individuata
univocamente da id_company (chiave). Gli altri attributi sono:

company_name:

address, city, zip_code, phone:

contact_A, contact_B:

tel_A, tel_B, email_A, email_B, fax_A, fax_B:
è il nome della company;
individuano l’azienda;
identificano le persone addette ai contatti con l’utenza.
indicano telefono, fax ed e-mail dei
due contatti;

web_pages:
è il link al sito della company.
L’entità UTENTE rappresenta il customer che acquista il servizio e può quindi usufruire dei VC.
L’entità utente non è descritta, in quanto è uno studio complementare oggetto di un lavoro di tesi. Il
lavoro, complesso e articolato, è comunque stato integrato e utilizzato, a livello funzionale, nella
realizzazione del sito web stesso.
Le relazioni tra queste tre entità, e le rispettive cardinalità, indicano che:

un VC è prodotto da una sola azienda, una azienda può fornire uno o più VC;

un utente può acquistare uno o più VC, un VC può essere acquistato da più utenti.
32
Active Web Matrix
________________________________________________________________________________
Entità DOCUMENTO, ENTE, TASK, STAFF e le relazioni che le legano.
MESSAGGIO
TASK
(1,n)
(1,1)
DI
INCLUS
IONE
(1,1)
(1,n)
(1,1)
DOCUMENTO
(1,1)
(1,1)
APPRO
VER
(1,1)
VALID
ATOR
DI
COMPI
LER
(1,n)
ENTE
(1,n)
(1,n)
(1,n)
(1,n)
UTENTE
(STAFF)
DI
(1,1)
Figura 2.5.d – Entità DOCUMENTO, ENTE, STAFF, TASK, MESSAGGIO, relazioni
L’entità DOCUMENTO rappresenta un documento di progetto. La definizione di uno standard9 per
tale tipologia di documentazione, unito ad una classificazione dello staff, ha consentito la
strutturazione del documento ed il conseguente utilizzo di un database per realizzare un repository.
Il campo id è il campo chiave. Gli altri attributi sono:

codice_doc:
strutturato
è un codice alfanumerico che identifica univocamente il documento; è
nel
seguente
modo:
OR-SS-TS-NNN-VV,
dove
OR
è
il
codice
dell’organizzazione a cui appartiene il documento, SS identifica l’argomento a cui si
riferisce il documento, TS il task di progetto, NNN è il numero progressivo del documento a
parità degli altri codici, VV è la versione del documento, questo campo è usato nella fase di
revisione;

classificazione:
questo campo identifica il livello di privacy del documento; può
assumere i valori P(ublic), R(estricted), C(onfidential). P indica che il documento è pubblico
e può essere visto dallo staff e dagli utenti del sito, R indica che il documento è ristretto allo
staff, C indica che il documento può essere visto solo dagli utenti che sono inclusi nella lista
di distribuzione associata al documento;
9
Standard per la documentazione. Vedi Bibliografia [15]
33
Active Web Matrix
________________________________________________________________________________

contratto:

titolo:

abstract:

annotazioni:
numero del contratto relativo al progetto a cui si riferisce il documento;
titolo del documento;
è una breve descrizione del contenuto del documento;
questo campo contiene brevi note sul documento, sono utili in fase di
revisione;

autori:
è la lista degli autori del documento (nome e cognome), ogni nome di autore è
separato da un “; ” come definito da standard; nella lista degli autori è inserito anche il
nome del compiler del documento.

status:

num_pagine:

nome_file, dimensione, ftp_server_http:
indica lo status del documento, può assumere i valori working, draft, final;
indica il numero di pagine del documento;
questi campi rappresentano le informazioni
del file (formato elettronico del documento) es. documento Ms Word, Excel, pdf, html, txt;
il primo individua il nome del file, il secondo la dimensione in Kbyte, il terzo campo indica
l’indirizzo IP della macchina da cui proviene il file;

revisione:

data:

allegato:

dist_list:
indica il numero progressivo di revisione del documento
(0, 1, 2, …);
indica la data di inserimento o di approvazione del documento;
rappresenta il nome di un eventuale file allegato, oltre al documento;
è la lista di distribuzione del documento, è utilizzata per i documenti classificati
C.
L’entità ENTE rappresenta l’organizzazione che ha prodotto il documento. È individuata
univocamente dal campo code (chiave) costituito da una coppia di lettere, (il campo OR nel codice
del documento). Gli altri attributi sono:

name:

nationality, city, address, cap:
è il nome dell’organizzazione;
individuano l’azienda.
L’entità TASK rappresenta l’insieme dei task per un progetto. È individuato univocamente da
task_num
(chiave) costituito da un codice di due cifre (indicato anche nel codice del documento).
Gli altri attributi sono:

task_name:
è il nome del task.
L’entità MESSAGGIO rappresenta un messaggio che può essere inviato agli utenti per indicare
l’inserimento di un nuovo documento. Il messaggio viene inserito nel database, e quando l’utente
34
Active Web Matrix
________________________________________________________________________________
effettua il login sul sistema il messaggio viene visualizzato. Il messaggio è individuato
univocamente da cod_msg (chiave). Gli altri attributi sono:

data:

ora:

destinatari:
data in cui è stato inviato il messaggio;
ora in cui è stato inviato il messaggio;
lista dei destinatari del messaggio, è costituita dai codici utente separati da
una virgola.

doc_allegato:
nome del file allegato al messaggio, è il documento che è stato appena
inserito;

testo:
è il testo del messaggio.
L’entità UTENTE (STAFF) rappresenta un elemento dello staff. Un utente è individuato
univocamente dal campo user_id (chiave), usata dall’utente per il login insieme alla password. Gli
altri attributi sono:

password:

cognome, nome:

indirizzo, telefono:

email:
è l’e-mail dell’utente;

P,R,C:
questi campi assumono valori true/false e indicano se l’utente è abilitato o meno
è la password dell’utente;
rappresentano rispettivamente nome e cognome dell’utente;
dati a corredo.
alla visualizzazione dei documenti classificati P, R, C.
Le relazioni tra queste tre entità, e le rispettive cardinalità, indicano che:

un documento appartiene ad un solo ente, un ente può produrre più documenti;

un documento è relativo ad un solo task, più documenti hanno lo stesso task;

un utente fa parte di una sola organizzazione, ovviamente un’organizzazione ha più persone
che possono essere utenti del sistema;

un documento può avere più autori, ma ha un solo editor, compiler e approver, un utente
può essere sia editor che compiler che approver;

un messaggio può includere un solo documento, a priori un documento può essere inserito in
più messaggi.
35
Active Web Matrix
________________________________________________________________________________
1.1.3. Progettazione logica
L’analisi dei dati del dominio applicativo e la conseguente schematizzazione concettuale descritta in
2.1.2, hanno permesso di definire nel dettaglio le tabelle delle entità e delle relazioni identificate.
Di seguito sono mostrate le tabelle del sistema con i campi, la tipologia del campo e la relativa
descrizione. Per ogni tabella sono messi in evidenza i vincoli di integrità referenziale.
36
Active Web Matrix
________________________________________________________________________________
Tabella news
Implementa:

l’entità NEWS
id_news
Numero contatore
Titolo
Immagine_piccola
Stringa di caratteri
Stringa di caratteri
Immagine_grande
Stringa di caratteri
Abstract
Stringa di caratteri
Testo
Fonte
Stringa di caratteri
Stringa di caratteri
Home_page
Stringa di caratteri
Area
Stringa di caratteri
Identifica
univocamente la news
Titolo della news
Nome dell’immagine che
viene inserita in home
page
Nome dell’immagine che
viene inserita nella
sezione
Breve testo,
utilizzato per la home
page
Testo della news
Fonte di provenienza
della news
Assume i valori
true/false per
indicare se la news va
o meno in home page
Indica l’area in cui
deve essere inserita
la news
Tabella 2.1.a - News
Tabella multimedia
Implementa:

l’entità MULTIMEDIA
id_mm
Numero contatore
Titolo
Tema
Stringa di caratteri
Stringa di caratteri
Abstract
Stringa di caratteri
Testo
Data
Stringa di caratteri
Data
Autore
Filmato
Stringa di caratteri
Stringa di caratteri
Estensione
Tipo_filmato
Stringa di caratteri
Stringa di caratteri
10
Identifica
univocamente i
multimedia
Titolo del multimedia
Tema, contesto in cui
si inserisce il
multimedia
Breve testo,
utilizzato per la home
page
Testo del multimedia
Data di produzione del
video
Autore del video
Nome del file
multimediale10
Estensione del file
Mime_type del filmato,
dipende
dall’estensione
Lo standard utilizzato per i nomi è il seguente: <nome_file>_small.<estensione> per i video che vengono
inseriti in home page; <nome_file>_56k.<estensione> per i video con risoluzione e bit-rate adattati a connessioni
mediante linea telefonica; <nome_file>_lan.<estensione> per i video trasmessi su reti ad alta velocità,
tipicamente le LAN.
37
Active Web Matrix
________________________________________________________________________________
Home_page
Stringa di caratteri
Area
Stringa di caratteri
Assume i valori
true/false per
indicare se il
multimedia va o meno
in home page
Indica l’area in cui
deve essere inserita
il multimedia
Tabella 2.1.b - Multimedia
Tabella seminari
Implementa:

l’entità SEMINARIO
id_seminario
Numero contatore
Titolo
Abstract
Stringa di caratteri
Stringa di caratteri
Data
Data
Real_time
Stringa di caratteri
Home_page
Stringa di caratteri
Area
Stringa di caratteri
Identifica
univocamente il
seminario
Titolo del seminario
Breve descrizione
degli argomenti del
seminario
Data in cui si tiene
il seminario
Assume il valori true
se il seminario è in
real-time, false
altrimenti
Assume i valori
true/false per
indicare se il
multimedia va o meno
in home page
Indica l’area in cui
deve essere inserita
il multimedia
Tabella 2.1.c – Seminari
Tabella sezioni_seminario
Implementa:

l’entità SEZIONE

l’associazione DI tra SEZIONE e SEMINARIO
id_sezione
Numero contatore
id_seminario
Intero
Titolo
Abstract
Stringa di caratteri
Stringa di caratteri
38
Numero progressivo
della sezione, insieme
a id_seminario
costituisce la chiave
primaria della tabella
id del seminario a cui
appartiene la sezione
Titolo della sezione
Breve descrizione
degli argomenti della
sezione
Active Web Matrix
________________________________________________________________________________
Soggetto
Stringa di caratteri
Organizzazione
Stringa di caratteri
Real_time
Stringa di caratteri
Ora_inizio
Ora
Ora_fine
Ora
IP_address
Stringa di caratteri
Filmato
Stringa di caratteri
Estensione
Tipo_filmato
Stringa di caratteri
Stringa di caratteri
Nome_slide
Stringa di caratteri
Mime_type
Stringa di caratteri
Num_slide
Intero
Nome della persona che
presiede la sezione
Organizzazione a cui
appartiene il soggetto
Assume il valori true
se il seminario è in
real time, false
altrimenti
Orario di inizio della
sessione
Orario in cui finisce
la sessione
Indirizzo IP del
server per le
trasmissioni in
real-time, nel caso di
seminari On-Line il
valore di questo campo
viene ignorato
Nome del video, usato
per i seminari On-Line
Estensione del file
Mime_type del filmato,
dipende
dall’estensione
Nome delle immagini
che rappresentano le
slides. Le immagini
hanno tutte lo stesso
nome e sono numerate a
partire da 001, 002, …
Estensioni delle
immagini che
compongono le slides
Numero delle slides,
per scorrimento immag.
Tabella 2.1.d – Sezioni_seminario
VINCOLI
Chiavi esterne:
-
id_seminario
riferimento id_seminario in seminari
Tabella interventi_sezione
Implementa:

l’entità INTERVENTI

l’associazione DI tra INTERVENTI e SEZIONI
39
Active Web Matrix
________________________________________________________________________________
id_sezione
Numero contatore
id_sezione
Intero
id_seminario
Intero
Argomento
Stringa di caratteri
Soggetto
Stringa di caratteri
Organizzazione
Stringa di caratteri
Real_time
Stringa di caratteri
IP_address
Stringa di caratteri
Filmato
Stringa di caratteri
Estensione
Tipo_filmato
Stringa di caratteri
Stringa di caratteri
Nome_slide
Stringa di caratteri
Mime_type
Stringa di caratteri
Num_slide
Intero
Numero progressivo
dell’intervento
all’interno della
sezione, insieme a
id_sezione e
id_seminario è chiave
primaria
Identifica la sezione
a cui appartiene
l’intervento
Id del seminario a cui
appartiene la sezione
Argomento
dell’intervento
Nome della persona che
tiene l’intervento
Organizzazione a cui
appartiene il soggetto
Assume il valore true
se il seminario è in
real time, false
altrimenti
Indirizzo IP del
server per le
trasmissioni in real
time, nel caso di
seminari On-Line il
valore di questo campo
viene ignorato
Nome del video, usato
per i seminari On-Line
Estensione del file
Mime_type del filmato,
dipende
dall’estensione
Nome delle immagini
che rappresentano le
slides. Le immagini
hanno tutte lo stesso
nome e sono numerate a
partire da 001, 002, …
Estensioni delle
immagini che
compongono le slides
Numero delle slides,
utilizzato per lo
scorrimento delle
immagini
Tabella 2.1.e – Interventi_sezione
VINCOLI
Chiavi esterne:
-
id_seminario
-
id_sezione
riferimento id_seminario in seminari
riferimento id_sezione in sezioni_seminario
40
Active Web Matrix
________________________________________________________________________________
Tabella pubblicazioni
Implementa:

l’entità PUBBLICAZIONE
id_pub
Numero contatore
autori
Stringa di caratteri
titolo
Stringa di caratteri
note
evento
Stringa di caratteri
Stringa di caratteri
data
Stringa di caratteri
citta
Stringa di caratteri
stato
Home_page
Stringa di caratteri
Stringa di caratteri
Area
Stringa di caratteri
Numero progressivo, è
la chiave primaria
Rappresenta la lista
degli autori della
pubblicazione, i nomi
sono separati da una
virgola
Titolo della
pubblicazione
Eventuali note
Evento, manifestazione
in cui viene
presentata la
pubblicazione
Data per esteso della
pubblicazione o
dell’evento
Città in cui viene
presentata la
pubblicazione
altrimenti
Stato della città
Assume i valori
true/false per
indicare se la
pubblicazione va o
meno in home page
Indica l’area in cui
deve essere inserita
la pubblicazione
Tabella 2.1.f – Pubblicazioni
41
Active Web Matrix
________________________________________________________________________________
Tabella sezioni_consolle
Implementa:

l’entità SEZIONE
id_sezione
Numero contatore
Titolo
Descrizione
Stringa di caratteri
Stringa di caratteri
Home_page
Stringa di caratteri
Area
Stringa di caratteri
Identifica
univocamente la
sezione
Titolo della sezione
Breve descrizione
della sezione e dei
link che contiene
Assume i valori
true/false per
indicare se la sezione
fa parte della console
principale
Indica l’area in cui
deve essere inserita
la sezione
Tabella 2.1.g – Sezioni_console
Tabella link_sezione
Implementa:

l’entità LINK

l’associazione DI tra SEZIONE e LINK
id_link
Numero contatore
id_sezione
Intero
Nome
Stringa di caratteri
URL
Stringa di caratteri
Num_ordine
Stringa di caratteri
Identifica
univocamente il link
Identificativo della
sezione a cui
appartiene il link
Nome del link che
appare nel menu
URL a cui punta il
link
Numero d’ordine
progressivo del link
all’interno della
sezione
Tabella 2.1.h – Link_sezione
VINCOLI
Chiavi esterne:
-
id_sezione
riferimento id_sezione in sezioni_consolle
Tabella vc
42
Active Web Matrix
________________________________________________________________________________
Implementa:

l’entità VC

l’associazione DI tra VC e COMPANY
id_VC
Numero contatore
VC_name
description
VC_version
year
Stringa di caratteri
Stringa di caratteri
Stringa di caratteri
data
Gate_IN
Gate_OUT
VC_IP
Stringa di caratteri
Stringa di caratteri
Stringa di caratteri
note
Stringa di caratteri
status
Stringa di caratteri
Id_company
Numero
Costituisce la chiave
primaria della tabella
Nome del VC
Descrizione del VC
Versione del VC
Data di rilascio della
versione
Porta di ingresso
Potta di uscita
Indirizzo IP della
macchina su cui è in
esecuzione il VC
Note tecniche relative
al VC
Status del VC
(attivato,
disattivato,…)
Id della company che
ha prodotto il VC
Tabella 2.1.m – VC
43
Active Web Matrix
________________________________________________________________________________
VINCOLI
Chiavi esterne:
-
id_company
riferimento id_company in company
Tabella company
Implementa:

l’entità COMPANY
id_company
Numero contatore
company_name
address
Stringa di caratteri
Stringa di caratteri
city
zip_code
phone
Stringa di caratteri
Stringa di caratteri
Stringa di caratteri
Contact_A_name
Stringa di caratteri
Contact_B_name
Stringa di caratteri
Tel_contact_A
Stringa di caratteri
Tel_contact_B
Stringa di caratteri
Fax_contact_A
Stringa di caratteri
Fax_contact_B
Stringa di caratteri
Email_contact_A
Stringa di caratteri
Email_contact_B
Stringa di caratteri
Web_pages
Stringa di caratteri
Costituisce la chiave
primaria della tabella
Nome della company
Indirizzo della
company
Città della company
CAP
Numero di telefono
della company
Nome della persona
addetta ai contatti
con gli utenti
Nome della persona
addetta ai contatti
con gli utenti
Telefono della persona
addetta ai contatti
Telefono della persona
addetta ai contatti
Fax della persona
addetta ai contatti
Fax della persona
addetta ai contatti
email della persona
addetta ai contatti
email della persona
addetta ai contatti
Link al sito della
company
Tabella 2.1.m – Company
44
Active Web Matrix
________________________________________________________________________________
Tabella purchasing
Implementa:

l’associazione ACQUISTO tra VC e UTENTE
id_user
Numero
id_VC
Numero
Kind
Stringa di caratteri
Id dell’utente che ha
acquistato il VC,
insieme a id_VC
costituisce chiave
primaria
Id del VC acquistato
dall’utente, insieme a
id_user costituisce
chiave primaria
Individua quale
tipologia di utente ha
acquistato il VC
Tabella 2.1.n – Purchasing
VINCOLI
Chiavi esterne:
-
id_user
-
id_VC
riferimento id_user nel DB degli utenti
riferimento id_VC in VC
La documentazione di progetto.
Tabella documenti
Implementa:

l’entità DOCUMENTO

l’associazione COMPILER tra DOCUMENTO e UTENTE

l’associazione VALIDATOR tra DOCUMENTO e UTENTE

l’associazione APPROVER tra DOCUMENTO e UTENTE

l’associazione DI tra DOCUMENTO e ENTE

l’associazione DI tra DOCUMENTO e TASK
id
Numero Contatore
codice_doc
Stringa di caratteri
45
Id del documento,
costituisce la chiave
primaria della
tabella.
Codice alfanumerico
univoco del documento,
costruito secondo lo
standard.
Active Web Matrix
________________________________________________________________________________
classificazione
Stringa di caratteri
ente
Stringa di caratteri
num_task
Numero
contratto
titolo
abstract
Stringa di caratteri
Stringa di caratteri
Stringa di caratteri
annotazioni
Stringa di caratteri
autori
Stringa di caratteri
status
Stringa di caratteri
num_pagine
Numero
nome_file
Stringa di caratteri
dimensione
Numero
ftp_server_http
Stringa di caratteri
revisione
Numero
data
Data
compiler
Stringa di caratteri
validator
Stringa di caratteri
approver
Stringa di caratteri
allegato
Stringa di caratteri
dist_list
Stringa di caratteri
Classificazione del
documento, assume i
valori P,R,C.
Id dell’ente a cui
appartiene il
documento.
Codice del task a cui
appartiene il
documento.
Numero di contratto.
Titolo del documento.
Breve descrizione dei
contenuti del
documento.
Note relative al
documento.
Lista degli autori del
documento,gli autori
sono separati da un
“;” seguito da uno
spazio, per ogni
autore si indica nome
e cognome.
Status del documento,
assume i valori
working, draft e
final.
Numero di pagine del
documento.
Nome del file
(documento in formato
elettronico).
Dimensione del file in
byte.
Indirizzo IP della
macchina da cui è
stato inserito il
documento.
Numero progressivo di
revisione (0,1,…).
Data di inserimento,
modifica e
approvazione del
documento.
User id dell’utente
che ha compilato il
documento.
User id dell’utente
che ha validato il
documento.
User id dell’utente
che ha validato il
documento.
Nome di un eventuale
file allegato al
documento.
Lista di distribuzione
per i documenti
classificati C, gli
user id degli utenti
sono separati da “;”.
Tabella 2.1.p – Documenti
46
Active Web Matrix
________________________________________________________________________________
VINCOLI
Chiavi esterne:
-
ente
riferimento code in ente
-
num_task
riferimento task_num in task
-
compiler
riferimento user_id in utente
-
validator
-
approver
riferimento user_id in utente
riferimento user_id in utente
Tabella ente
Implementa:

l’entità ENTE
code
Stringa di caratteri
name
Stringa di caratteri
nationality
Stringa di caratteri
address
Stringa di caratteri
city
Stringa di caratteri
cap
Stringa di caratteri
Codice
dell’organizzazione,
chiave.
Nome
dell’organizzazione.
Stato in cui si trova
l’organizzazione.
Indirizzo
dell’organizzazione.
Città
dell’organizzazione.
CAP.
Tabella 2.1.q – Ente
Tabella task
Implementa:

l’entità TASK
task_num
Numero
task_name
Stringa di caratteri
Codice del task,
chiave.
Nome del task.
Tabella 2.1.r – Task
Tabella utenti
Implementa:

l’entità UTENTI (STAFF)

l’associazione DI tra UTENTE e ENTE
47
Active Web Matrix
________________________________________________________________________________
User_id
Stringa di caratteri
password
Ente
Stringa di caratteri
Stringa di caratteri
Cognome
Nome
Indirizzo
Telefono
Email
Profilo
P
Stringa
Stringa
Stringa
Stringa
Stringa
Stringa
Stringa
R
Stringa di caratteri
C
Stringa di caratteri
di
di
di
di
di
di
di
caratteri
caratteri
caratteri
caratteri
caratteri
caratteri
caratteri
User_id dell’utente,
chiave.
Password dell’utente.
Codice
dell’organizzazione a
cui appartiene
l’utente.
Cognome dell’utente.
Nome dell’utente.
Indirizzo dell’utente.
Telefono dell’utente.
email dell’utente.
Profili dell’utente.
Autorizzazione alla
visione dei documenti
classificati P
(true/false).
Autorizzazione alla
visione dei documenti
classificati R
(true/false).
Autorizzazione alla
visione dei documenti
classificati C
(true/false).
Tabella 2.1.s – Utente (staff)
Tabella msg_doc
Implementa:

l’entità MESSAGGIO

l’associazione INCLUSIONE tra MESSAGGIO e DOCUMENTO
CodMsg
Numero Contatore
data
ora
destinatari
Stringa di caratteri
Stringa di caratteri
Stringa di caratteri
doc_allegato
Stringa di caratteri
testo
Stringa di caratteri
Codice progressivo del
messaggio, chiave.
Data di invio.
Ora di invio.
Lista dei destinatari
(user id) separati da
un “;”.
codice del documento a
cui si riferisce il
messaggio.
Testo del messaggio.
Tabella 2.1.t – Msg_doc
VINCOLI
Chiavi esterne:
-
doc_allegato
riferimento codice_doc in documenti
48
Active Web Matrix
________________________________________________________________________________
1.1.4. Progettazione fisica
Lo schema fisico della base di dati è stato implementato secondo le strutture dati previste a livello di
progetto in 2.1.3. Di seguito riportiamo le strutture delle directory appositamente create come
supporto al database11 nel caso di applicazione centralizzata.
http_doc
Pagine HTML, ASP, …
directory
operazioni
file
Pagine ASP
database
db1
news
MM
seminari
<seminario1>
<sezione1>
<intervento1>
slides
<interventox>
<sezionex>
doconline
Pagine ASP
DB_doc
documents
file
attachments
file
Figura 2.6.a – Struttura delle directory e dei file (caso centralizzato)
AWM è stata progettata per poter operare in un ambiente distribuito,la figura 2.6.b mostra un
possibile esempio di architettura distribuita per i database, le directory e le applicazioni di supporto.
11
In questa fase della progettazione non viene preso in considerazione nessun sistema operativo, sono descritti solo i
dati del generico file system che sono di supporto alla base di dati.
49
Active Web Matrix
________________________________________________________________________________
Web Server 1
Web Server 2
http_doc
Database
http_doc
Pagine
HTML,ASP
OPERAZIONI
Network
http_doc
NEWS, MM
http_doc
Web Server 3
Database
DOCONLINE
Web Server 4
Figura 2.6.b – Struttura delle directory (caso distribuito)
1.2. Progettazione dei moduli applicativi
In questo paragrafo sono descritte le procedure di gestione e le funzioni di interrogazione della base
di dati. Sono indicate anche le tabelle a cui si riferiscono o sono collegate.
Ogni procedura di gestione ha un nome, un identificativo, le funzioni che svolge, le tabelle
interessate, la procedura da cui è chiamata e quelle che chiama (livelli gerarchici), la data, l’autore,
la revisione. Per le procedure più complesse è previsto anche un flow-chart per esemplificarne il
funzionamento. Le procedure sono rappresentate mediante l’uso di schemi che seguono la
simbologia riportata di seguito.
50
Active Web Matrix
________________________________________________________________________________
PROCEDURA DI GESTIONE
PROCEDURA DI CONSULTAZIONE
A
B
rappresenta la
procedura di
gestione
(inserimento,
cancellazione,
modifica)
rappresenta la
procedura di
consultazione
(usata nella
gestione)
rappresenta il fatto
che A chiama B
Figura 2.7 – Simbologia per le procedure
Per le funzioni di interrogazione indichiamo il nome, il codice, la descrizione, le tabelle coinvolte, i
parametri, i campi di visualizzazione, quelli di join, le condizioni e la stringa SQL.
1.2.1. Funzioni di gestione e relative procedure
Le figure che seguono schematizzano le funzioni di gestione di ogni modulo di AWM. Partendo dal
menu principale è possibile accedere a tali funzioni.
51
Active Web Matrix
________________________________________________________________________________
MENU
GESTIONE
INTERROGAZIONE
Figura 2.8.a – Menu generale
GESTIONE
NEWS
DOCUMENTAZIONE
MULTIMEDIA
HOME PAGE
MENU
SEMINARI
PUBBLICAZIONI
Figura 2.8.b – Gestione
52
Active Web Matrix
________________________________________________________________________________
NEWS
INSERIMENTO
MODIFICA
CANCELLAZIONE
NEWS
Figura 2.8.c – Gestione news
MULTIMEDIA
INSERIMENTO
MODIFICA
CANCELLAZIONE
MULTIMEDIA
Figura 2.8.d – Gestione multimedia
53
Active Web Matrix
________________________________________________________________________________
SEMINARI
EVENTO
INTERVENTO
INSERIMENTO
CANCELLAZIONE
MODIFICA
INSERIMENTO
MODIFICA
CANCELLAZIONE
SEMINARIO
SEZIONE
INSERIMENTO
MODIFICA
SEZIONE
CANCELLAZIONE
SEMINARIO
Figura 2.8.e – Gestione seminari
PUBBLICAZIONI
INSERIMENTO
MODIFICA
CANCELLAZIONE
PUBBLICAZIONI
Figura 2.8.f – Gestione pubblicazioni
54
Active Web Matrix
________________________________________________________________________________
MENU
SEZIONE
LINK
INSERIMENTO
MODIFICA
CANCELLAZIONE
INSERIMENTO
MODIFICA
CANCELLAZIONE
SEZIONE
SEZIONE
Figura 2.8.g – Gestione menu
HOME PAGE
MODIFICA
NEWS
HOME PAGE
SEMINARI
MULTIMEDIA
PUBBLICAZIONI
MENU
Figura 2.8.h – Gestione home page
55
Active Web Matrix
________________________________________________________________________________
DOCUMENTAZIONE
INSERIMENTO
DOCUMENTI
CARD
DOCUMENTI
REVISIONE
MODIFICA
LISTA
DOCUMENTI
CANCELLA
Figura 2.8.m – Gestione documentazione
Le tabelle che seguono riguardano le procedure di gestione della base di dati.
nome
id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Gestione_news
Gs3_N1
Gestione delle News
Gestione
Inserimento_news,
Modifica_news,
Cancella_news
20/11/2002
UA-02
ULAB-02
GM-N-0001.03.02
3
Tabella 2.2.a – Gestione News
nome
id
funzione
tabelle
chiamata_da
Inserimento_news
Gs4_N1
Inserimento di una News
NEWS
Gestione_news
56
Active Web Matrix
________________________________________________________________________________
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
20/11/2002
UA-02
ULAB-02
GI-N-0001.03.02
4
Tabella 2.2.b – Inserimento News
nome
id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Modifica_news
Gs4_N2
Modifica i dati di una
News
NEWS
Gestione_news
Selezione_news
20/11/2002
UA-02
ULAB-02
GV-N-0001.03.02
4
Tabella 2.2.c – Modifica News
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Cancella_news
Gs4_N3
Eliminazione di una News
dal database
NEWS
Gestione_news
Selezione_news
20/11/2002
UA-02
ULAB-02
GC-N-0003.00.02
4
Tabella 2.2.d – Cancella News
Nome
Id
Selezione_news
Gs5_N1
57
Active Web Matrix
________________________________________________________________________________
Restituisce la lista delle
News nel database, per
consentire la scelta della
news da modificare o
cancellare
NEWS
Modifica_news,
Cancella_news,
Gestione_home_page
Funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
20/11/2002
UA-02
ULAB-02
GS-N-0001.03.02
5
Tabella 2.2.e – Selezione News
Gestione_multimedia
Gs3_M1
Gestione dei Multimedia
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Gestione
Inserimento_multimedia,
Modifica_multimedia,
Cancella_multimedia
20/11/2002
UA-02
ULAB-02
GM-M-0001.01.02
3
Tabella 2.3.a – Gestione Multimedia
Nome
Id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
Inserimento_multimedia
Gs4_M1
Inserimento di un
Multimedia
MULTIMEDIA
Gestione_multimedia
20/11/2002
UA-02
ULAB-02
GI-M-0001.04.02
4
58
Active Web Matrix
________________________________________________________________________________
precedenza
controlli
Flow
Tabella 2.3.b – Inserimento Multimedia
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
Livello_gerarchico
Precedenza
Controlli
Flow
Modifica_multimedia
Gs4_M2
Modifica di un Multimedia
MULTIMEDIA
Gestione_multimedia
Selezione_news
20/11/2002
UA-02
ULAB-02
GV-M-0001.02.02
4
Tabella 2.3.c – Modifica Multimedia
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
Livello_gerarchico
Precedenza
Controlli
Flow
Cancella_multimedia
Gs4_M3
Cancella un Multimedia dal
database
MULTIMEDIA
Gestione_multimedia
Selezione_news
20/11/2002
UA-02
ULAB-02
GC-M-0001.02.02
4
Tabella 2.3.d – Cancella Multimedia
Nome
id
funzione
tabelle
Selezione_multimedia
Gs5_M1
Restituisce la lista dei
Multimedia nel database,
per consentire la scelta
del multimedia da
modificare o cancellare
MULTIMEDIA
59
Active Web Matrix
________________________________________________________________________________
Modifica_multimedia,
Cancella_multimedia,
Gestione_home_page
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
20/11/2002
UA-02
ULAB-02
GS-M-0001.02.02
5
Tabella 2.3.e – Selezione Multimedia
Gestione_seminario
Gs3_S1
Gestione dei Seminari
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Gestione
G_Seminario, G_Sezione,
G_Intervento
20/11/2002
UA-02
ULAB-02
GT-S-0001.06.02
3
Tabella 2.4.a – Gestione Seminari
Nome
Id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
Flow
G_Seminario
Gs4_S1
Gestione dell’evento
seminario
SEMINARI
Gestione_seminario
Inserimento_seminario,
Modifica_seminario,
Cancella_seminario
20/11/2002
UA-02
ULAB-02
GM-S-0001.06.02
4
Tabella 2.4.b – Gestione dell’ “evento” seminario
60
Active Web Matrix
________________________________________________________________________________
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
Livello_gerarchico
Precedenza
Controlli
Flow
G_Sezione
Gs4_S2
Gestione delle sezioni dei
seminari
SEMINARI,
SEZIONI_SEMINARIO
Gestione_seminari
Inserimento_sezione,
Modifica_sezione,
Cancella_sezione
20/11/2002
UA-02
ULAB-02
GM-SS-0001.06.02
4
Tabella 2.4.c – Gestione sezioni dei seminari
Nome
Id
Funzione
Tabelle
chiamata_da
chiama
data
autore
revisione
codice
Livello_gerarchico
precedenza
controlli
Flow
G_intervento
Gs4_S3
Gestione degli interventi
di una sezione di
seminario
SEMINARI,
SEZIONI_SEMINARIO,
INTERVENTI_SEZIONE
Gestione_seminari
Inserimento_intervento,
Modifica_intervento,
Cancella_intervento
20/11/2002
UA-02
ULAB-02
GM-I-0001.03.02
4
Tabella 2.4.d – Gestione interventi delle sezioni
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Inserimento_seminario
Gs5_S1
Inserimento di un
Seminario
SEMINARI
G_seminario
20/11/2002
61
Active Web Matrix
________________________________________________________________________________
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
UA-02
ULAB-02
GI-S-0001.06.02
5
Tabella 2.4.e – Inserimento Seminario
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
data
autore
revisione
codice
Livello_gerarchico
precedenza
controlli
Flow
Modifica_seminario
Gs5_S2
Modifica di un Seminario
SEMINARI
G_seminario
20/11/2002
UA-02
ULAB-02
GV-S-0001.03.02
5
Tabella 2.4.f – Modifica Seminario
Nome
Id
funzione
Tabelle
chiamata_da
chiama
data
autore
revisione
codice
Livello_gerarchico
precedenza
controlli
Flow
Cancella_seminario
Gs5_S3
Cancellazione di un
seminario
SEMINARI
G_seminario
20/11/2002
UA-02
ULAB-02
GC-S-0001.02.02
5
Tabella 2.4.g – Cancella Seminario
Nome
Id
Inserimento_sezione
Gs5_S4
62
Active Web Matrix
________________________________________________________________________________
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Inserimento di una sezione
di Seminario
SEMINARI,
SEZIONI_SEMINARIO
G_sezione
Selezione_seminario
20/11/2002
UA-02
ULAB-02
GI-SS-0001.06.02
5
Tabella 2.4.h – Inserimento Sezione di seminario
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
autore
revisione
codice
Livello_gerarchico
precedenza
controlli
Flow
Modifica_sezione
Gs5_S5
Modifica di una sezione di
un Seminario
SEMINARI,
SEZIONI_SEMINARIO
G_sezione
Selezione_seminario
20/11/2002
UA-02
ULAB-02
GV-SS-0001.06.02
5
Tabella 2.4.m – Modifica Sezione di seminario
Nome
Id
funzione
Tabelle
chiamata_da
chiama
data
autore
revisione
codice
Livello_gerarchico
precedenza
controlli
Flow
Cancella_sezione
Gs5_S6
Cancellazione di una
sezione di seminario
SEMINARI,
SEZIONI_SEMINARIO
G_sezione
Selezione_seminario
20/11/2002
UA-02
ULAB-02
GC-SS-0001.02.02
5
63
Active Web Matrix
________________________________________________________________________________
Tabella 2.4.n – Cancella Sezione di seminario
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Inserimento_intervento
Gs5_S7
Inserimento di un
intervento di sezione per
un Seminario
SEMINARI,
SEZIONI_SEMINARIO,
INTERVENTI_SEZIONE
G_intervento
Selezione_seminario
20/11/2002
UA-02
ULAB-02
GI-I-0001.06.02
5
Tabella 2.4.p – Inserimento Intervento di Sezione
Nome
Id
funzione
Tabelle
chiamata_da
chiama
data
autore
revisione
codice
Livello_gerarchico
precedenza
controlli
Flow
Modifica_intervento
Gs5_S8
Modifica di intervento di
una sezione per un
Seminario
SEMINARI,
SEZIONI_SEMINARIO,
INTERVENTI_SEZIONE
G_intervento
Selezione_seminario
20/11/2002
UA-02
ULAB-02
GV-I-0001.03.02
5
Tabella 2.4.q – Modifica Intervento di Sezione
Nome
Id
Funzione
Cancella_Intervento
Gs5_S9
Cancellazione di un
intervento per una sezione
di seminario
64
Active Web Matrix
________________________________________________________________________________
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
Livello_gerarchico
Precedenza
Controlli
Flow
SEMINARI,
SEZIONI_SEMINARIO,
INTERVENTI_SEZIONE
G_sezione
Selezione_seminario
20/11/2002
UA-02
ULAB-02
GC-I-0001.03.02
5
Tabella 2.4.r – Cancella Intervento di Sezione
Selezione_seminario
Gs6_S1
Restituisce la lista dei
Seminari nel database, per
consentire la scelta del
seminario da modificare,
cancellare; consente la
scelta del seminario per
la gestione delle Sezioni
e degli Interventi
SEMINARI
Inserimento_sezione,
Modifica_sezione,
Cancella_sezione,
Inserimento_intervento,
Modifica_intervento,
Cancella_intervento,
Gestione_home_page
Selezione_sezioni
Nome
Id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
NOTA: solo nel caso sia
chiamata da
Inserimento_intervento,
Modifica_intervento,
Cancella_intervento
20/11/2002
UA-02
ULAB-02
GS-S-0001.03.02
6
Tabella 2.4.s – Selezione Seminario
Nome
Id
Selezione_sezione
Gs7_S1
65
Active Web Matrix
________________________________________________________________________________
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Restituisce la lista delle
Sezioni nel database per
un dato seminario, per
consentire la scelta della
sezione per le operazioni
di gestione degli
interventi
SEZIONI_SEMINARIO
Selezione_Seminari
20/11/2002
UA-02
ULAB-02
GS-SS-0001.03.02
7
Tabella 2.4.t – Selezione Sezione di seminario
Gestione_pubblicazioni
Gs3_P1
Gestione delle
Pubblicazioni
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Gestione
Inserimento_pub,
Modifica_pub, Cancella_pub
20/11/2002
UA-02
ULAB-02
GM-P-0001.00.02
3
Tabella 2.5.a – Gestione Pubblicazioni
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Inserimento_pub
Gs4_P1
Inserimento di una
Pubblicazione
PUBBLICAZIONI
Gestione_pubblicazioni
20/11/2002
UA-02
ULAB-02
GI-P-00001.00.02
4
66
Active Web Matrix
________________________________________________________________________________
Precedenza
Controlli
Flow
Tabella 2.5.b – Inserimento Pubblicazioni
Nome
Id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Modifica_pub
Gs4_P2
Modifica i dati di una
Pubblicazione
PUBBLICAZIONI
Gestione_pubblicazioni
Selezione_pub
20/11/2002
UA-02
ULAB-02
GV-P-0001.00.02
4
Tabella 2.5.c – Modifica Pubblicazioni
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Cancella_pub
Gs4_P3
Eliminazione di una
Pubblicazione dal database
PUBBLICAZIONI
Gestione_pubblicazioni
Selezione_pub
20/11/2002
UA-02
ULAB-02
GC-P-0003.00.02
4
Tabella 2.5.d – Cancella Pubblicazioni
Nome
Id
Funzione
Tabelle
Selezione_pub
Gs5_P1
Restituisce la lista delle
Pubblicazioni nel
database, per consentire
la scelta della
pubbliazione da modificare
o cancellare
PUBBLICAZIONI
67
Active Web Matrix
________________________________________________________________________________
Modifica_pub,
Cancella_pub,
Gestione_home_page
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
20/11/2002
UA-02
ULAB-02
GS-P-0001.00.02
5
Tabella 2.5.e – Selezione Pubblicazioni
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Gestione_menu
Gs3_MN1
Gestione del menu
Gestione
G_sezione_menu,
G_sezione_link
20/11/2002
UA-02
ULAB-02
GT-MN-0001.00.02
3
Tabella 2.6.a – Gestione Menu
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
G_sezione_menu
Gs4_MN1
Gestione delle sezioni del
menu
SEZIONI_CONSOLLE
Gestione_menu
Inserimenti_sez_menu,
Modifica_sez_menu,
Cancella_sez_menu
20/11/2002
UA-02
ULAB-02
GM-MN-0001.00.02
4
68
Active Web Matrix
________________________________________________________________________________
Tabella 2.6.b – Gestione sezione del menu
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Inserimento_sez_menu
Gs5_MN1
Inserimento di una sezione
nel menu
SEZIONI_CONSOLLE
G_sezione_menu
20/11/2002
UA-02
ULAB-02
GI-MN-0001.00.02
5
Tabella 2.6.b – Inserimento di una sezione del menu
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Modifica_sez_menu
Gs5_MN2
Modifica di una sezione
del menu
SEZIONI_CONSOLLE
G_sezione_menu
Selezione_sez_menu
20/11/2002
UA-02
ULAB-02
GV-MN-0001.00.02
5
Tabella 2.6.c – Modifica sezione del menu
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Cancella_sez_menu
Gs5_MN3
Cancellazione di una
sezione de menu
SEZIONI_CONSOLLE
G_sezione_menu
Selezione_sez_menu
20/11/2002
UA-02
ULAB-02
GC-MN-0001.00.02
5
69
Active Web Matrix
________________________________________________________________________________
Precedenza
Controlli
Flow
Tabella 2.6.d – Cancellazione sezione del menu
Selezione_sez_menu
Gs6_MN1
Restituisce la lista delle
Sezioni del menu nel
database, per consentire
la scelta della sezione da
modificare o cancellare
SEZIONI_CONSOLLE
Modifica_sez_menu,
Cancella_sez_menu,
Gestione_home_page
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
20/11/2002
UA-02
ULAB-02
GS-MN-0001.00.02
6
Tabella 2.6.e – Selezione Sezione del menu
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
G_sezione_link
Gs4_MN2
Gestione dei link del menu
LINK_SEZIONE
Gestione_menu
Inserimento_link_menu,
Modifica_link_menu,
Cancella_link_menu
20/11/2002
UA-02
ULAB-02
GM-MN-0002.00.02
4
Tabella 2.6.f – Gestione link
Nome
Id
Funzione
Inserimento_link_menu
Gs5_MN4
Inserimento di un link nel
menu
70
Active Web Matrix
________________________________________________________________________________
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
LINK_SEZIONE
G_sezione_link
Selezione_link_menu
20/11/2002
UA-02
ULAB-02
GI-MN-0002.00.02
5
Tabella 2.6.g – Inserimento di un link
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
Livello_gerarchico
Precedenza
Controlli
Flow
Modifica_link_menu
Gs5_MN5
Modifica di un link del
menu
LINK_SEZIONE
G_link_menu
Selezione_link_menu
20/11/2002
UA-02
ULAB-02
GV-MN-0002.00.02
5
Tabella 2.6.h – Modifica link
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Cancella_link_menu
Gs5_MN6
Cancellazione di un link
del menu
LINK_SEZIONE
G_sezione_link
Selezione_link_menu
20/11/2002
UA-02
ULAB-02
GC-MN-0002.00.02
5
Tabella 2.6.m – Cancellazione link
71
Active Web Matrix
________________________________________________________________________________
Selezione_link_menu
Gs6_MN1
Restituisce la lista dei
link del menu nel
database, per consentire
la scelta dei link da
modificare o cancellare
LINK_SEZIONE
Inserimento_link_menu,
Modifica_link_menu,
Cancella_link_menu
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
20/11/2002
UA-02
ULAB-02
GS-MN-0002.00.02
6
Tabella 2.6.n – Selezione link
Gestione_home_page
Gs3_HP1
Gestione della home_page
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Gestione
Selezione_news,
Selezione_multimedia,
Selezione_seminari,
Selezione_pubblicazioni,
Selezione_sezioni_menu
20/11/2002
UA-02
ULAB-02
GM-HP-0001.00.02
3
Tabella 2.6.p – Gestione Home Page
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Modifica_Home_Page
Gs4_HP5
Modifica la home page del
sito
NEWS, MULTIMEDIA,
SEMINARI, PUBBLICAIONI,
SEZIONI_CONSOLLE
Gestione_home_page
72
Active Web Matrix
________________________________________________________________________________
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
20/11/2002
UA-02
ULAB-02
GV-HP-0002.03.02
4
Tabella 2.6.q – Modifica Home page
Gestione_doc
Gs3_D1
Gestione della
Documentazione
Nome
Id
Funzione
Tabelle
chiamata_da
Chiama
Data
Autore
Revisione
Codice
livello_gerarchico
Precedenza
Controlli
Flow
Gestione
Inserimento_doc,
Selezione_doc
20/11/2002
UA-02
ULAB-02
GM-D-0001.06.02
3
Tabella 2.7.a – Gestione Documentazione
Nome
Id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Inserimento_doc
Gs4_D1
Inserimento di un
documento
DOCUMENTI
Gestione_doc
20/11/2002
UA-02
ULAB-02
GI-D-0001.06.02
4
Tabella 2.7.b – Inserimento documento
nome
id
Selezione_doc
Gs4_D1
73
Active Web Matrix
________________________________________________________________________________
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Fornisce criteri di
ricerca per i documenti
(es. autori dei doc,
ecc…), recuperando le
informazioni dal database
DOCUMENTI
Gestione_doc
Lista_doc, Card_doc
20/11/2002
UA-02
ULAB-02
GS-D-0001.03.02
4
Tabella 2.7.c – Selezione Documenti
nome
id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Lista_doc
Gs5_D1
Lista dei documenti,
costruita in base ai
criteri di Gs4_D1
DOCUMENTI
Selezione_doc
Card_doc
20/11/2002
UA-02
ULAB-02
GL-D-0001.03.02
5
Tabella 2.7.d – Lista documenti
nome
id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
Card_doc
Gs5_D2
Card del documento scelto
in Gs5_D1
DOCUMENTI
Selezione_doc, Lista_doc
Revizione_doc,
Modifica_doc, Cancella_doc
20/11/2002
UA-02
ULAB-02
GCRD-D-0001.03.02
5
74
Active Web Matrix
________________________________________________________________________________
controlli
flow
Tabella 2.7.e – Card documenti
nome
id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Revisione_doc
Gs6_D1
Revisione del documento di
Gs5_D2
DOCUMENTI
Card_doc
20/11/2002
UA-02
ULAB-02
GR-D-0001.03.02
6
Tabella 2.7.f – Revisione documenti
nome
id
funzione
tabelle
chiamata_da
chiama
data
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
Modifica_doc
Gs6_D2
Modifica del documento di
Gs5_D2
DOCUMENTI
Card_doc
20/11/2002
UA-02
ULAB-02
GV-D-0001.03.02
6
Tabella 2.7.g – Modifica documenti
nome
id
funzione
tabelle
chiamata_da
chiama
data
Cancella_doc
Gs6_D3
Cancella il documento di
Gs5_D2
DOCUMENTI
Card_doc
20/11/2002
75
Active Web Matrix
________________________________________________________________________________
autore
revisione
codice
livello_gerarchico
precedenza
controlli
flow
UA-02
ULAB-02
GC-D-0001.03.02
6
Tabella 2.7.h – Cancella documenti
1.2.2. Funzioni di interrogazione
NEWS
Nome
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Lista delle News
Q_N001
Mostra l'elenco delle News contenute nel
database.
NEWS
Titolo
SELECT id_news,titolo FROM NEWS
Tabella 2.8.a – Lista delle News
Nome
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Dettagli di una News
Q_N002
Mostra tutte le informazioni della News
scelta tra la lista di Q_N001.
NEWS
Id_news
Titolo, Immagine_grande, Abstract, Testo,
Fonte
id_news = [PARAMETRO]
SELECT * FROM NEWS WHERE id_news =
[PARAMETRO]
Tabella 2.8.b – Dati di una News
76
Active Web Matrix
________________________________________________________________________________
MULTIMEDIA
Nome
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Lista dei Multimedia
Q_M001
Mostra l'elenco dei Multimedia contenuti
nel database.
MULTIMEDIA
Titolo
SELECT id_mm,titolo FROM MULTIMEDIA
Tabella 2.9.a – Lista dei Multimedia
Nome
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Dettagli di un Multimedia
Q_M002
Mostra tutte le informazioni del Multimedia
scelto tra la lista di Q_M001.
MULTIMEDIA
Id_mm
Titolo, Tema, Abstract, Testo, Data, Autore
id_mm = [PARAMETRO]
SELECT * FROM MULTIMEDIA WHERE id_mm =
[PARAMETRO]
Tabella 2.9.b – Dati di un Multimedia
SEMINARI
Nome
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Lista dei Seminari
Q_S001
Mostra l'elenco dei Seminari contenuti nel
database.
SEMINARI
Titolo, data
SELECT id_seminario,titolo, data FROM
SEMINARI
Tabella 2.10.a – Lista dei Seminari
Nome
Dettagli di un Seminario
77
Active Web Matrix
________________________________________________________________________________
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Q_S002
Mostra tutte le informazioni del Seminario
scelto tra il risultato di Q_S001.
SEMINARI
Id_seminario
Titolo, Abstract, Data, Real_time
id_seminario = [PARAMETRO]
SELECT * FROM SEMINARI WHERE id_seminario =
[PARAMETRO]
Tabella 2.10.b – Dati di un Seminario
Nome
Codice
Descrizione
Lista delle Sezioni di un Seminario
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Q_S003
Mostra l'elenco delle Sezioni di un
Seminario scelto tra il risultato di
Q_S001.
SEZIONI_SEMINARIO
Id_seminario
Titolo, Abstract, Soggetto, Organizzazione,
Ora_inizio, Ora_fine
id_seminario = [PARAMETRO]
SELECT * FROM SEZIONI_SEMINARIO WHERE
id_seminario = [PARAMETRO] ORDER BY
id_sezione
Tabella 2.10.c – Lista delle Sezioni di un Seminario
Nome
Codice
Descrizione
Dettagli della sezione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Q_S004
Mostra tutte le informazioni della Sezione
scelta tra la lista di Q_S003.
SEZIONI_SEMINARIO
Id_seminario, Id_sezione
Titolo, Abstract, Data, Real_time, Filmato
id_seminario = [PARAMETRO]
id_sezione = [PARAMETRO]
SELECT * FROM SEZIONI_SEMINARIO WHERE
id_seminario = [PARAMETRO] AND id_sezione =
[PARAMETRO]
Tabella 2.10.d – Dettagli di una Sezione di un Seminario
Nome
Codice
Descrizione
Icona
Lista degli Interventi di una Sezione
Q_S005
Mostra l'elenco degli interventi della
Sezione scelta tra il risultato di Q_S003.
-
78
Active Web Matrix
________________________________________________________________________________
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
INTERVENTI_SEZIONE
Id_seminario, Id_sezione
Argomento, Soggetto, Organizzazione
id_seminario = [PARAMETRO]
id_sezione = [PARAMETRO]
SELECT * FROM INTERVENTI_SEZIONE WHERE
id_seminario = [PARAMETRO] AND id_sezione =
[PARAMETRO]
Tabella 2.10.e – Lista degli Interventi di una Sezione
Nome
Codice
Descrizione
Dettagli di un Intervento di una sezione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Q_S006
Mostra tutte le informazioni
dell’Intervento scelto tra il risultato di
Q_S005.
INTERVENTI_SEZIONE
Id_seminario, Id_sezione, Id_intervento
Argomento, Soggetto, Organizzazione,
Filmato
id_seminario = [PARAMETRO]
id_sezione = [PARAMETRO]
id_intervento = [PARAMETRO]
SELECT * FROM INTERVENTI_SEZIONE WHERE
id_seminario = [PARAMETRO] AND id_sezione =
[PARAMETRO] AND id_intervento = [PARAMETRO]
Tabella 2.10.f – Dettagli di un Intervento di una Sezione
Nome
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Slide della sezione
Q_S007
Mostra le slide della Sezione scelta tra la
lista di Q_S003.
SEZIONI_SEMINARIO
Id_seminario, Id_sezione
nome_slide,num_slide,mime_type,real_time
id_seminario = [PARAMETRO]
id_sezione = [PARAMETRO]
SELECT nome_slide, num_slide, mime_type,
real_time FROM SEZIONI_SEMINARIO WHERE
id_seminario = [PARAMETRO] AND id_sezione =
[PARAMETRO]
Tabella 2.10.g – Slide di una Sezione di un Seminario
Nome
Codice
Descrizione
Icona
Slide di un Intervento
Q_S008
Mostra le slide dell’Intervento scelto tra
il risultato di Q_S005.
-
79
Active Web Matrix
________________________________________________________________________________
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
INTERVENTI_SEZIONE
Id_seminario, Id_sezione, Id_intervento
nome_slide,num_slide,mime_type,real_time
id_seminario = [PARAMETRO]
id_sezione = [PARAMETRO]
id_intervento = [PARAMETRO]
SELECT nome_slide, num_slide, mime_type,
real_time FROM INTERVENTI_SEZIONE WHERE
id_seminario = [PARAMETRO] AND id_sezione =
[PARAMETRO] AND id_intervento = [PARAMETRO]
Tabella 2.10.h – Slide di un Intervento di una Sezione
DOCUMENTI
Le interrogazioni più significative per il WBDMS sono descritte di seguito.
Nome
Codice
Descrizione
Documenti Personali
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Q_D001
Mostra l'elenco dei documenti per cui
l’utente è autore.
DOCUMENTI
autori
id,titolo,revisione
autori LIKE %[PARAMETRO]%
SELECT id,titolo,revisione,status,approver
FROM DOCUMENTI WHERE autori LIKE %
[PARAMETRO]%
Tabella 2.11.a – Lista dei documenti personali
Nome
Codice
Descrizione
Documenti Pubblici o Riservati
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Q_D002
Mostra l'elenco dei documenti classificati
P o R.
DOCUMENTI
Classificazione
id,titolo,revisione
classificazione = [PARAMETRO]
SELECT id,titolo,revisione,status,approver
FROM DOCUMENTI WHERE classificazione =
[PARAMETRO]
Tabella 2.11.b –Lista documenti classificati P o R
Nome
Documenti Confidenziali
80
Active Web Matrix
________________________________________________________________________________
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Q_D003
Mostra l'elenco dei documenti classificati
R.
DOCUMENTI
User_id
id,titolo,revisione
classificazione = ‘C’ AND
dist_list LIKE '%[PARAMETRO]%'
SELECT id,titolo,revisione,status,approver
FROM DOCUMENTI WHERE classificazione = ‘C’
AND dist_list LIKE '%[PARAMETRO]%'
Stringa SQL
Tabella 2.11.c –Lista documenti classificati C
Nome
Codice
Descrizione
Icona
Tabelle coinvolte
Parametri
Campi di Visualizzazione
Campi di Join
Condizioni
Stringa SQL
Card del Documento
Q_D004
Mostra tutte le informazioni del Documento
scelto tra la lista di Q_D001 o Q_D002 o
Q_D003.
DOCUMENTI
Id
codice_doc, classificazione, ente,
num_task, contratto, titolo, abstract,
annotazioni, autori, status, num_pagine,
nome_file, dimensione, ftp_server_http,
revisione, data, compiler, validator,
approver, allegato
id = [PARAMETRO]
SELECT * FROM DOCUMENTI WHERE id =
[PARAMETRO]
Tabella 2.11.d –Card documento
Le query per i restanti moduli, essendo ritenute meno significative, saranno omesse per brevità e
riportate in un documento specifico e corredate agli schemi E-R e alla procedure.
81
Active Web Matrix
________________________________________________________________________________
Capitolo 3
AMBIENTE DI SVILUPPO
Questo capitolo descrive brevemente i linguaggi utilizzati, alcune tecnologie prese in esame per la
realizzazione del prototipo di sito web, quindi, l’ambiente di sviluppo. Le metodologie di
progettazione e gli standard a cui si è fatto riferimento sono stati quelli adottati nel corso del
Progetto SOPHOCLES [9].
1.3. Linguaggi utilizzati per applicazioni web
1.3.1. HTML
Nato al Cern nel 1989, è “de facto” lo standard per la pubblicazione di documenti sul web.
HTML (HyperText Markup Language) si basa sul linguaggio SGML (Standard Generalized Markup
Language), utilizzato per descrivere la struttura generale di vari tipi di documenti. Non si tratta di un
linguaggio per la descrizione delle pagine come ad esempio il PostScript, né di un linguaggio
prodotto da programmi d’impaginazione. Lo scopo di HTML è mostrare il contenuto del documento
e non il suo aspetto. Separando la struttura del documento dall’aspetto, quest’ultimo si può
agevolmente e rapidamente modificare per essere adattato a scopi differenti: i documenti HTML
sono device-indipendent.
1.3.2. I limiti di HTML, possibili soluzioni
La semplicità ed al largo supporto ricevuto dai produttori di browser web, hanno determinato una
rapida diffusione dell’HTML. Tuttavia questa sua semplicità costituisce anche un limite, infatti pur
82
Active Web Matrix
________________________________________________________________________________
avendo le notevoli capacità di un ipertesto di incorporare contenuti di varia natura e di stabilire
collegamenti con altri documenti, le possibilità d’interazione con l’utente restano limitate.
Al crescente successo del Web (soprattutto nel momento in cui grandi aziende hanno visto nella rete
delle reti, un nuovo veicolo commerciale), si è accompagnato un continuo lavoro per ampliarne le
possibilità d’utilizzo e le funzionalità offerte agli utenti; in particolare si è sentita l’esigenza di
realizzare una maggiore interazione tra client e server (ad esempio la consultazione di basi di dati
remote) e di fornire all’utente contenuti più vari e meno statici. Sono state così introdotte svariate
tecnologie che introducono elementi dinamici nei siti web.
Il supporto a queste tecnologie ha comportato modifiche ai vari elementi coinvolti nell’interazione
client-server:
-
Estensione delle funzionalità del client (web browser)
-
Estensione delle funzionalità del server
-
Estensione del linguaggio HTML.
Le estensioni delle funzionalità del client e del server sono state ottenute sia con la realizzazione di
nuove versioni dei browser e dei server, sia con la realizzazione di moduli aggiuntivi, detti plug-in,
che vengono collegati, tramite opportune API, con il browser o con il server web.
Nelle tecnologie lato client, la dinamicità e l’interazione con l’utente sono gestite direttamente da
codice eseguito dal client o da un suo plug-in. È il caso degli script supportati dai browser, come
JavaScript, VBScript, ecc…, e delle Applet Java. Tutti questi sono diventati elementi standard di
una pagina web, con uno specifico supporto nel linguaggio HTML realizzato mediante l’interazione
tra oggetti HTML e script, mediante l’introduzione di nuovi tag (es. APPLET).
Nelle tecnologie lato server, il client ha un ruolo essenzialmente passivo: è il server a gestire la parte
dinamica. Le tecnologie server side, basate su protocollo HTTP, assumono particolare rilevanza
nell’ambito delle applicazioni business, sono infatti quelle che si prestano maggiormente allo
sviluppo di applicazioni web centrate sulla gestione di basi di dati. In questa categoria ritroviamo le
CGI, le Active Server Pages (ASP) di Microsoft, PHP e, in Java le Servlet e Java Server Pages
(JSP).
1.3.3. Le Active Server Pages
È una tecnologia sviluppata da Microsoft (1997) a supporto di altre sue tecnologie proprietarie,
principalmente gli oggetti ActiveX ed il linguaggio VBScript12, simile al VisualBasic (tuttavia ASP
12
Per maggiori dettagli sulle ASP e sugli oggetti ActiveX si rimanda a manuali specifici , alcuni dei quali citati nella
Bibliografia,ed al sito ufficiale Microsoft.
83
Active Web Matrix
________________________________________________________________________________
supporta anche JavaScript). L’idea base di ASP è di dare la possibilità di inserire contenuti dinamici
in una pagina Web inframmezzando il codice HTML con codice in linguaggio script che viene
eseguito dal server. Quest’esecuzione ha come effetto sia il compimento di operazioni particolari
nell’ambiente server (ad esempio la modifica di un database), sia eventualmente l’invio di dati al
client (in genere in formato HTML), che vengono inseriti nella pagina ASP al posto degli script. Gli
script, da parte loro, possono sia eseguire direttamente delle operazioni, sia utilizzare gli oggetti
ActiveX residenti sul server.
Uno script sul lato server inizia ad essere eseguito quando un browser richiede un file asp al server
Web; quest’ultimo richiama quindi l’interprete ASP, che elabora il file richiesto dall'inizio alla fine,
esegue qualsiasi comando script e invia una pagina Web al browser. Poiché gli script vengono
eseguiti sul server anziché sul client, il server Web svolge tutto il lavoro necessario per la
generazione delle pagine HTML inviate ai browser. Al browser viene restituito solo il risultato dello
script e gli utenti non possono visualizzare i comandi script che hanno creato la pagina visualizzata.
La figura 3.1 sintetizza lo schema di funzionamento di un’applicazione ASP:
Figura 3.1 – Funzionamento di un’applicazione ASP
-
Il browser richiede una pagina ASP;
-
Il Web server preleva la pagina ASP ed attiva l’interprete ASP per la
pre-elaborazione
della pagina, coinvolgendo eventualmente altri componenti presenti sul server;
-
Il risultato dell’elaborazione viene restituito al Web server;
-
il risultato dell’elaborazione viene inviato al browser tramite il protocollo HTTP.
Affinché il codice ASP possa essere interpretato, c'è bisogno che il Web server utilizzato, sia un
server Active X come ad esempio IIS o Personal Web Server (anche se per quest’ultimo ci sono
alcune limitazioni d’utilizzo).
84
Active Web Matrix
________________________________________________________________________________
1.3.4. Java: Applet e JSP
Applet
È un particolare programma Java inserito in una pagina HTML, scaricato dinamicamente dalla rete
ed eseguito dalla Java Virtual Machine del browser. Grazie al meccanismo del download
automatico dalla rete, un’Applet può essere eseguita senza la necessità di installare alcun software:
la rete diviene un canale da cui prelevare il software, ed il browser diventa il client che esegue un
programma in locale. Ad un’Applet è possibile passare parametri attraverso le pagine HTML (tag
APPLET).
Al fine di garantire un elevato margine di sicurezza, le Applet devono rispettare i vincoli imposti dal
Security Manager della macchina virtuale del browser: in particolare un’Applet non può:

Accedere in nessun modo al file system della macchina locale;

Scrivere sul server da cui proviene;

Accedere ad host diversi da quelli di provenienza.
Java Server Pages (JSP)
La tecnologia JSP s’ispira direttamente a quella ASP, con somiglianze notevoli anche nella sintassi
e nell’ipostazione generale. Rispetto alle tecnologie Microsoft, oltre ai vantaggi generici legati
all’uso di Java (potenza del linguaggio, librerie standard, …), si ha quello di una reale portabilità in
tutte le piattaforme su cui esista un’implementazione della macchina virtuale Java (ossia tutte quelle
comunemente usate).
1.3.5. Approcci misti
Oltre all’utilizzo di tecnologie client side e server side per la realizzazione di pagine dinamiche, è
possibile utilizzare delle applicazioni che presentano elementi dinamici sia sul lato server che sul
lato client.
Spesso queste tecnologie sono basate sull’uso di plug-in sia sul lato client che su quello server, che
interagiscono direttamente tra loro e si servono del client e del server solo come di una sorta di
“punto d’appoggio” per il loro funzionamento. Rientrano in questo caso l’uso congiunto di Applet e
Servlet Java13, estensioni multimediali per il web, come Real Player e Macromedia Flash.
Queste estensioni consentono al server di inviare, ed al client di ricevere suoni e animazioni, ma
soprattutto consentono al client di presentare all’utente questi contenuti attraverso specifici plug-in
13
Vedi Biblografia [20]
85
Active Web Matrix
________________________________________________________________________________
che visualizzano l’animazione o leggono un file di suoni e lo inviano, opportunamente elaborato,
alla scheda sonora.
1.3.6. Connessioni ai Database Access e Oracle con lo standard ODBC
Il sistema ha utilizzato i DBMS MS-Access e Oracle 9i. In ambiente Win 2k le applicazioni hanno
definito le connessioni per mezzo dei driver ODBC (Open Database Connettivity) standard di
Micorsoft, mentre in ambiente Unix Solaris 5.7 questa funzione è stata affidata, dopo una serie di
test, al driver Oracle della Merant.
1.3.7. XML
L’XML è un linguaggio di markup basato su testo che fornisce informazioni di tipo strutturale e
semantico relative ai dati veri e propri. Questi “dati sui dati”, o metadati, offrono un contesto
aggiuntivo all’applicazione che utilizza i dati e consente un nuovo livello di gestione e
manipolazione delle informazioni basate su Web.
In una serie di applicazioni accessorie è previsto la generazione di file XML a seguito di sessioni di
interrogazione per mezzo di IVQSS. Tali file possono essere recuperati dal sistema in alternativa ad
una nuova interrogazione. Tale standard è particolarmente adatto per una serie di servizi della CE
che necessitano di trasferire informazioni tecniche ai componenti software che nel nostro caso sono
rappresentati dai VC.
Lo standard XML risulta particolarmente utile nel caso in cui si debbano superare i limiti delle
strutture dati complesse definite (atomizzate) in terza e/o quarta forma normale dove è prevista per
più entità la molteplicità dei campi come nel caso di un utente con più indirizzi, numeri di telefono,
ecc.
1.4. L’ambiente di sviluppo del primo prototipo
In questo paragrafo è descritto l’ambiente di sviluppo, presente in ENEA, utilizzato nella fase
d’implementazione del prototipo.
L’hardware utilizzato, con le sue principali caratteristiche è descritto nella tabella 3.1.a.
Nome
Indirizzo IP
Sistema Operativo
86
Caratteristiche
Ruolo
Active Web Matrix
________________________________________________________________________________
Server FAD
192.107.71.126
MS Windows 2000
Server (service pack 3)
Web-DB
192.107.74.199
Multimedia
192.107.74.200
MS Windows 2000
Professional (service
pack 2)
MS Windows 2000
Professional (service
pack 2)
P600f
192.107.78.52
MS Windows 98 SE
PC portatile
IP dinamico
Apollo
192.107.93.5
MS Windows 2000
Professional (service
pack 2)
Unix
2 x PIII 1.0 GHz
RAM 1024 MB
2 HD 40 GB
PIV 1.5 GHz
RAM 256
HD 40 GB
PIV 1.5 GHz
RAM 512
HD 40 GB
PIII 800 MHz
RAM 128 MB
HD 40 GB
PIII 1.0 GHz
RAM 256 MB
HD 40 GB
Server, server
web (IIS)
PC di sviluppo
con server IIS
PC
multimediale
con scheda di
streaming e
acquisizione
video
PC client
PC client/
server per
demo
Server Oracle
Tabella 3.1.a – Configurazione Hardware del laboratorio
La tabella 3.1.b descrive le altre attrezzature di laboratorio utilizzate.
Nome
PC115
MiniVHS
Video Proiettore
Marca
SONY
Philips
CANON
Schermo
Web Cam
Microfono Radio
Mixer
SA
Philips
Sennhaiser, SONY
HIF
Sistema Operativo
MS-Win 2k
Caratteristiche
DIGITALE
Ruolo
Video
Video
MS-Win 2k
1500 a.l.
1024x768 DLP
2x2 Mt.
USB
Video
Video
Audio
Audio
Tabella 3.1.b – Attrezzatura di laboratorio
La rete presente in ENEA e utilizzata in questa fase è una rete a 100 Mbps (Fast Ethernet, standard
802.3u) su protocollo TCP/IP.
87
Active Web Matrix
________________________________________________________________________________
I vari ambienti software a disposizione sono indicati in tabella 3.2.
Tipologia
Web Server
Software
IIS 5.0
Apache Tomcat
Linguaggi per le applicazioni su
web-server
ASP, VbScript, Jscript,
JavaScript
Java (JDK 1.4.0)
DBMS
MS Access
DBMS
Oracle
Applicazioni
Real Player
Real Server
Real Producer
Flash
Browser
Internet Explorer 5.0
Server FAD
Web-DB
Multimedia
P600f
PC portatile
Apollo
ENEA-DBA Server
Server FAD
Web-DB
Multimedia
P600f
PC portatile
Server FAD
Web-DB
Multimedia
P600f
PC portatile
Server FAD
Web-DB
Multimedia
P600f
PC portatile
Server FAD
Web-DB
P600f
Accesso alla rete (Internet)
esterna
Accesso da Internet (rete
esterna verso rete ENEA)
PC su cui è istallato
Server FAD
Web-DB
PC portatile
Server FAD
Web-DB
PC portatile
Firewall
Tabella 3.2 – Software
Per questa prima fase di sviluppo e test, come web-server è stato utilizzato Internet Information
Services 5.0 (IIS), presente nell’installazione base di Windows 2000 Server. IIS supporta i linguaggi
HTML, Javascript e JScript (la versione Microsoft di JavaScript), VbScript. In particolare VbScript
è stato utilizzato per la realizzazione di pagine ASP che recuperano le informazioni dai database e
restituiscono pagine web visualizzabili dall’utenza.
All’interno della wwwroot del server, è stata creata una directory che contiene le pagine web del sito
ed i moduli che implementano le funzioni. Anche le strutture d’appoggio come i database, sono
contenute all’interno della stessa directory.
Una simile configurazione non è una scelta ottimale e definitiva, tuttavia la presenza dei database
all’interno della directory ha permesso di limitare l’architettura distribuita, ed ha favorito la
portabilità dell’applicazione da una macchina ad un’altra in particolare da quella di sviluppo (Web88
Active Web Matrix
________________________________________________________________________________
BD) a quella di produzione (Server FAD), riducendo i tempi di configurazione. È doveroso dire che
queste scelte non vanno intese come una limitazione, ma solo come una semplificazione iniziale per
la realizzazione del prototipo che mantiene intatte le sue caratteristiche di generalità.
Il DataBase Management System (DBMS) di sviluppo utilizzato è MS Access che, grazie alla sua
semplicità d’utilizzo, e ad un’interfaccia visuale di facile comprensione, ha permesso di ridurre i
tempi di realizzazione delle strutture di supporto al sistema. Sono stati fatti dei test con archivi
Oracle e driver ODBC.
Per le applicazioni multimediali quali la riproduzione dei video e lo streaming sono stati utilizzati i
seguenti prodotti:

Real Player: questo plug-in è stato utilizzato per la riproduzione dei video e per la ricezione
dello streaming;

Real Producer: questo software cattura il flusso video da un’apposita scheda d’acquisizione,
lo codifica secondo lo standard del Real Player ed in base ad alcuni parametri di
configurazione, lo trasmette al server (Real Server);

Real Server: è il server che riceve lo stream video dal Real Producer. I client Real Player si
collegano al Real Server per ricevere lo stream video.
Il Real Server ed il Real Producer possono essere in esecuzione sia sulla stessa macchina che su due
macchine differenti collegate in rete (Internet).
Le funzionalità di Flash della Macromedia sono state utilizzate per la gestione e la produzione di
demo e spot integrati con i media come nel caso della home page.
La figura 3.2.a schematizza l’ambiente di sviluppo centralizzato.
89
Active Web Matrix
________________________________________________________________________________
Server FAD
Apollo
IIS 5.0
file e dir.
Internet
DB Access
DB Oracle
firewall
Intranet ENEA
Multimedia
Client Win98/2000
Real Server
Internet Esplorer 5.0
Real Producer Real Player
Figura 3.2.a – Ambiente di sviluppo nel C.R. Casaccia
AWM è stato progettato con una struttura modulare per essere istallato e usufruito attraverso un
network di server che svolgono servizi di comunicazione indipendenti e, allo stesso tempo integrati
tra loro. AWM può quindi operare all’interno di reti in cui le pagine web ed i moduli funzionali si
trovano su uno o più web-server, mentre i database sono montati su macchine non accessibili dalla
rete esterna, protette da opportuni sistemi di sicurezza come firewall e proxy HTTP.
Il DBMS Oracle è stato utilizzato sia per la gestione dei dati relativi all’interfaccia IVQSS (Ionic
Visual Query System Server) che gestisce la parte delle pubblicazioni di AWM sia per alcuni
database di carattere riservato (Sicurezza, Dati Personali Utente, Profilo Aziende Partner, Data set
VC, Documentazione Tecnica VC, ecc.).
Nel corso della sperimentazione sono state effettuate prove in rete sia in Italia che all’estero.
Alcune prove e dimostrazioni sono state effettuate a Parigi il 13 Settembre 2002 nel corso della
prima presentazione del sistema al Technical Meeting presso THALES, uno dei partner del Progetto
SOPHOCLES. In quell’occasione furono effettuate anche prove di collegamento attraverso linea
telefonica utilizzando un modem a 56 Kbps.
90
Active Web Matrix
________________________________________________________________________________
Multimedia
Real Server
Real Producer
Apollo
Intranet
MARSIGLIA
Intranet ENEA
PC portatile
Internet
Esplorer 5.0
DB Oracle
Internet
IIS 5.0
Real Player
Client Win98/2000
file e dir.
Internet Esplorer 5.0
Server FAD
DB Access
Real Player
Figura 3.2.b – FDL ’02, Marsiglia
Successivamente, in occasione del FDL’02 tenutosi a Marsiglia il 24 Settembre 2002 AWM è stato
utilizzato e presentato al Workshop SOPHOCLES nel quale ha gestito il Web Seminar in modalità
sincrona su rete a 100 Mbps (Centro Tecnologico di Marsiglia / ENEA Casaccia).
91
Active Web Matrix
________________________________________________________________________________
Capitolo 4
IL PROTOTIPO DEL SISTEMA
Questo capitolo descrive il prototipo di AWM implementato nel periodo di stage. Si precisa che, in
base alla metodologia di progettazione seguita, sono stati sviluppati i prototipi di prima, seconda e
terza generazione che hanno portato alla versione attuale descritta in questo capitolo.
1.5. Active Web Matrix
Active Web Matrix (AVM) è l’interfaccia web attraverso la quale gli utenti possono dialogare con il
sistema.
La figura 4.1 descrive il layout del sito.
2
3
1
Figura 4.1 – Il sito Web della CE (risoluzione 1024x768)
92
Active Web Matrix
________________________________________________________________________________
L’aspetto grafico ed iconico si basa su precedenti studi ENEA14 sulle interfacce visuali, in termini di
alfabeto iconico, definizione di formati standard, valore simbolico delle icone associate a funzioni
ed interrogazioni.
Nella struttura si individuano tre elementi principali:

console di navigazione (1);

intestazione (2);

pagina web del sito (3).
Questa struttura è marcata visivamente mediante l’utilizzo di colori differenti, infatti il colore
predominate di (1) e (2) è il blu, mentre lo sfondo di (3) è bianco.
La figura 4.2 mostra lo standard grafico adottato costituito dai seguenti elementi: logo del progetto,
banner, moduli informativi utente/servizi, intestazione della sezione, sottomenu della sezione, icona
della sezione con immagine grafica.
Moduli inf. Utente/servizi
Copyright
Logo del progetto
Intestazione sezione
Banner
Figura 4.2 – Standard grafico
La figura 4.3 evidenzia le diverse aree di AWM.
14
Bibliografia [5], [6], [7], [8], [13]
93
Sottomenu
Icona
Active Web Matrix
________________________________________________________________________________
1
2
3
4
7
10
13
5
8
11
14
6
9
12
15
Figura 4.3 – Struttura a matrice
La figura 4.4 descrive l’architettura interna di Active Web Matrix, i moduli e le loro interazioni.
USER login
Registration
NEWS
E-mail
MANAGER
MULTIMEDIA
CORE
XML, HTML
IVQSS
WBDMS
CONGRESS
HOME PAGE
MANAGER
PUBLICATION
WEB
SEMINAR
Figura 4.4 – I moduli di AWM
94
Active Web Matrix
________________________________________________________________________________
La descrizione del sistema, per ogni singolo modulo, avviene nei paragrafi successivi dai seguenti
punti di vista:

vista utente, mostra il sito dal punto di vista di colui che naviga sulla rete internet e utilizza i
servizi (analisi del front-end);

vista staff, mostra le funzionalità del core-system di AWM per gli utenti dello staff che
amministrano e configurano il sito web e gestiscono i dati e le informazioni (analisi del
back-end).
Nel rispetto delle linee guida e della metodologia di progettazione adottate, vengono descritti i
principali moduli mettendo in evidenza le funzionalità, gli oggetti e le procedure di gestione.
1.5.1. Modulo News
Vista utente.
Figura 4.5.a – Pagina News
95
Active Web Matrix
________________________________________________________________________________
La consolle di destra visualizza l’elenco delle news presenti nel database eseguendo la query
Q_N001
sulla tabella news15.
I dati del frame centrale sono visualizzati per mezzo della query Q_N002.
Vista staff.
Inserimento.
Titolo della News
Breve descrizione,
inserita anche in
home page
Testo della news
Fonte
Questa opzione
permette di inserire la
news direttamente in
home page,
scegliendo l’area
Figura 4.5.b – Inserimento di una News, dati testuali
15
Le query e le procedure di gestione sono descritte in 2.2.1 e 2.2.2
96
Active Web Matrix
________________________________________________________________________________
L’inserimento avviene in due step separati.
1. Inserimento dei dati testuali mediante l’utilizzo di un form (Figura 4.6.b): l’utente compila
il form con i dati richiesti; prima dell’invio dei dati il sistema controlla la validità delle
informazioni (type matching) e se tutti i campi obbligatori sono stati compilati.
2. Invio delle immagini Questo secondo step è eseguito mediante una funzione che permette
l’invio di file dal client al server (Figura 4.5.c).
Figura 4.5.c – Inserimento di una News, invio delle immagini
Modifica.
97
Active Web Matrix
________________________________________________________________________________
Selezione della News
Dati recuperati a
fronte della selezione
Opzione per la modifica
delle immagini
Figura 4.5.d – Modifica di una News
L’operazione di modifica si compone di due passi (figura 4.5.d):
1. selezione della news da modificare;
2. modifica dei dati testuali ed eventuale upload delle immagini.
Cancellazione.
È analoga all’operazione di modifica. Si compine anch’essa di due step: il primo consiste nella
ricerca della news da eliminare, il secondo nella cancellazione dei dati dal database e delle
immagini associate. L’interfaccia è analoga a quella dell’operazione precedente.
1.5.2. Modulo Multimedia
Vista Utente.
98
Active Web Matrix
________________________________________________________________________________
Figura 4.6.a – Pagina Multimedia
In questa sezione, l’utente può vedere i video con i relativi dati quali tematica, titolo, descrizione,
… (figura 4.6.a)
La consolle di destra contiene la lista dei multimedia inseriti nel database ed è costruita
dinamicamente con la query Q_M001.
La pagina nel frame centrale è costruita mediante la query Q_M002. Nella parte inferiore del frame
centrale è presente un link alla versione del video adattata per reti a bassa velocità (tipicamente
connessioni su linea telefonica, di qui la dicitura utilizzata, 56Kbps Connection).
Vista staff.
Le operazioni d’inserimento, modifica e cancellazione per i multimedia sono analoghe alle
omonime operazioni per le news. Lo stesso vale per l’interfaccia
Inserimento:
1. inserimento dei dati testuali e indicazione del formato del video (utilizzo di un form);
2. invio di tre file video dal client al server, i file costituiscono rispettivamente:
-
video per reti ad alta velocità,
99
Active Web Matrix
________________________________________________________________________________
-
video per reti a bassa velocità,
-
video per la home page, di dimensioni ridotte.
Modifica:
1. ricerca del multimedia da modificare,
2. modifica dei dati testuali,
3. eventuale upload dei tre video.
Cancellazione:
1. ricerca del multimedia da cancellare,
2. eliminazione del record dal database,
3. eliminazione dei tre file.
1.5.3. Modulo Web Seminar
Vista utente.
Figura 4.7.a – Sezione Web Seminar
100
Active Web Matrix
________________________________________________________________________________
La sezione riporta l’elenco dei seminari On-line e Real-time nel menu di destra (query Q_S001). Nel
frame centrale sono mostrati i dettagli del seminario scelto dal menu (query Q_S002). Se l’utente
vuole assistere al seminario in diretta o vedere quello registrato, può accedere alla sessione
attraverso il link associato al titolo della sessione. Per assistere ad un seminario è tuttavia necessario
registrarsi e successivamente effettuare il login.
Figura 4.7.b. – Accesso alla sezione Web Seminar
Effettuato l’accesso al sistema, l’interfaccia che si presenta all’utente è mostrata in figura 4.7.c.
101
Active Web Matrix
________________________________________________________________________________
Figura 4.7.c – Interfaccia del modulo Web Seminar
L’interfaccia è costituita da due sezioni separate. La prima sezione fornisce una finestra video
(plug-in Real Player) in cui è trasmesso il seminario in diretta (o la replica), riporta inoltre la lista
dgli interventi della sessione. La pagina dinamica è generata utilizzando le query Q_S004 e Q_S005.
La seconda sezione mostra le immagini delle slides (query Q_S007). Per consentire all’utente di
cambiare l’immagine, sotto le slide è presente una barra di navigazione, che fornisce le funzioni di
back, next, home (per tornare alla prima slide), viene inoltre indicato il numero progressivo della
slide. Le immagini delle slide hanno lo stesso nome e sono numerate progressivamente (es.
image001.jpg, image002.jpg),
questo per consentire di effettuare solo una chiamata al database,
la prima volta che si caricano le informazioni della sezione o dell’intervento: un semplice sistema
d’incremento o decremento del numero corrente di slide, unito al normale meccanismo d’inclusione
di immagini in un documento HTML (tag IMG) permettono di passare da un’immagine alla
successiva (o precedente), senza dover accedere nuovamente al database. Questo sistema è stato
adottato per ridurre il carico del server e le connessioni alla base di dati.
Le potenzialità del modulo non si fermano alla sola funzione passiva di streaming in diretta/replica;
il modulo offre all’utente del sistema la possibilità di inviare domande alle persone che stanno
tenendo il seminario. Nel caso di trasmissione in modalità sincrona, un addetto può prendere visione
delle domande inviate e sottoporle, in tempo reale a chi sta tenendo il seminario.
Vista staff.
Le operazioni implementate per questo modulo sono:
1. inserimento di un seminario,
2. inserimento di una sezione del seminario,
3. inserimento di un intervento per una sezione,
4. inserimento di una pausa tra sezioni.
Le rispettive operazioni di modifica e cancellazione sono state progettate ma non ancora
implementate.
Di seguito riportiamo le immagini che mostrano le operazioni sopra citate.
Inserimento di un seminario.
102
Active Web Matrix
________________________________________________________________________________
Titolo
Data
Argomenti
trattati nel
seminario
Indica se il seminario è in real-time,
se non viene selezionato si assume
che è on-line
Opzione per l’inserimento in home
page
Figura 4.7.d –Inserimento di un seminario
Inserimento di una sessione per un seminario.
103
Active Web Matrix
________________________________________________________________________________
Scelta del seminario in
cui aggiungere la sessione
Sessioni già presenti per
il seminario scelto
Dati relativi alla sessione
da inserire
Gli altri campi non sono
visibili per motivi di
risoluzione
Figura 4.7.e –Inserimento di una sessione
L’inserimento di una pausa tra le sezioni avviene in modo analogo dal punto di vista funzionale e
con la stessa interfaccia.
Inserimento di un intervento per una sessione di un seminario.
È simile all’inserimento di una sessione, ma in questo caso è necessario selezionare prima il
seminario, poi la sessione e quindi inserire i dati.
Le funzioni di inserimento delle sessioni e degli interventi si avvalgono di procedure per l’invio di
file (di solito .ppt) dal client al server, questi file, in seguito, verranno convertiti in immagini (da
un operatore). Ogni procedura di inserimento crea una propria directory in base alla seguente logica:

una directory per ogni seminario;

una directory per ogni sessione, contenuta nella directory del seminario; la directory ha un nome
che indica esplicitamente il numero progressivo della sessione; al suo interno vengono inserite
le immagini corrispondenti all’intervento del chairman;
104
Active Web Matrix
________________________________________________________________________________

una directory per ogni intervento, contenuta all’interno della rispettiva sessione, con
nomenclatura analoga a quella usata per le sessioni; al suo interno vengono inserite le immagini
dell’intervento corrispondente.
La struttura del nome per le varie directory segue il seguente schema:
<id_seminario>_<id_sezione>_<id_intervento>.
1.5.4. Modulo Home page
Consolle Manager
Il consolle manager permette di gestire e configurare la consolle principale del sito (area 1 di figura
4.1).
Le operazioni implementate per questo modulo sono:
1. inserimento di una sezione della consolle,
2. inserimento di un link per una sezione,
3. modifica di un link per una sezione,
4. cancellazione di uno o più link per una sezione,
5. cancellazione di una sezione della consolle con tutti i link contenuti.
Di seguito riportiamo le immagini che mostrano le operazioni sopra citate.
Inserimento di una sezione.
105
Active Web Matrix
________________________________________________________________________________
Titolo della
sezione, utilizzato
per individuare la
sezione
Breve descrizione
Figura 4.8.a –Inserimento di una sezione della console
Inserimento di un link.
Scelta della
sezione in cui
inserire il link
Link già presenti
nella sezione e
relativo URL
Nome del link
URL del link (la
directory corrente
è quella principale
del sito)
Figura 4.8.b –Inserimento di un link
Modifica di un link.
106
Active Web Matrix
________________________________________________________________________________
Scelta della
sezione
Link presenti nella
sezione, relativi
URL e ordine
progressivo
Figura 4.8.c –Modifica di un link
Cancellazione di un link.
Scelta della
sezione da cui
cancellare il link
Link presenti nella
sezione
Figura 4.8.e –Cancellazione di un link
Cancellazione di una sezione.
L’interfaccia di questa funzione è simile alle altre, permette di scegliere la sezione da modificare e,
in base alla scelta dell’utente, mostra i link della sezione. L’immagine non viene riportata per
brevità.
107
Active Web Matrix
________________________________________________________________________________
Configurazione dell’Home page
Questo modulo consente all’utente di configurare sia la consolle che la home page del sito della
Cyber Enterprise. La figura 4.9 mostra l’interfaccia del modulo.
L’area è divisa in due parti indicate con (1) e (2).
Nella parte superiore dell’area (2) è raffigurata una griglia che schematizza Active Web Matrix.
Ogni area è individuata da un numero progressivo (sono le celle di AWM) e riporta il nome (link)
della tipologia d’informazione contenuta nella cella.
Mediante un click su una determinata cella, viene mostrata la lista dei dati contenuti nel database
per la categoria scelta (area (2) parte inferiore). Contemporaneamente, nell’area (1) viene caricata la
configurazione corrente di AWM per la cella in questione. La parte superiore di (1) mostra il set di
informazioni che sono (o possono essere) inserite in home page, corredate di layout grafico, la parte
inferiore mostra il set completo di informazioni.
Selezionando una determinata informazione dalla lista apparsa in precedenza nella parte inferiore di
(2), questa viene mostrata nell’area (1) con modalità analoghe a quanto detto sopra. Nella parte
inferiore di (1) è quindi presente il pulsante di conferma per l’inserimento. Confermando
l’operazione, il manager modifica opportunamente i database di supporto in modo da inserire il
nuovo set di informazioni nella cella indicata, sostituendolo a quello esistente.
108
Active Web Matrix
________________________________________________________________________________
1
2
Figura 4.9 – Home Page Manager
Come si evince dalla figura 4.9 ogni sequenza dell’operazione di configurazione può essere svolta
con il semplice utilizzo del mouse e, soprattutto, senza che l’utente abbia la necessità di conoscere
109
Active Web Matrix
________________________________________________________________________________
nel dettaglio al struttura dei database e del sistema. L’unico requisito che l’utente deve avere è la
conoscenza generale di AWM e della sua struttura a celle.
1.5.5. Web Based Document Management System
Il Web Based Document Management System (WBDMS) è un modulo che permette la gestione della
documentazione di progetto attraverso il web.
Il modulo non svolge soltanto le funzioni di repository ma fornisce anche gli strumenti necessari per
l’iter di validazione e approvazione della documentazione.
La definizione di uno standard per i documenti e la classificazione degli utenti costituiscono i
requisiti generali su cui si basa il WBDMS.
Per consentire la classificazione della documentazione è stato introdotto uno standard16 che deve
essere applicato a tutti i documenti “cartacei”. Questo ha permesso di definire l’insieme di
informazioni che costituscono il MDS su cui si basa il repository implementato.
Per limitare l’accesso alla documentazione sono stati introdotti differenti livelli di privacy per i
documenti. Nella definizione del MDS per il WBDMS si è tenuto conto anche di questo aspetto.
Per realizzare questo modulo si è partiti dall’analisi dei documenti che vengono prodotti in fase di
sviluppo di un progetto e si è preso in esame il processo a cui sono soggetti; si è quindi cercato di
simulare questo iter che parte dalla fase di editing per poi arrivare alla validazione passando
attraverso più fasi di revisione.
Le funzioni standard di gestione sono costituite da:
a) Inserimento. Questa operazione può essere suddivisa in due step successivi: il primo
consiste nell’inserimento dei dati che costituiscono la scheda del documento, operazione
svolta mediante l’utilizzo di un form, il secondo step consiste nell’invio del documento in
formato elettronico dal client al server. Nel secondo step il server ricava automaticamente un
insieme di informazioni dal file e le introduce nel database a corredo dei dati inseriti con il
form.
b) Modifica. Il primo passo è la ricerca del documento da modificare, il secondo è la modifica
dei dati della scheda ed, opzionalmente, la sostituzione del file.
c) Cancellazione. Come per la modifica il primo passo è la ricerca del documento da
cancellare; individuato il documento, l’operazione di cancellazione esegue in un unico step
sia l’eliminazione del record dal database, che la cancellazione del file. L’operazione di
16
Standard per la documentazione[13]
110
Active Web Matrix
________________________________________________________________________________
cancellazione è irreversibile, motivo per cui il sistema prevede un’opzione di conferma
subordinata a quella di cancellazione.
Per implementare l’iter di validazione e approvazione di un documento, le sole funzioni a b e c non
sono sufficienti; sebbene la funzione di modifica permetta di sostituire i documenti e di aggiornare i
dati del repository, l’uso di questa funzione non consente di tenere traccia delle modifiche
successive che si effettuano su un documento. Questo compito è svolto dalla funzione di
d) Revisione. La revisione nasconde al suo interno sia la funzione a che b. Ricercato il
documento da revisionare, all’utente viene restituito un form in cui sono caricati i dati del
documento; non tutti i dati del form possono essere modificati, ad esempio il numero di
revisione è imposto dal sistema. Questo primo step nasconde all’utente l’inserimento di un
nuovo record nel database. Il secondo step prevede l’inserimento del documento revisionato
che tuttavia non va a sostituire il precedente file.
Il modulo implementa anche una funzione di comunicazione attraverso la quale è possibile
comunicare agli utenti del sistema l’inserimento di un nuovo documento.
Di seguito sono riportate alcune immagini che descrivono le diverse funzioni del modulo.
111
Active Web Matrix
________________________________________________________________________________
1
2
3
Figura 4.10.a – WBDMS, visualizzazione dei documenti
La figura 4.10.a mostra l’interfaccia del modulo relativa alla funzione di visualizzazione di un
documento.
L’interfaccia17 è composta da tre aree:

Consolle funzionale (1): fornisce la funzione di ricerca (standard ed avanzata) dei documenti
ed il punto di accesso alla funzione d’inserimento di un nuovo documento; identifica anche
l’utente ed il suo profilo.

Lista dei documenti (2): fornisce la lista dei documenti ritrovati nel database a seguito di una
ricerca. Per ogni documento è riportato il titolo, la revisione e una lettera (sarà poi sostituita
da una icona nelle successive versioni) che indica lo status del documento.

Card del documento (3): riporta le informazioni dettagliate del documento; il layout
ripropone l’impostazione del frontespizio del documento “cartaceo” (vedi standard). Nella
17
L’interfaccia riprende il layout e le caratteristiche funzionali di Web-DB utilizzata per la prima volta nell’applicazione
Glossario e a seguire in GCMD per il progetto Antartide (2001 – 2002, NASA).Vedi Bibliografia [10]
112
Active Web Matrix
________________________________________________________________________________
parte inferiore della card sono visualizzati una serie di pulsanti funzionali che consentono la
modifica, revisione e cancellazione del documento. Tali pulsanti sono visibili solo nel caso
in cui l’utente che ha acceduto al sistema abbia l’autorizzazione a compiere tali operazioni.
La figura 4.10.b mostra il form che consente l’operazione di inserimento.
Figura 4.10.b – WBDMS, inserimento di un documento
113
Active Web Matrix
________________________________________________________________________________
1.5.6. Gli altri moduli
Per brevità si elencano di seguito del figure relative alle altre sezioni web che non sono state
descritte nel dettaglio come le precedenti. Esse sono:

Welcome, sezione di benevenuto nel sito;

Project;

General Information;

Partners, i partner del progetto SOPHOCLES;

Publications;

Congress & Workshop.
Figura 4.11.a – Welcome
114
Active Web Matrix
________________________________________________________________________________
Figura 4.11.b – Project
115
Active Web Matrix
________________________________________________________________________________
Figura 4.11.c – General Information
116
Active Web Matrix
________________________________________________________________________________
Figura 4.11.d – Partners
117
Active Web Matrix
________________________________________________________________________________
Figura 4.11.e – Publications
118
Active Web Matrix
________________________________________________________________________________
Figura 4.11.f – Congress & Workshop
119
Active Web Matrix
________________________________________________________________________________
Figura 4.11.g – Login CE
120
Active Web Matrix
________________________________________________________________________________
Figura 4.11.h – Area staff
121
Active Web Matrix
________________________________________________________________________________
Figura 4.11.m – Catalogo VC
122
Active Web Matrix
________________________________________________________________________________
Figura 4.11.n – Link
123
Active Web Matrix
________________________________________________________________________________
Figura 4.11.p – User Registration
124
Active Web Matrix
________________________________________________________________________________
Capitolo 5
CONCLUSIONI E FUTURI SVILUPPI
Questo capitolo descrive i risultati raggiunti e validati con una serie di test d’usabilità sul prototipo
che hanno visto la partecipazione di gruppi di utenti. Tali test sono stati realizzati secondo la
metodologia usata per altri sistemi progettati e sviluppati in ENEA e Università di Roma.18 In base a
tale sperimentazione e validazione è stata data una valutazione finale del prototipo e sono state
delineate alcune fasi di sviluppo successive.
1.6. Test di validazione
I test di validazione presi in considerazione per Active Web Matrix riguardano sia gli aspetti
funzionali del sistema, nel suo complesso, che quelli specifici dei moduli che lo compongono.
Nel corso della validazione, i tipi di test che si è ritenuto idoneo utilizzare sono stati quelli basati
sull’osservazione dell’utente durante lo svolgimento di compiti assegnati, che riguardano le
principali funzionalità offerte dal sistema in esame.
In generale, i test hanno riguardato anche gli aspetti visivi delle interfacce, in termini, di: struttura
grafica, icone, multimedia e animazioni.
Possiamo considerare come prima misura il tempo necessario all’utente per eseguire un determinato
compito (task performing time), come seconda misura consideriamo il numero di errori commessi
dall'utente nell’esecuzione di un task, come terza misura, infine, si considera il numero di
suggerimenti o aiuti che l’utente richiede o di cui necessita per compiere il task.
Inoltre, è opportuno considerare, nella valutazione dell’usabilità del sistema, un indice di
soddisfazione dell’utente nell’esecuzione del compito.
Le sessioni di test sono state classificate in base al modulo da testare e alla funzione specifica
(es.gestione/inserimento, interrogazione/query, ecc.) da eseguire. Gli utenti hanno svolto i test con
compiti assegnati da portare avanti con e senza un’assistenza diretta.
Per ogni test, quindi, è prevista una scheda lavoro e una scheda metrica.
18
Vedi Bibliografia [6]
125
Active Web Matrix
________________________________________________________________________________
Le sessioni di test per l’attuale versione del prototipo sono state articolate nei seguenti task:

Inserimento, variazione e cancellazione di una news;

Registrazione utenza;

Inserimento variazione e cancellazione di un multimedia;

Utilizzo del Home Page Manager;

Web Seminar;

Inserimento, variazione, cancellazione, revisione, validazione di un documento con il
WBDMS.
Alla fine della sessione, sono stati riportati i dati dei parametri presi in esame nella schede di test e
sono state richieste all’utente indicazioni di carattere qualitativo al fine di calcolare un indice di
accettazione qualitativa per i moduli testati.
I test di usabilità sono stati condotti sui seguenti tre gruppi di utenti:

Gruppo A – Utenti finali

Gruppo B – Utenti esperti in Informatica

Gruppo C – Operatori del sistema esperti in Informatica
Le prestazioni del sistema sono state valutate in fase di sviluppo mediante test “sul campo”, in
particolare risultano significative le esperienze di Parigi (Technical Meeting presso THALES, 13
Settembre 2002) e Marsiglia (FDL’02, 24 Settembre 2002).
Durante il Technical Meeting di Parigi sono state effettuate anche prove di collegamento attraverso
linea telefonica utilizzando un modem a 56 Kbps, in tale occasione sono stati ottenuti dei risultati
soddisfacenti, considerando i parametri di riferimento ed il divario rispetto rete utilizzata per lo
sviluppo (rete interna ENEA a 100Mbps).
Il workshop di Marsiglia può essere considerato il “test finale” per il prototipo di AWM ed in
particolare del modulo Web Seminar. Mediante l’utilizzo del sistema implementato nel prototipo, il
workshop è stato seguito in modalità sincrona da persone che non erano presenti all’incontro.
Questa esperienza, unita alla precedente di Parigi e all’analisi in fase di progettazione in ENEA,
hanno permesso di validare le scelte effettuate e contemporaneamente sono state utilizzate come test
di usabilità da parte dei progettisti del modulo. Il workshop è stato utilizzato come modello per
strutturare l’“evento seminario” e la sua suddivisione in sezioni e interventi. Il workshop di
Marsiglia ha messo in evidenza l’importanza della rapidità con cui le slide devono essere inserite
126
Active Web Matrix
________________________________________________________________________________
nel sistema nel caso di un seminario in real-time: in alcuni casi le slide sono state consegnate solo
“qualche minuto prima” della presentazione, lasciando poco tempo all’operatore per la conversione
in immagini ed inserimento nell’apposita directory associata all’intervento. La struttura delle
directory che è stata ideata per il seminario è risultata vincente, perché ha permesso in poco tempo
di individuare il punto in cui inserire le slide. È stato fondamentale anche l’apporto del modulo
client/server per invio di file realizzato in ENEA da un altro tesista19.
I test sul modulo WBDMS sono stati eseguiti con la collaborazione di un gruppo di utenti del
progetto CASCADE (progetto a cui l’ENEA collabora). Il modulo è stato inserito, grazie alla sua
indipendenza strutturale e funzionale, all’interno del sito web per il progetto in questione. Tale
esperimento, ha così fornito agli utenti uno strumento per la gestione della documentazione e,
contemporaneamente, ai progettisti e sviluppatori del modulo un feedback sulla correttezza e
usabilità delle funzioni e del modulo in generale.
In appendice è stata riportata una tabella riassuntiva dei risultati e dei test che hanno influito
rilevantemente sulle modifiche funzionali di AWM. In particolare, si descrivono le modifiche e le
nuove funzionalità che hanno incrementato il grado di usabilità.
L’ultima sessione di Demo, a livello internazionale, si è svolta ad Amsterdam (NL), 10-11 Ottobre
2002, in occasione 3rd ITEA Symposium - Exibition, nel quale è stato presentato AWM completo
di informazioni e multimedia.
In figura 5.1 viene mostrata la sintesi complessiva per modulo della validazione in termini di
giudizio e funzionalità del sistema.
19
S. Tiberia si è occupato in particolare della registrazione e gestione dell’utenza, e delle funzioni di comunicazione tra
la Cyber Enterprise e l’utente.
127
Active Web Matrix
________________________________________________________________________________
FUNZIONALITA'
consolle
news
multimedia
web seminar
p ubblicazioni
registrazione utente
WBDMS
home p age config.
0
1
2
3
4
5
6
7
8
9
10
GIUDIZIO
Figura 5.1 – Giudizio sul sistema
I test di tipo prestazionale effettuati sia in rete ENEA che tramite una connessione telefonica a
56Kps, hanno evidenziato alcuni limiti del sistema. In particolare, l’utilizzo di pagine ASP e
continue connessioni ai database per costruire le pagine dinamiche, nel caso di un numero elevato di
utenti, hanno appesantito notevolmente il server, con conseguente rallentamento dell’invio e
ricezione dei dati.
1.7. Considerazioni finali
I test di usabilità svolti in ENEA, insieme alle sperimentazioni di Parigi e Marsiglia hanno
consentito di valutare le funzionalità del sistema e di confermare/scartare le scelte di progetto che
sono state effettuate. Si è posta particolare attenzione alle funzionalità del sistema in rapporto alle
“richieste dell’utente”.
Sono state così studiate le funzionalità non solo del web, ma più in generale di un sito di una CE
che deve cercare di:

soddisfare le aspettative dell’utenza esterna che ricerca le informazioni;

soddisfare le aspettative dell’utenza interna (staff) che deve gestire il sistema;

gestire componenti software/servizi in ambienti eterogenei e distribuiti.
128
Active Web Matrix
________________________________________________________________________________
L’obiettivo era quello di coniugare due mondi, quello delle informazioni interne e quello delle
informazioni esterne, integrandole nello stesso ambiente. Si è cercato inoltre di semplificare le
procedure con uno sforzo di progettazione e implementazione.
La sperimentazione e osservazione del sistema che si è realizzato, è stata messa continuamente in
relazione agli utenti ed alla loro reazione, suggerimenti e richieste, così come descritto in 5.1.
La risposta alla domanda “il sistema risponde alle esigenze degli utenti?” è, in parte, data dalla
figura sul giudizio del sistema basata sui dati dei test sopra descritti.
1.8. Futuri sviluppi
Il primo momento di sviluppo futuro vedrà la portabilità di AWM per mezzo di nuovo sistema,
basato su tecnologia Java (Obiettivo di ricerca ULAB), come prossimo passo, in quanto ASP è una
tecnologia proprietaria della Microsoft e come tale è utilizzabile solo su server con sistema
operativo Windows (NT/2000, UR/3.1).
In futuro AWM potrà così operare in un qualsiasi ambiente distribuito ed eterogeneo.
Un discorso analogo vale per il DBMS. Access è sicuramente un DBMS facile da utilizzare, ma
Oracle che garantisce sia la portabilità (esistono le implementazioni per s.o. Windows e
Unix/Linux), che una maggiore robustezza e sicurezza sarà integrato con il modulo “core” del
nuovo sistema AWM-2.
AWM-2, al contrario di AWM che fa un uso massiccio dei database, sarà concepito come una
piattaforma dedicata esclusivamente al recupero dei dati ed alla produzione (tempo reale, tempo
programmato) di pagine HTML e XML da inserire in directory predefinite corrispondenti alle
sezioni del sito della CE. Tale compito è stato in parte già svolto da IVQSS, ma dovrà essere
implementato con nuove funzionalità necessarie nelle specifiche situazioni di gestione.
In futuro, sarà implementata anche una matrice attiva non predefinita multifunzione, AWM-2/MF,
che consentirà di configurare in modo libero (Solo news, solo Web news/Seminar, ecc.) la struttura
del sito. Potrà essere esplorata, vista la caratteristica di AWM di essere distribuito su più server, la
progettazione di un modulo Core che consenta anche d’integrare maggiormente moduli dedicati
all’interrogazione di basi dati e web searching come: IVQSS e SES.
129
Active Web Matrix
________________________________________________________________________________
Infine, si definirà una nuova architettura basata su 3D, ovvero, in grado di fornire servizi multipli di
Web per Cyber Enterprise.
Sito n
Sito …
Sito 2
Sito 1
Active Web
Matrix
3D
Figura 5.2 – AWM-3D
130
Active Web Matrix
________________________________________________________________________________
BIBLIOGRAFIA
[1]
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati (Seconda Edizione). McGrawHill 1999.
[2]
F. Fontana, M.L. Bargellini, R. Cannata, R. Guadagni. Cyber Enterprise definition and
specifications (Technical ReportWork Package 1). Gennaio 2002.
[3]
F. Fontana, M. Moscarini. FAD – Formazione a Distanza, Database FAD di III
Generazione, Ottobre 1999.
[4]
P. Pozzi, M. Casagni, P. De Sabbata, F. Vitali. Commercio Elettronico e XML Scenari,
tecnologie, applicazioni. (In collaborazione con ENEA) Franco Angeli 2001.
[5]
M.L.Bargellini, F.Fontana, F.M.Ferrara. VENUS: una esperienza europea per la
realizzazione di un’interfaccia visuale alle banche dati. ENEA, nota tecnica Marzo 1998.
[6]
F.Fontana,
M.L.Bargellini,
C.Bucci,
F.Ferrara,
P.A.Sottile,
L.Niccolai,
G.Scavino, R.Mancini, S.Levialdi. VENUS Project, Experimentation at ENEA's pilot site.
ESPRIT #6398, Document Id. EN-01,ENEA 1995.
[7]
F.Fontana. Interfacce visuali avanzate, linguaggio di interrogazione iconico.
ENEA Dept.Innovation, Maggio, 1997.
[8]
S. Levialdi, F.Fontana. Interfacce visuali avanzate. Sistema di Formazione a Distanza
basato su tecnologia WWW. ENEA Dip.Innovazione, 1999.
[9]
ITEA Sophocles proposal 2001.
[10]
Flavio Fontana, Marina Moscarini, MarcelloValeri. Looking for alternative ways to
query database through the Web: an iconic approach with IVQS. Web Net 2000.
131
Active Web Matrix
________________________________________________________________________________
[11]
Flavio Fontana, Marina Moscarini, Simone Moretti, Marcello Valeri. An innovative
solution to improve web database integration: IVQS a client-server iconic visual query
system. ED-Media 2002.
[12]
Flavio Fontana, Giancarlo Bongiovanni, Stefano Borghetti. Site Explorer Server: An
Integrated Client-Server Query System for Web Sites. Web Net 2000.
[13]
Flavio Fontana, Stefano Levialdi. Standard www. Edizione1996
[14]
PLUS (PROSOMA Link-Up Service)/ENEA Methodologies.
[15]
F.Fontana, F. Cappellaro. Procedure for issuing CASCADE Project documentation. ENEA
(documentazione riservata).
[16]
Web design guidelines, siti web: www.w3.org
[17]
Esempi di pagine ASP, sito web: www.aspitalia.com
[18]
D. Bochicchio. ASP 3.0 per esempi. Jackson Libri 2001.
[19]
A. Keyton Weissinger. ASP Guida di riferimento. Apogeo 2000.
[20]
A.A.V.V. Manuale pratico di Java. MokaByte s.r.l. 2001.
[21]
Maiocchi M., Quintarelli S. Internet per l'azienda. La rete delle reti al servizio
dell'impresa. Come creare e utilizzare un'Intranet e un'Extranet, come installare e sfruttare
un sito Internet, come fare marketing, pubblicità e vendita in rete. Il Sole 24 Ore, Milano,
1998.
[22]
Morelli M. Internet: l'impresa in rete, Franco Angeli, 1998.
132
Active Web Matrix
________________________________________________________________________________
[22]
F.Capobianco, M.Mosconi, L.Pagnin. Looking for convenient alternatives to forms for
querying remote databases on the Web: a new iconic interface for progressive queries.
Dipartimento di Informatica e sistemistica - Università di Pavia, 1996.
[23]
International Standards Organization DIS 9241-11, Ergonomic requirements for office work
with visual display terminals (VDTs), Part 11: Guidance on usability.
[24]
M.MacLeod, R.Bowden, N.Bevan, I.Curson. The MUSiC performance measurement
method.
[25]
T. Nguyen, V. Srinivasan. Accessing Relational Databases from the World Wide Web.
SIGMOD Conf. 1996.
[26]
C.Pancake, M.Newsome, J.Hanus. Simplifying web access to remote scientific databases.
Oregon State University, 1997.
[27]
B.Shneiderman. Designing the User Interface. Addison Wesley, 1994.
[28]
A.S.Tanenbaum. Computer Networks. Prentice Hall,1996.
[29]
H.Thimbleby. User Interface Design. Addison-Wesley.1991.
[30]
S. Anderson. Plug-in to Web Accessibility. WebAIM, Utah State University,Usa.
[31]
Marwin Britto.Thimbleby. A Web-based System to Support Technology Needs. Georgia
State University.
[32]
J. Bauer, M. Bauer. Digital Video Production for the Web. Addison-Wesley.1991.
133