ITMI991534A1 - Modello per la definizione di siti per il world wide web in grado di fornire supporto alle attivita' di specifica progettazione verifica e r - Google Patents

Modello per la definizione di siti per il world wide web in grado di fornire supporto alle attivita' di specifica progettazione verifica e r Download PDF

Info

Publication number
ITMI991534A1
ITMI991534A1 IT1999MI001534A ITMI991534A ITMI991534A1 IT MI991534 A1 ITMI991534 A1 IT MI991534A1 IT 1999MI001534 A IT1999MI001534 A IT 1999MI001534A IT MI991534 A ITMI991534 A IT MI991534A IT MI991534 A1 ITMI991534 A1 IT MI991534A1
Authority
IT
Italy
Prior art keywords
page
model
pages
sub
web
Prior art date
Application number
IT1999MI001534A
Other languages
English (en)
Inventor
Stefano Ceri
Piero Fraternali
Original Assignee
Milano Politecnico
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Milano Politecnico filed Critical Milano Politecnico
Priority to IT1999MI001534A priority Critical patent/IT1313201B1/it
Publication of ITMI991534A0 publication Critical patent/ITMI991534A0/it
Priority to EP99204320A priority patent/EP1069501A3/en
Priority to US09/466,894 priority patent/US6591271B1/en
Publication of ITMI991534A1 publication Critical patent/ITMI991534A1/it
Application granted granted Critical
Publication of IT1313201B1 publication Critical patent/IT1313201B1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Description

DESCRIZIONE
dell’ invenzione industriale dal titolo:
“Modello per la definizione di siti per il World Wide Web, in grado di fornire supporto alle attività di specifica, progettazione, verifica e realizzazione di applicazioni per il World Wide Web e metodo per la progettazione e verifica di siti Web utilizzante il modello suddetto.”
La presente invenzione si riferisce ad un modello, denominato Web Modeling Language (WebML) in grado di fornire supporto alle attività di specifica, progettazione, verifica e realizzazione di applicazioni per il World Wide Web.
Il WEB è una delle più promettenti piattaforme per lo sviluppo di applicazioni informatiche di svariato tipo.
Il WEB ospita un'ampia varietà di applicazioni, tra cui la più importante è il commercio elettronico.
In special modo le applicazioni dedicate all'acquisto di beni e servizi sono destinate ad avere uno sviluppo ed una diffusione notevole grazie all'uso del WEB tramite nuovi elettrodomestici quali la televisione digitale ed il telefono cellulare.
Risulta evidente, pertanto, l' importanza del ruolo degli strumenti di sviluppo delle applicazioni del WEB, poiché tali strumenti determinano la possibilità delle aziende di offrire nuove applicazioni per il WEB.
Il presupposto per la realizzazione di strumenti di ausilio alla costruzione di manufatti e applicazioni è la presenza di opportuni modelli che consentano la specifica dei requisiti delle applicazioni che si vogliono realizzare.
Come è noto i modelli di specifica dei siti WEB sono una evoluzione dei modelli di specifica dei dati e dei modelli di specifica degli ipertesti, dove con ipertesto si intende un testo non lineare in cui la sequenza di lettura non è prestabilita ma può seguire cammini definiti dall'utente.
Il più noto modello concettuale di specifica dei dati è il modello Entità -Relazioni, (P. Chen, "The entity-relationship: toward a unified view of data", ACM TODS, 1976, volume 1, numero 1, pagina 9-36), che introduce le nozioni di entità, attributo e relazione per descrivere le proprietà dei dati persistenti gestiti da una applicazione informatica. Il modello Entità -Relazioni non fornisce alcun costrutto per la descrizione degli aspetti legati alla pubblicazione dei dati come pagine per il WEB.
Il primo modello di descrizione di ipertesti proposto è il modello Dexter ("F.G. Halasz and M. Schwarz, The Dexter hypertext reference model, Communications of thè ACM, 1994, volume 37, numero 2, pag 30-39") che rappresenta un ipertesto come l'insieme di nodi collegati da link. Il modello di Dexter è estremamente semplificato e non consente di descrivere separatamente la struttura dati, la navigazione, la composizione dei nodi e la loro presentazione.
Il primo modello proposto espressamente per la progettazione di applicazioni ipertestuali e multimediali è HDM (Hypermedia Design Model) ("F. Garzotto, L. Mainetti, P. Paolini, Hypermedia Design, Analysis, and Evaluation Issues, Communications of thè ACM, Voi. 38, N. 8, pp. 74-86, Aug. 1995"). Questo modello ha la caratteristica di potere separare la descrizione dei dati dalla descrizione della navigazione, cioè la possibilità di spostarsi da una data pagina ad un'altra pagina, ma ha lo svantaggio di non consentire la specifica della composizione delle pagine e dei criteri di presentazione. Inoltre, le possibilità di navigazione consentite sono limitate a priori e non estensibili dal progettista.
Un secondo modello è quello di RMM ("Tomas Isakowitz, Edward Stohr, P. Balasubramanian: RMM: A Methodology for Structured Hypermedia Design,. Communications of ACM 38(8): 1995 pagine 34-44") che risulta essere una evoluzione di HDM e del modello Entità - Relazioni. Questo modello è vantaggioso per la specifica di applicazioni multimediali e per la realizzazione dei siti WEB. Anche RMM, come HDM, presenta lo svantaggio di non permette la definizione separata di navigazione, composizione e presentazione e fornisce un insieme limitato, determinato a priori, di possibili costrutti di navigazione.
Un terzo modello è quello di Araneus ("P. Atzeni, G. Mecca, P. Merialdo, To Weave thè Web, Proc. 23rd Conference on Very Large Database, Aug. 25-29, 1997, Athens, Greece, pages 206-215", e "P. Atzeni, G. Mecca, P. Merialdo : Design and Maintenance of Data-Intensive Web Sites. EDBT 1998: 436-450") che risulta essere una proposta metodologica per lo sviluppo di siti WEB basata su RMM.
Araneus contiene un linguaggio per la specifica concettuale della navigazione, detto Navigation Conceptual Model (NCM), che è una versione semplificata di RMM. Questo modello permette solo di specificare un insieme limitato di cammini di navigazione possibili. Areneus, inoltre, contiene un modello logico per la definizione delle pagine dei siti WEB, detto Araneus Data Model (ADM). Detto modello logico permette di descrivere una pagina WEB come un insieme di attributi, liste, ancore navigazionali e campi di inserimento dati. Araneus ha la limitazione di non trattare la definizione a livello concettuale degli aspetti di presentazione delle pagine WEB.
In vista dello stato della tecnica descritto, scopo della presente invenzione è quello di fornire un modello concettuale per la specifica, progettazione, verifica e realizzazione dei siti WEB.
In accordo con. la presente invenzione, tale scopo viene raggiunto mediante un modello per la progettazione, verifica e realizzazione di applicazioni per il World Wide Web (WEB) comprendente un sotto-modello strutturale ed un sotto-modello di presentazione, caratterizzato dal fatto di comprendere inoltre un sotto-modello di composizione ed un sotto-modello di navigazione.
Il sotto-modello di composizione consente di definire le pagine elementari di cui si compone un'applicazione per il WEB a partire dal modello strutturale.
Il sotto-modello di navigazione permette di definire le modalità di accesso alle pagine dell'applicazione dall'esterno e le modalità di spostamento da una pagina ad un'altra all'interno dell'applicazione.
Grazie alla presente invenzione è possibile definire in modo formale siti WEB dotati di una struttura dati arbitraria. È possibile descrivere delle configurazioni di pagine a partire da detta struttura di dati. È inoltre possibile introdurre cammini di navigazione tra le pagine e definire collezioni di oggetti per l'accesso alle pagine dall'esterno dell'applicazione. Si può anche definire una visuale complessiva del sito WEB diversa per ciascuno gruppo omogeneo di utenti od anche per ciascuno utente individuale.
Le caratteristiche ed i vantaggi della presente invenzione risulteranno evidenti dalla seguente descrizione dettagliata di una sua forma di realizzazione pratica, illustrata a titolo di esempio non limitativo negli uniti disegni, nei quali:
la figura 1 mostra l'architettura degli strumenti computerizzati per la costruzione di un sito WEB;
la figura 2 illustra la definizione del modello concettuale dei dati;
la figura 3 mostra una notazione grafica per la definizione di una pagina di dati:
la figura 4 illustra un esempio di una pagina di dati mediante una pagina WEB;
la figura 5 mostra una notazione grafica per la definizione di una pagina multi-dati;
la figura 6 illustra un esempio di una pagina multi-dati mediante una pagina WEB;
la figura 7 mostra una notazione grafica per la definizione di una pagina indice;
la figura 8 illustra un esempio di pagina indice mediante una pagina WEB;
la figura 9 mostra una notazione grafica per la definizione di una pagina di filtraggio;
la figura 10 illustra un esempio di pagina di filtraggio mediante una pagina WEB;
la figura 11 mostra una notazione grafica per la definizione di una pagina di scorrimento;
la figura 12 illustra un esempio di pagina di scorrimento mediante una pagina WEB;
la figura 13 mostra una notazione grafica per la definizione di una pagina di accesso diretto;
la figura 14 illustra una notazione grafica per la definizione di un collegamento, detto "link";
la figura 15 mostra un esempio di un link mediante una pagina WEB; la figura 16 illustra una notazione grafica per la definizione di una pagina fisica;
la figura 17 mostra un esempio di pagina fisica mediante una pagina WEB;
la figura 18 illustra una modellazione della navigazione tramite indice distaccato;
la figura 19 mostra un esempio di indice distaccato mediante pagine WEB;
la figura 20 illustra una modellazione della navigazione tramite indice nella pagina sorgente;
la figura 21 mostra un esempio di un indice nella pagina sorgente mediante una pagina WEB;
la figura 22 illustra una modellazione della navigazione tramite indice multiplo;
la figura 23 mostra un esempio di un indice multiplo mediante pagine WEB;
la figura 24 illustra una modellazione della navigazione tramite indice con filtro;
la figura 25 mostra un esempio di un indice con filtro mediante pagine WEB;
la figura 26 illustra un esempio di ipertesto con pagine logiche e fisiche creato con ilmetodo standard;
la figura 27 illustra un ipertesto logico non valido;
la figura 28 illustra un ipertesto logico valido;
la figura 29 illustra un ipertesto fisico non valido;
la figura 30 illustra un ipertesto fisico valido;
Per illustrare la presente invenzione si utilizza un caso applicativo che si colloca nel settore del commercio elettronico. Tale applicazione richiede la costruzione di un sito WEB per la pubblicazione del catalogo di prodotti di una azienda.
Il primo tipo di dati trattati da detta applicazione riguarda degli articoli appartenenti ad un catalogo, che sono descritti da un nome, un codice, un testo descrittivo, ed il prezzo. Detto articolo ha inoltre una serie di immagini ingrandite che ne mostrano ambientazioni diverse.
Il secondo tipo di dato trattato sono le offerte speciali, cioè combinazioni di prodotti vendute a un prezzo speciale. Ogni combinazione ha un nome, un codice, un’immagine descrittiva, e un prezzo.
Nel sito sono anche descritti i punti di vendita, caratterizzati da un indirizzo, una foto, una mappa che mostra dove sono dislocati, e un indirizzo di posta elettronica a cui scrivere per informazioni. .
Per una migliore comprensione dell'esposizione che segue, si fornisce qui un glossario di definizioni atte a rendere univoca l'interpretazione dei termini utilizzati.
ANCHOR (ANCORA NAVIGAZIONALE): una porzione di un testo o un'immagine legata in maniera associativa ad un altro testo mediante un collegamento ipertestuale.
ATTRIBUTE (ATTRIBUTO): un costrutto che si utilizza nella specifica dei sistemi informatici per descrivere una proprietà di un oggetto applicativo.
COLLECTION (COLLEZIONE): un costrutto WebML per la specifica dei gruppi di oggetti che in una data applicazione ha senso raggruppare.
COMPONENT (COMPONENTE): un costrutto che si utilizza nella specifica dei sistemi informatici per descrivere un oggetto applicativo facente parte di una ENTITY, la cui esistenza è legata a quella della ENTITY che lo contiene.
DATA PAGE (PAGINA DATI): un costrutto in WebML per la specifica di un insieme di dati relativi ad una ENTITY o ad una COMPONENT da pubblicarsi in una applicazione per il WEB.
ENTITY RELATIONSHIP MODEL (MODELLO
ENTITA/RELAZIONI): formalismo standard per la specifica dei dati nei sistemi informativi basato sui concetti di ENTITY, RELATIONSHIP, ATTRIBUTE.
HYPERMEDIA DESIGN MODEL - HDM_ (MODELLO DI
PROGETTO DI EPERMEDIA): notazione per la specifica di applicazioni basate su ipertesti multimediali.
HYPERTEXT MARKUP LANGUAGE - HTML (LINGUAGGIO DI
MARCATURA DI IPERTESTI): linguaggio per pubblicare documenti sul WEB.
HYPERTEXT TRANSFER PROTOCOL - HTTP (PROTOCOLLO DI
TRASFERIMENTO IPERTESTI): protocollo informatico mediante il quale due computer possono scambiarsi ipertesti multimediali. Il primo computer, detto "client", fa richiesta di un documento al secondo computer, detto "server", che analizza la richiesta e restituisce il documento, se è in suo possesso, o un messaggio di errore, se il documento non è presente o la richiesta è mal posta. .
LINK (COLLEGAMENTO IPERTESTUALE): collegamento tra HYPERTEXT.
HYPERMEDIA (IPERMEDIA): particolari ipertesti contenenti inserti multimediali.
HYPERTXET (IPERTESTO): testo non lineare in cui la sequenza di lettura non è prestabilita ma può seguire cammini definiti dall'utente. Tali cammini sono accessibili usando collegamenti tra parti del testo detti LINK.
IDENTIFIER - ID (IDENTIFICATORE): particolare attributo che ha valore univoco su un insieme di oggetti. Usato per denotare attributi che rappresentano codici secondo un particolare formato.
INDEX PAGE (PAGINA INDICE): particolare tipo di NAVIGATION PAGE in WebML.
LOGIC AL PAGE (PAGINA LOGICA): una DATA PAGE o NAVIGATION PAGE.
MARKUP LANGUAGE (LINGUAGGIO DI MARCATURA):
linguaggio capace di descrivere la struttura o le proprietà grafiche di un testo mediante speciali parole chiave, dette "marche”, inserite nel testo stesso.
MULTIDATA PAGE (PAGINA MULTIDATI): particolare tipo di NAVIGATION PAGE.
NAVIGATION PAGE (PAGINA DI NAVIGAZIONE): un costrutto in WebML per la specifica di una pagina WEB d'ausilio all'utente che desidera "spostarsi" dalla DATA PAGE di un oggetto ad un'altra DATA PAGE di un diverso oggetto.
PHYSICAL PAGE (PAGINA FISICA): un costrutto in WebML per la specifica di un gruppo di PHYSICAL o LOGICAL PAGE che devono essere mostrate contemporaneamente sullo schermo.
RELATIONSHIP (RELAZIONE): un costrutto che si utilizza nella specifica dei sistemi informatici per descrivere una relazione significativa tra oggetti applicativi.
SCROLLER PAGE (PAGINA DI SCORRIMENTO): particolare tipo di NAVIGATION PAGE.
STYLE SHEET (FOGLIO DI STILE): un costrutto in WebML per la specifica in un formato opportuno delle modalità di presentazione grafica di una PAGE.
TARGET : un costrutto che si utilizza nella specifica dei sistemi informatici per descrivere un insieme di oggetti applicativi in relazione tra loro e che definiscono un macro oggetto applicativo o una porzione significativa di una applicazione.
TEMPLATE (ARCHETIPO): archetipo di pagina Web dotato di attributi grafici ma privo di contenuto da cui possono essere derivate effettive pagine Web mediante specifica del contenuto.
TYPE (TIPO): relativo ad un attributo; indica i valori e le operazioni effettuabili sull'informazione rappresentata dall'attributo.
TYPED STYLE SHEET (FOGLIO DI STILE TIPIZZATO): particolare STYLE SHEET applicabile ad un solo tipo di pagina.
WEB applicazione per Internet che consente lo scambio di informazioni tra computer remoti.
WEB PAGE (PAGINA WEB): unità di scambio di informazione su WEB; di solito è un ipertesto scritto in HTML.
EXENDED MARKUP LANGUAGE-XML (LINGUAGGIO ESTESO
DI MARCATURA): standard per la definizione di linguaggi di marcatura per pubblicare documenti su WEB .
In figura 1 è mostrata un'architettura degli strumenti computerizzati per la costruzione di siti WEB.
Secondo quanto illustrato in tale figura il progettista 1 definisce la specifica di un sito WEB 2 e formalizza detta specifica con l’ausilio in un sistema computerizzato, detto "Modellatore di Siti Web" 3, che memorizza la specifica in modo permanente come un insieme di direttive scritte in WebML 4.
Tali direttive costituiscono l’ingresso di un sistema computerizzato, detto "Generatore di Schemi e di Tempiate" 5 che traduce la specifica WebML producendo un insieme di template 6 scritti in un opportuno linguaggio di integrazione tra basi di dati e WEB e un insieme di schemi di dati e di programmi di interrogazione per l’accesso ai dati 7.
I template 6 vengono installati sulla macchina destinata a ospitare l’applicazione WEB, dove opera un programma computerizzato detto "Server WEB con Processore di Template" 8.
Gli schemi dei dati e i programmi di interrogazione 7 vengono caricati su un sistema di gestione di basi di dati 9, collegato al Server WEB 8, e la base di dati viene popolata con i dati applicativi. Quindi il sistema WEB Server 8 viene reso accessibile agli utenti, che inviano richieste di pagine WEB 10. A fronte di queste richieste, il Server WEB 8 interpreta i tempiale 6 e preleva i dati necessari a soddisfare la richiesta dal sistema di gestione di basi di dati 9 e costruisce le pagine WEB 11 da restituire in risposta alla richiesta dell’utente.
Per definire le specifiche di un sito WEB mediante WebML il punto di partenza è la descrizione del sotto-modello strutturale, ossia dello schema concettuale dei dati. Tale definizione consente successivamente di definire le pagine del sito e la loro navigazione e presentazione, come in seguito descritto in dettaglio nelle figure successive.
WebML fornisce una notazione testuale per la rappresentazione dello schema dei dati basata sui concetti di TARGET, ENTITY, COMPONENT, ATTRIBUTE e RELATIONSHIP, come sotto esemplificato:
</ TARGET >
Un TARGET è un insieme di dati che definisce una porzione significativa del contenuto dell’ applicazione. Un TARGET è formato da una o più ENTITY (entità) collegate tra loro da RELATIONSHIP (relazione). Una di tali entità è detta entità di ingresso ("entry entity") e costituisce quell'entità' normalmente usata sul WEB come punto di partenza per accedere ai dati dell'intero TARGET. Le relazioni esprimono una connessione tra oggetti significativa dal punto, di vista dell’applicazione, per esempio il collegamento tra una combinazione e gli articoli da cui è formata. Dette relazioni possono anche collegare entità appartenenti a TARGET differenti.
Ogni entità è caratterizzata da un insieme di ATTRIBUTE (attributi). Ogni attributo ha un nome e un tipo, che descrive il contenuto ammissibile per l’attributo, ad esempio: testo, immagine, valore numerico, eco. Le entità possono anche contenere COMPONENT (componente), cioè insiemi di sottooggetti caratterizzati a loro volta da una struttura fatta di attributi e eventuali sotto-componenti. Un sotto-componente ha una durata pari a quella dell’oggetto che lo include. Pertanto se si distrugge l’oggetto contenitore si distruggono tutti gli oggetti componenti in esso racchiusi.
Gli schemi strutturali WebML possono anche essere rappresentati graficamente come nell'esempio specifico illustrato in figura 2.
Lo schema concettuale dei dati dell'applicazione di esempio contiene due TARGET: catalogo 12, detto "Catalogo Elettronico", e logistica 13, detto "Informazioni logistiche".
II TARGET catalogo 12 raccoglie le informazioni relative ad articoli e offerte e al suo interno, quindi, si trovano le entità articolo 14, detto "Articolo", e combinazione 15, detto "Combinazione", collegate mediante le relazioni "inclusoln" 16, che lega un articolo alle combinazioni in cui appare, e la relazione inversa "haAiticoli" 17, che associa ogni combinazione agli articoli di cui questa si compone.
L’entità articolo 14 contiene una serie di attributi che ne precisano le caratteristiche: nomeA 18, detto "Nome Articolo", tipoA 19, detto "Tipo", descrA 20, detto "Descrizione", prezzoA 21, detto "Prezzo", e un componente immagine 22, detto "Immagini", che serve a descrivere le eventuali immagini che mostrano l’articolo in varie ambientazioni.
L'entità combinazione 15 contiene una serie di attributi che ne precisano le caratteristiche: nomeC 23, detto "Nome", prezzoC 24, detto "Prezzo", fotoC 25, detto "Foto" e descrC 26, detto "Descrizione".
Il TARGET logistica 13 contiene un entità 150 detta “Punto Vendita”, che è caratterizzata dagli attributi nomePV 27, detto "Nome", fotoPV 28, detto "Immagine", mailPV 29, detto "Scrivici", mappaPV 30, detto "Mappa".
Un tipico sito WEB si compone di pagine scritte in un linguaggio di marcatura, come ad esempio HTML, contenenti dati e servizi e opportunamente collegate a formare una struttura ipertestuale. WebML consente di definire archetipi di pagine logiche che consentono al progettista di scegliere le modalità di pubblicazione sul WEB delle entità e dei componenti del modello dei dati. La pagine sono connesse tra di loro mediante archetipi di collegamenti, detti link, che determinano la forma dell'ipertesto.
Il principale tipo di pagina logica è costituito dalle pagine dei dati, dette "data page". Le date page consentono di esprimere le regole di composizione di pagine logiche a partire dai dati relativi a entità e componenti dello schema concettuale dei dati.
La sintassi testuale con cui si definisce una pagina logica in WebML è esemplificata come segue:
In figura 3 è illustrata una notazione grafica per una pagina di dati.
Nella figura in esame è illustrato il costrutto DATAPAGE che introduce una pagina di dati 31, chiamata "combinazioneDataPage", relativa all’entità 32, detta "Combinazione".
Una date page costituisce l’elemento minimo di pubblicazione di contenuti sul Web.
In figura 4 è mostrato un esempio di una pagina dati resa mediante una pagina WEB.
I costrutti INCLUDE, presentati nell’esempio di sintassi precedentemente scritto, precisano che quattro attributi dell’entità combinazione 32 sono utilizzati nella pagina: nomeC 33, detto "Nome", prezzoC 34, detto "Prezzo", fotoC 35, detto "Foto" e descrC 36, detto "Descrizione”. Mediante tali costrutti è anche possibile includere in una pagina solo un sotto-insieme di tutti gli attributi di un’entità o componente.
In figura 5 è mostrata una notazione grafica per la definizione di una pagina multi-dati .
Nella figura in esame è illustrato il secondo tipo di pagina definibile in WebML che prende il nome di pagina multi-dati 37, detta "multi-data page". È evidenziato il nome dell'entità o componente 38, detta "combinazione", il nome della relazione 39, detta "inclusoln", il nome della pagina multi-dati 40 detta "CombinazioneMultiDataPage” e della pagina dati 40, detta “combinazioneDataPage”, su cui poggia la pagina multi-dati.
Come una data page, mostrata in figura 3, una multi-data page determina gli attributi da utilizzarsi per pubblicare informazioni su WEB riguardo ad una entità o ad un componente. Diversamente da una data page, una multi-data page è utilizzata allo scopo di presentare più istanze di una entità o di un componente contemporaneamente.
La sintassi con cui si definisce una pagina multi-dati prevede l' impiego del costrutto MULTIDATAPAGE. Al’intemo di detto costrutto viene utilizzato un costrutto DATAPAGE contenente la specifica di una entità o di un componente a cui la pagina si riferisce e i costrutti INCLUDE come nel caso delle pagine di dati. La sintassi testuale con cui si definisce una pagina multi-dati in WebML è esemplificata come segue:
L'esempio mostra anche la possibilità di utilizzare il costrutto INCLUDEALL, che ha il significato di un insieme di costrutti INCLUDE, cioè un costrutto per ciascuno degli attributi definiti nell’entità o componente a cui la pagina si riferisce. INCLUDEALL può essere utilizzato sia per DATAPAGE che per MULTIDATAPAGE.
Le pagine multi-dati hanno una peculiarità in più rispetto alle pagine dati: l’indicazione della provenienza dell’insieme di oggetti da mostrare nella pagina. Tale indicazione è contenuta nel costrutto MULTIDATAPAGE sotto forma del nome di una relazione dello schema concettuale dei dati o di una collezione, come in seguito mostrato in dettaglio con riferimento alla figura 6.
In figura 6 è illustrata un esempio di pagina multi-dati mediante una pagina WEB.
Il costrutto MULTIDATAPAGE, esposto nell'esempio di sintassi precedentemente scritto, illustra la combinazione di più pagine dati 41, 42, 43 e 44. Ciascuna di queste pagine dati precisa i quattro attributi dell’entità combinazione 32 che sono utilizzati nella pagina dati, cioè nome 33, prezzo 34, fotografia 35, e descrizione 36.
In figura 7 è mostrata una notazione grafica per la definizione di pagina indice.
Nella figura in esame è illustrato il terzo tipo di pagina definibile in WebML che prende il nome di pagina di indice 45, detta "index page". Come una multi-data-page, una indexpage è utilizzata allo scopo di presentare più istanze di una entità o di un componente contemporaneamente. E evidenziato il nome della pagina indice 46, detta "combinazionelndexPage", e il nome della relazione da cui provengono gli oggetti da mostrare 47, detta "inclusoln".
Come in una multi-data-page, una pagina di indice è utilizzata per presentare più esemplari di una entità o di un componente contemporaneamente.
Tuttavia una pagina di indice non mostra l' intero oggetto, ma soltanto un ristretto insieme di attributi sufficienti a comporre un indice. Tali attributi prendono il nome di chiave descrittiva, detta "description key", dell’entità o del componente a cui . la pagina di indice si riferisce, come successivamente mostrato nella figura 8.
Un esempio della sintassi testuale di WebML per la definizione di una pagina di indice è mostrata di seguito:
La sintassi con cui si definisce una pagina di indice prevede l’impiego del costrutto INDEXPAGE. Alfintemo di detto costrutto viene utilizzato un costrutto DESCRIPTION contenente la specifica degli attributi da utilizzarsi come chiave descrittiva. Le pagine di indice, come quelle multi-data, contengono l’indicazione della provenienza dell’insieme di oggetti da mostrare nella pagina. Tale indicazione è contenuta nel costrutto INDEXPAGE sotto forma del nome di una relazione dello schema concettuale dei dati o di una collezione, come in seguito descritto in figura 8.
In figura 8 è illustrato un esempio di pagina di indice mediante una pagina WEB.
Una pagina di indice 48 viene rappresentata come una lista di elementi 49, 50, 51 e 52. Ogni elemento della lista rappresenta i campi della parola chiave descrittiva degli oggetti da mostrare, come "Nome" e "Prezzo".
In figura 9 è mostrata una definizione di una pagina di filtraggio .
Nella figura in esame è illustrato il quarto tipo di pagina definibile in WebML che prende il nome di pagina di filtraggio 53, detta "filter page". Una pagina di filtraggio 53 è utilizzata allo scopo di scegliere tra più istanze di una entità o di un componente quelle che soddisfano un criterio fornito dall’utente.
Un esempio della sintassi testuale di WebML per la definizione di una pagina di filtraggio è mostrato di seguito:
La sintassi con cui si definisce una pagina di filtraggio prevede rimpiego del costrutto FILTERPAGE. All'interno di detto costrutto viene utilizzato un costrutto SEARCKLATTRIBUTE contenente la specifica degli attributi di ricerca e degli operatori (maggiore, minore, compreso tra, ecc..) da usarsi nella valutazione del filtro. Le pagine di filtraggio, come le pagine di indice e multi-data, contengono l’indicazione della provenienza dell’insieme di oggetti da mostrare nella pagina.
In figura 10 è mostrato un esempio di pagina di filtraggio mediante una pagina WEB.
Una pagina di filtraggio 53 mostra una maschera di inserimento dati tramite cui l’utente può fornire dei valori per alcuni tra gli attributi degli oggetti da filtrare, tra cui 56, detto "Nome", e 57 , detto "Prezzo".
Tali attributi prendono il nome di attributi di ricerca, detti "search attributes".
Una pagina di filtraggio viene solitamente rappresentata come insieme di campi editabili 56 e 57, uno (o due nel caso della specifica di un intervallo di variabilità mediante.il predicato “between”) per ogni attributo di ricerca.
In figura 11 è illustrata una definizione di una pagina di scorrimento. Nella figura in esame è illustrato il quinto tipo di pagina definibile in WebML che prende il nome di pagina di scorrimento 58, detta "scroller page". Una scroller page è utilizzata allo scopo di "sfogliare" una ad una le pagine di un insieme di istanze. Nell’esempio, è evidenziato il nome della pagina di scorrimento 59, detta "combinazioneScrollerPage", il nome della relazione o della collezione da cui provengono gli oggetti da sfogliare 60, detta "inclusoln".
Una scroller page è utilizzata allo scopo di “sfogliare” una ad una le pagine di un insieme di istanze di una entità o di un componente. Una pagina di scorrimento contiene un insieme di comandi quali: "precedente", "successivo", "primo", "ultimo", "in_posizione_i-esima", tramite cui l’utente può percorrere l’insieme degli oggetti o saltare ad un oggetto in una data posizione nell’insieme.
Tali comandi prendono il nome di comandi di scorrimento, detti "scrolling commands".
Un esempio della sintassi testuale WebML per la definizione di una pagina di scorrimento è mostrata di seguito:
La sintassi con cui si definisce una pagina di scorrimento prevede l’impiego del costrutto SCROLLERPAGE. All'interno di detto costrutto sono visualizzati i comandi di scorrimento desiderati e la provenienza dell’insieme di oggetti da sfogliare.
In figura 12 è mostrato un esempio di una pagina di scorrimento mediante una pagina WEB.
La pagina di scorrimento 58 ha una rappresentazione che evidenzia un insieme di icone o testi brevi 59, dette ',/vVai" e "« primo < prec succ > ultimo »", cioè una per ogni comando di scorrimento abilitato, ed un'icona o testo breve 60, detta "posizione", per mostrare il numero d’ordine della pagina attualmente in usO.
In figura 13 è mostrato un esempio di una pagina ad accesso diretto. Nella figura in esame è illustrato l'ultimo tipo di pagina definibile in WebML che prende il nome di pagina di accesso diretto 61, detta "direct page". Una direct page è utilizzata per spostarsi da una pagina di un oggetto ad un'altra pagina di un altro oggetto. È evidenziato il nome della pagina di accesso diretto 62, detta "immagineDirectPage", il nome della relazione o del componente con cui individuare l’oggetto da accedere direttamente 63, nel caso d’esempio la relazione implicita tra immagine e il suo articolo definita dal componente detto "immagine".
Un esempio della sintassi testuale di WebML per la definizione di una pagina di acceso diretto è mostrata di seguito:
La sintassi con cui si definisce una pagina di accesso diretto prevede l'impiego del costrutto DERECTPAGE, al cui interno è definita la relazione o il componente da utilizzarsi per identificare l’oggetto da accedere direttamente.
Le pagine ad accesso diretto non sono rappresentate come pagine WEB a sé stanti, ma solo come riferimenti ipertestuali all’intemo di altre pagine.
In figura 14 è illustrata una definizione di un collegamento, detto "link". Le pagine dei vari tipi descritti precedentemente non sono definite isolatamente, ma devono essere collegate per formare una struttura ipertestuale. WebML fornisce il concetto di collegamento 64, detto "link", che permette di impostare strutture ipertestuali.
Nella figura in esame è illustrato il link che permette di collegare una pagina sorgente 65 con una pagina destinazione 66.
Un esempio di sintassi testuale webML per la definizione di una pagina di un collegamento è mostrata di seguito:
La sintassi prevede l'impiego del costrutto LINK al’intero della definizione di una qualunque pagina logica. Un costrutto LINK contiene un identificatore e l'indicazione della pagina destinazione cui il link "punta" In figura 15 è mostrato un esempio di un collegamento mediante pagine WEB.
Secondo quanto illustrato in tale figura si nota che la pagina dati sorgente 65, caratterizzata da quattro attributi nome 33, prezzo 34, fotografia 35 e descrizione 36, è collegata alla pagina di destinazione 66 tramite un collegamento ipertestuale 67 che viene attivato mediante un'ancora di navigazione al'intero della pagina sorgente 65. Detta pagina destinazione 66 è caratterizzata dal contenere un determinato gruppo di informazioni 68.
Mentre l' esempio di figura 15 utilizza due pagine WEB distinte, un metodo diverso è quello di mantenere sulla stessa immagine a video sia la pagina dati di sorgente 65 che la pagina di destinazione 66.
Le pagine fisiche sono degli aggregati delle pagine logiche, definite allo scopo di raccogliere su un'unica immagine a video un insieme di informazioni da presentare congiuntamente.
In figura 16 è illustrata una definizione di pagina fisica.
Secondo quanto illustrato in tale figura, una pagina fisica 69 è indicata nel suo complesso come un aggregato di una pagina logica di sorgente 65 collegata per mezzo di un link 67 ad una pagina logica di destinazione 66. Graficamente, l’aggregazione delle pagine logiche in una pagina fisica è mostrata tramite un contorno tratteggiato che le racchiude.
Un esempio della sintassi testuale per la definizione di una pagina fisica tramite due pagine logiche in WebML è mostrato di seguito:
Supponendo di voler includere queste due pagine logiche nella stessa pagina fisica, la specifica in WebML e’:
La sintassi con cui si definisce una pagina fisica prevede l'impiego del costrutto PHPAGE, il quale consente di esprimere le pagine logiche di cui la pagina fisica è costituita mediante un insieme di costrutti PAGE annidati nell’elemento PHPAGE.
In figura 17 è mostrato un esempio di pagina fisica mediante una pagina WEB.
Gli attributi 33, 34, 35 e 36 della pagina logica sorgente 65 sono posti su di un'unica immagine a video 70 insieme alle informazioni 68 della pagina di destinazione 66 in modo tale da realizzare un’unica pagina fisica 69.
Le pagine logiche e fisiche sono le fondamenta per la costruzione di un ipertesto. Esistono due differenti tipi di cammini navigazionali che possono trovarsi in un ipertesto. Un primo cammino è del tipo contestuale ed un secondo del tipo non contestuale.
Il cammino contestuale procede dalla pagina di un oggetto alla pagina di un altro oggetto a questo collegato semanticamente da una relazione dello schema concettuale dei dati. Ad esempio, la navigazione dall'articolo alla combinazione avviene nel contesto della relazione.
Il cammino non contestuale non sfrutta il contesto di una relazione tra una pagina di partenza ed una pagina di arrivo. I cammini di navigazione non contestuali richiedono la definizione di gruppi di oggetti che possano essere sfruttati per costruire indici di accesso aH’informazione. WebML mette a disposizione il concetto di collezione per definire i possibili cammini di navigazione non contestuale.
Una collezione è un insieme di oggetti raggruppati al fine di costituire un punto di accesso all’informazione dell’applicazione. Le collezioni possono anche contenere altre collezioni, in modo da definire indici di accesso gerarchici.
Un esempio della sintassi testuale per la definizione di una collezione tramite WebML è mostrata di seguito:
La sintassi con cui si definisce una collezione prevede l'impiego del costrutto COLLECTION. All'interno di detto costrutto sono contenute, oltre al nome della collezione, la popolazione della collezione. Tale popolazione può essere valutata tramite una interrogazione sui dati (omessa per semplicità negli esempi illustrativi).
Un generico cammino navigazionale, del tipo contestuale o non contestuale, può essere realizzato in modi differenti. Scopo della modellazione della navigazione è proprio quello di definire i cammini navigazionali desiderati e le configurazioni di pagine più adatte a supportarli.
Nella costruzione di cammini navigazionali, le pagine intervengono con uno tra questi ruoli: (a) Pagine di presentazione dati: servono a mostrare il contenuto di una o più istanze di entità. Sono tali le pagine di dati e di multidati. Le pagine di presentazione dati sono definite a partire da entità e componenti dello schema dei dati; (b) Pagine di supporto alla navigazione: sono definite a partire da relazioni dello schema dei dati o collezioni dello schema di navigazione e servono a supportare lo spostamento da una pagina dati ad un’altra pagina dati. Sono tali le pagine di indice, di filtraggio, di scorrimento, e di accesso diretto. Anche le pagine multi-dati svolgono un ruolo di supporto alla navigazione, oltre a quello di presentazione dei dati, perché consentono di raggiungere con un solo passo tutti gli oggetti di una collezione o collegati da una relazione ad un oggetto di partenza.
La forma generale di un cammino di navigazione alterna una pagina di presentazione dati, che risulta essere la pagina sorgente, una o più pagine di navigazione sulla medesima relazione o collezione, e infine una pagina dati che risulta essere la pagina di destinazione.
In figura 18 è illustrato una modellazione di cammino navigazionale detta “ad indice distaccato”.
Il cammino è realizzato con tre pagine logiche: la pagina di sorgente 65, che risulta essere una pagina che descrive l'oggetto di partenza, una pagina intermedia 66, che risulta essere una pagina che consente di vedere gli oggetti collegati da una relazione all'oggetto di partenza, e la pagina di destinazione 73, che mostra il contenuto dell’oggetto selezionato dall'utente.
Un esempio della sintassi testuale per la definizione di un indice distaccato tramite WebML è mostrato di seguito:
Ciascuna pagina logica viene in seguito associata ad una diversa pagina fisica. Ad esempio per la definizione tramite WebML si ha:
In figura 19 è mostrato un esempio di un indice distaccato mediante una pagina WEB. Secondo quanto illustrato in tale figura si nota che la pagina di origine 65 comprende gli attributi, 33, 34, 35 e 36, la pagina intermedia 66 comprende l’elenco di articoli collegati 68 e la pagina di destinazione 73 comprende gli attributi 18, 19, 20, 21 dell’entità articolo.
Combinando in diversi modi le pagine di navigazione e disponendole diversamente al’intemo delle pagine fisiche è possibile specificare una grande varietà di ipertesti diversi, tutti relativi al medesimo schema concettuale dei dati e al medesimo insieme di collezioni di accesso.
Un esempio per la definizione di un indice nella pagina sorgente tramite WebML è mostrata di seguito:
In figura 20 è illustrato una modellazione della navigazione tramite indice nella pagina sorgente.
Secondo quanto illustrato in tale figura si nota che in questo caso, la pagina dati di origine 65 e la pagina di indice 66 sono inserite nella medesima pagina fisica 69. La pagina indice 66 è collegata per mezzo di un link 67 alla pagina destinazione 73.
In figura 21 è mostrato un esempio di pagine Web con l'indice nella pagina sorgente; la pagina di sorgente 65 con i propri attributi 33, 34, 35 e 36 è insieme con l’indice degli articoli 66 contentente l’elenco 68, da cui è possibile visionare su una pagina fisica distinta 73 i dati di un singolo articolo 18, 19, 20 e 21.
Una applicazione importante di WebML è la definizione delle catene di navigazione. Per catena di navigazione si intende una sequenza di pagine di navigazione definite sulla medesima relazione o collezione e collegate tra loro. Le catene di navigazione consentono una più sofisticata gestione dei cammini di navigazione, specialmente in quei casi in cui la pagina di destinazione vada localizzata scegliendo tra un gran numero di oggetti. Lo scopo delle pagine di una catena di navigazione è quella di restringere in maniera graduale l’insieme degli oggetti candidati a comparire nella pagina di destinazione, consentendo all’utente una scelta prioritaria.
In figura 22 è illustrato una modellazione della navigazione tramite indice multiplo.
Secondo quanto illustrato in figura 22 si nota che l'indice multiplo è composto da una sequenza di pagine indice 74, 75 e 76, ciascuna delle quali utilizza un insieme degli attributi dell'entità o componente per formare un indice sempre più ristreto, per otenere la pagina di destinazione 73.
Infatti per la pagina 74 la chiave dell’indice è l'attributo 77 categoria della entità articolo, mentre per la pagina 75 la chiave dell’indice è l'attributo sotto-categoria 78 e per la pagina 76 la chiave dell’indice è l’attributo nome 79.
In figura 23 è mostrato un esempio di un indice multiplo tramite pagine WEB.
Secondo quanto illustrato in tale figura si nota che la pagina 74 specifica la categoria 77, mentre la pagina 75 specifica la sotto-categoria 78 e la pagina 76 specifica l'atributo nome 79. Scegliendo, pertanto, un particolare valore dell’atributo della pagina 76 si ottiene la pagina di destinazione 73 che contiene un insieme di informazioni 18, 19, 20 e 21 sull'articolo desiderato.
Una diversa applicazione del concetto di catena di navigazione è l'indice con filtro. In questo caso l'utente può formulare prima una ricerca in base al valore di alcuni attributi e poi vedere l'indice degli oggetti risultanti dalla ricerca, in modo da compiere una ulteriore cernita tra di essi.
In figura 24 è illustrato una modellazione della navigazione tramite indice con filtro.
Secondo quanto illustrato in tale figura si nota che una prima pagina fisica 80 racchiude ima pagina logica di filtraggio che definisce il tipo di filtraggio da effettuare 81, deta "ArticoloFilterPage"; questa precede una pagina indice 66, deta “ArticoloIndexPage”, in modo tale che sia possibile restringere il numero di articoli tra cui scegliere, per otenere, infine, una pagina di destinazione 73, deta “ArticoloDataPage”.
In figura 25 è mostrato un esempio di un indice con filtro mediante pagine WEB.
Secondo quanto illustrato in tale figura si nota che la pagina fisica 80, per mezzo del filtro 81, permette di raggiungere una pagina 66 contenente solo gli oggetti coerenti con il criterio di filtraggio 81, caratterizzata da un elenco 68, tramite cui è possibile ottenere una pagina di destinazione 73 con i propri attributi 18, 19, 20 e 21.
L'ultima dimensione della modellazione concettuale di un sito WEB concerne il sotto-modello concettuale di presentazione in WebML. Questo sotto-modello (non descritto nella presente invenzione) permette la specifica dello stile grafico delle pagine fisiche da rappresentarsi a video. Detto stile è funzione di criteri grafici e di impaginazione scelti dal progettista e di vincoli imposti dalla capacità di resa grafica del linguaggio di pubblicazione prescelto e dal dispositivo di accesso dell’utente.
La presentazione di una pagina fisica viene specificata mediante un foglio di stile (style sheet), che contiene un insieme di costrutti XML in grado di determinare la suddivisione dello schermo in regioni bidimensionali e l’assegnazione del contenuto da mostrare a ciascuna regione dello schermo.
Pagine logiche, link, pagine fisiche e fogli di stile consentono di modellare arbitrari siti Web a partire da arbitrari schemi dei dati. A partire da uno schema concettuale dei dati, è possibile modellare un numero quaisivolgia di siti.
Al fine di permettere la progettazione di siti personalizzati, WebML fornisce un costrutto per rappresentare una particolare versione di sito progettata per soddisfare i requisiti di una categoria di utenti. Tale costrutto prende il nome di vista del sito, detta "site view", ed è espresso in WebML mediante un elemento sintattico denominato SITEVIEW con una sintassi testuale esemplificata di seguito:
Una SITEVIEW contiene un elenco di pagine fisiche, ciascuna con un foglio di stile abbinato che ne descrive la presentazione grafica. All’intemo di una SITEVIEW il medesimo oggetto può essere rappresentato in modi diversi grazie alla possibilità di definire più pagine sullo stesso concetto.
SITEVIEW diverse possono differire per la quantità di informazione messa a disposizione dell’utente, per i cammini navigazionali offerti e per lo stile grafico della presentazione.
L’assunzione alla base del concetto di SITEVIEW è che il sistema di supporto alla esecuzione sia in grado di riconoscere il gruppo di appartenenza di ciascun utente, sia perché l’utente lo specifica di sua spontanea volontà o perché il sistema lo inferisce dal comportamento. Noto il gruppo di appartenenza, il sistema fornisce all’utente le pagine definite nella SITEVIEW associata al gruppo.
WebML viene utilizzato come strumento di modellazione di siti all’intemo di un metodo generale per l’analisi, progettazione, verifica e realizzazione di siti Web.
Tale metodo prevede la seguente serie di passi che il progettista deve svolgere: 1) analisi dei requisiti della applicazione per il WEB; 2) definizione dello schema della struttura dell’ applicazione, usando WebML; 3) definizione a partire dallo schema di struttura di cui al punto 2 e verifica di uno o più ipertesti composti di pagine logiche collegate mediante link e aggregate in pagine fisiche, usando WebML; 4) assegnazione di ciascun ipertesto a uno o più gruppi di utenti; 5) definizione della presentazione grafica delle pagine fisiche; 6) definizione della base di dati di supporto allo schema di struttura; 7) generazione e installazione dei template di pagina a partire dalla specifica WebML.
La creazione di un ipertesto a partire dallo schema di struttura è facilitata dalla presenza di un metodo standard per la creazione di un ipertesto in WebML.
Il metodo di definizione di un ipertesto standard si riassume nelle regole che seguono:
(a) per ogni entità si definisce una pagina dati che include tutti gli attributi; (b) per ogni relazione si stabilisce una coppia di cammini di navigazione ad indice distaccato tra le pagine dati delle entità associate nella relazione; (c) per ogni componente di un’entità si definisce una pagina multi-dati inclusa nella stessa pagina fisica della pagina dell’ entità o componente che contiene il componente; (d) per ogni TARGET si crea una pagina logica di indice relativa a una collezione che ha come popolazione tutte le istanze della entità di ingresso del TARGET e si include tale pagina logica in una pagina fisica separata; (e)' si definisce uri cammino di navigazione ad indice distaccato a partire dalla pagina logica di ogni sotto-collezione definita su TARGET verso la pagina dati dell’entità ingresso del TARGET; (f) si crea una collezione di collezioni che ha come sotto-collezioni tutte le collezioni definite sui TARGET; (g) si definisce come punto di accesso della applicazione una pagina logica ad indice definita sulla collezione di collezioni di cui al punto f; tale pagina logica viene collegata mediante link alle pagine logiche relative alle sotto-collezioni definite sui TARGET e viene inserita in una pagina fisica separata.
In figura 26 è mostrato graficamente il sito creato secondo il metodo standard a partire dallo schema concettuale dei dati presentato nella figura 2. In accordo con la suddetta figura 26 la definizione delle stesse pagine logiche e pagine fisiche mediante WebML è mostrata di seguito.
Inizialmente vengono definite le collezioni - corrispondenti ai due TARGET così come precisato in seguito:
Vengono poi definite le pagine logiche secondo il metodo standard:
Vengono infine definite le pagine fisiche secondo il metodo standard:
Un ulteriore aspetto del metodo di specifica e progettazione di siti Web con WebML riguarda la verifica della correttezza delle specifiche. Infatti, non tutti i siti ottenuti collegando arbitrariamente pagine logiche mediante link corrispondono a siti Web concettualmente corretti e realizzabili in pratica. La prima verifica di correttrezza della specifica di un sito in WebML richiede la definizione di un ipertesto logico valido a partire da uno schema concettuale dei dati e da un insieme di collezioni. Un ipertesto logico è un insieme di pagine logiche collegate tramite link. Un ipertesto logico valido è definito dalle regole seguenti: (a) Ipertesto iniziale: un ipertesto logico costituito solamente da una catena di navigazione basata su una collezione e dalla pagina dati al termine di tale catena è valido; (b) aggiunta di navigazione contestuale: l' ipertesto logico ottenuto a partire da un ipertesto logico valido con l’aggiunta di una catena di navigazione definita su una relazione con origine in una pagina dati dell’ipertesto logico valido e destinazione in una pagina dati (nuova o già presente nell’ipertesto logico valido) è ancora valido; (c) aggiunta di navigazione non - contestuale: l' ipertesto logico ottenuto a partire da un ipertesto logico valido con l’aggiunta di una catena di navigazione definita su una collezione con destinazione in una pagina dati (nuova o già presente nell’ipertesto logico valido) è ancora valido. La pagina iniziale di tale catena di navigazione non contestuale può essere la destinazione di link uscenti da qualunque altra pagina dell’ipertesto valido.
In figura 27 è mostrato un esempio di ipertesto logico non valido.
Tale figura mostra una navigazione che parte da una pagina dati definita sull’entità combinazione 100, verso una pagina dati 101 che mostra il contenuto di un particolare articolo. L’assenza di una pagina di navigazione tra le due pagine dati rende l’ipertesto logico non valido (infatti, non è definito quale articolo mostrare seguendo il link dalla pagina sorgente 100 alla pagina destinazione 101).
In figura 28 è mostrato un esempio di ipertesto logico valido.
Tale figura mostra una navigazione che parte da una pagina indice su collezione 102, che contiene tutti gli articoli, verso una pagina dati 103 che mostra il contenuto di un particolare articolo della collezione.
La validità di tale ipertesto logico discende dall'applicazione della regola (a) sopra menzionata.
Una seconda verifica di correttezza si basa sulla definizione di ipertesto fisico valido e si preoccupa di verificare che l’aggregazione di pagine logiche in pagine fisiche dia luogo a videate dell’applicazione di contenuto calcolabile.
Una pagina logica si dice ristretta, detta "bound" se: (a) è una pagina di navigazione su una collezione; (b) è una pagina dati situata alla fine di una catena di navigazione su una collezione situata nella medesima pagina fisica.
Le pagine ristrette hanno la caratteristiche di poter essere sempre mostrate a video indipendentemente da quali altre pagine appaiono nella stessa pagina fisica. Questa peculiarità è dovuta al fatto che le pagine ristrette cominciano sempre da una pagina definita su una collezione. Detta collezione è un insieme di oggetti definito in modo del tutto indipendente da qualunque altro concetto dello schema concettuale.
Dato un ipertesto logico valido, le regole per raggruppare le pagine logiche in pagine fisiche valide sono le seguenti: (a) la pagina fisica deve contenere almeno una pagina logica che sia la destinazione di un link proveniente dall’esterno della pagina fisica stessa; tali pagine sono dette punti di ingresso o entry point della pagina fisica; (b) pagine logiche non ristrette all’ interno di una pagina fisica devono essere raggiungibili a partire da tutti gli entry point della pagina fisica, percorrendo catene di pagine e link.
La regola 1 esclude pagine fisiche “isolate”, cioè non raggiungibili da altre pagine fisiche.
La regola 2 richiede che tutte le pagine logiche che hanno bisogno di un contesto, cioè di pagine di dati che mostrano oggetti associati ad altri oggetti da relazioni, siano collegate a tutti i punti di ingresso della pagina fisica. Questo garantisce che, qualunque sia il percorso con cui l’utente ha raggiunto la pagina fisica, esiste una catena di relazioni e oggetti che porta dal punto di ingresso a qualunque pagina “con contesto” e che consente di costruire il contenuto della pagina in questione.
In figura 29 è mostrato un ipertesto fisico non valido. Come mostrato nella figura, la pagina fisica 104 contiene un entry point 105 costituito da una pagina di navigazione su una collezione, una pagina dati ad essa collegata 106 e una pagina di dati isolata 107. All’atto dell’accesso alla pagina fisica tramite il link entrante nella pagina 105, il contenuto della pagina dati non collegata da link 107 non è definito.
In figura 30 è mostrato un ipertesto fisico valido.
Secondo quanto illustrato in tale figura 30 si nota che una pagina fisica 108 contiene una pagina di indice su collezione 109 che contiene tutti gli articoli, detta "articoloCollIndexPage", una pagina dati 110, detta "articoloDataPage", che contiene un articolo scelto dall’utente tra quelli visualizzati nella pagina 109, una pagina di indice 111, detta "inclusoInlndexPage", che contiene tutte le combinazioni cui l'articolo mostrato nella pagina 110 appartiene ed infine una pagina dati 112 che mostra una combinazione scelta tra quelle elencate nella pagina 111.

Claims (20)

  1. RIVENDICAZIONI 1. Modello per la progettazione, verifica e realizzazione di applicazioni per World Wide Web (WEB), comprendente un sotto-modello strutturale ed un sotto-modello di presentazione, caratterizzato dal fatto di comprendere inoltre un sotto-modello di composizione ed un sotto-modello di navigazione, indipendenti tra di loro.
  2. 2. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 1 caratterizzato dal fatto che detto sotto-modello di composizione ha il compito di definire le pagine logiche (31) di cui si compone l'applicazione WEB a partire da detto sotto-modello strutturale, e di collegare tra loto tali pagine logiche mediante LINK (64) per formare un ipertesto logico.
  3. 3. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 2 caratterizzato dal fatto che dette pagine logiche sono aggregate in pagine fisiche (69).
  4. 4. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 2 caratterizzato dal fatto che detto sotto-modello di navigazione permette di definire collezioni di accesso per l'applicazione WEB e costruire opportune sequenze di pagine logiche collegate mediante LINK (64), dette catene di navigazione.
  5. 5. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 2 caratterizzato dal fatto che dette pagine logiche comprendono ulteriori sei diverse sotto - pagine, dove la prima sotto-pagina è denominata pagina dati (31), la seconda pagina di dati multipla (37), la terza pagina di indice (45), la quarta pagina di filtraggio (53), la quinta pagina di scorrimento (58) e la sesta pagina di accesso diretto (61).
  6. 6. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 5 caratterizzato dal fatto che detta sotto-pagina dati (31) prevede l'indicazione di una entità o combinazione di riferimento (mediante un costrutto DATAPAGE), e l'indicazione di un insieme di attributi di detta entità o componente (mediante i costrutti INCLUDE e ENCLUDEALL).
  7. 7. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 5 caratterizzato dal fatto che detta sotto-pagina dati multipla (37) prevede l'indicazione di una relazione o una collezione di riferimento per la rappresentazione congiunta di un insieme di esemplari (mediante un costrutto MULTIDATAPAGE), l’indicazione dell’entità o componente (mediante un costrutto DATAPAGE) e l'indicazione di un insieme di attributi di detta entità o componente (mediante i costrutti INCLUDE e INCLUDEALL).
  8. 8. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 5 caratterizzato dal fatto che detta sotto-pagina indice (45) prevede l'indicazione di una relazione o una collezione di riferimento per la rappresentazione di esemplari in un indice (mediante un costrutto INDEXPAGE) e l’indicazione degli attributi da utilizzarsi come chiave descrittiva nell’indice (mediante un costrutto DESCRIPTION).
  9. 9. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 5 caratterizzato dal fatto che detta sotto-pagina di filtraggio (53) prevede l'indicazione di una relazione o una collezione di riferimento per la selezione relativa a più istanze che soddisfano un criterio fornito dall'utente (mediante un costrutto FILTERPAGE) e l’indicazione degli attributi di ricerca da includere in una maschera di ricerca (mediante un costrutto SEARCHATTRIBUTE).
  10. 10. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 5 caratterizzato dal fatto che detta sotto-pagina di scorrimento (58) prevede l’indicazione di una relazione o una collezione di riferimento per sfogliare le pagine di un insieme di istanze di un’entità o un componente (mediante un costrutto SCROLLERPAGE) e di un insieme di comandi per lo scrorrimento da utilizzare in dette pagine (mediante attributi del costrutto SCROLLERPAGE).
  11. 11. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 5 caratterizzato dal fatto che detta sotto-pagina di accesso diretto (51) prevede l'indicazione di una relazione di riferimento al fine spostarsi dalla pagina di un oggetto alla pagina di un solo altro oggetto ad esso collegato da detta relazione (mediante un costrutto DIRECTPAGE).
  12. 12. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 3 caratterizzato dal fatto che dette pagine fisiche prevedono l'indicazione delle pagine logiche di cui dette pagine fisiche sono costituite (mediante un costrutto PHPAGE che contiene un costrutto PAGE tante volte quante sono le pagine logiche costituenti le pagine fisiche).
  13. 13. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 2, caratterizzato dal fatto che diversi ipertesti logici fonnati da insiemi di pagine logiche collegate tra loro (mediante un costrutto LINK) sono definibili a partire dal medesimo schema concettuale dei dati.
  14. 14. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 12, caratterizzato dal fatto che diversi insiemi di pagine fisiche sono definibili a partire dal medesimo schema concettuale dei dati e ipertesto logico.
  15. 15. Modello per la progettazione, verifica e realizzazione di applicazioni per il WEB secondo la rivendicazione 14 caratterizzato dal fatto che uno specifico insieme di pagine fisiche può essere definito come una vista di sito (mediante un costrutto SITEVIEW) associata ad uno o più gruppi di utenti.
  16. 16. Metodo di costruzione di siti WEB utilizzante il modello secondo la rivendicazione 1 caratterizzato dal fatto di prevedere la specifica, la progettazione, la verifica e la realizzazione di uno schema strutturale e di uno schema della navigazione e composizione espressi da detto modello.
  17. 17. Metodo secondo la rivendicazione 16, caratterizzato dal fatto di prevedere la seguente successione di passi: (a) analisi dei requisiti della applicazione per il WEB; (b) progettazione dell'applicazione mediante costruzione di un modello comprendente un sotto-modello strutturale, un sotto-modello di composizione, un sotto-modello di navigazione ed un sotto-modello di presentazione, indipendenti tra di loro, dove il sotto-modello di composizione consente di definire le pagine logiche (31) e le pagine fisiche (69) di cui si compone l'applicazione WEB a partire da detto sotto-modello strutturale e dove iTsottomodello di navigazione consente di definire le collezioni di accesso per l'applicazione WEB e di costruire opportune sequenze di pagine logiche collegate mediante LINK (64), dette catene di navigazione, per formare un ipertesto logico; (c) formazione e verifica di almeno un ipertesto composto da pagine logiche collegate mediante LINK e aggregate in pagine fìsiche; (d) assegnazione di detto ipertesto ad almeno un gruppo di utenti; (e) definizione della presentazione grafica delle pagine fisiche; (f) definizione della base di dati di supporto a detta applicazione; (g) generazione e installazione dei template di pagina.
  18. 18. Metodo secondo la rivendicazione 17, caratterizzato dal fatto di prevedere la presenza di un sotto-metodo standard per la costruzione di un ipertesto logico ed un insieme di pagine fisiche a partire da uno schema concettuale dei dati.
  19. 19. Metodo secondo la rivendicazione 17, caratterizzato dal fatto di prevedere regole per la verifica della validità di un ipertesto logico rispetto a uno schema concettuale dei dati.
  20. 20. Metodo secondo la rivendicazione 17, caratterizzato dal fatto di prevedere regole per la verifica della validità di un insieme di pagine fisiche rispetto ad uno schema concettuale dei dati e rispetto ad un ipertesto logico.
IT1999MI001534A 1999-07-13 1999-07-13 Modello per la definizione di siti per il world wide web, in grado difornire supporto alle attivita' di specifica, progettazione, verifica IT1313201B1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT1999MI001534A IT1313201B1 (it) 1999-07-13 1999-07-13 Modello per la definizione di siti per il world wide web, in grado difornire supporto alle attivita' di specifica, progettazione, verifica
EP99204320A EP1069501A3 (en) 1999-07-13 1999-12-15 Model for the definition of world wide web sites and method for the design and verification of web sites using the aforementioned model
US09/466,894 US6591271B1 (en) 1999-07-13 1999-12-20 Model for the definition of world wide web sites and method for their design and verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT1999MI001534A IT1313201B1 (it) 1999-07-13 1999-07-13 Modello per la definizione di siti per il world wide web, in grado difornire supporto alle attivita' di specifica, progettazione, verifica

Publications (3)

Publication Number Publication Date
ITMI991534A0 ITMI991534A0 (it) 1999-07-13
ITMI991534A1 true ITMI991534A1 (it) 2001-01-13
IT1313201B1 IT1313201B1 (it) 2002-06-17

Family

ID=11383326

Family Applications (1)

Application Number Title Priority Date Filing Date
IT1999MI001534A IT1313201B1 (it) 1999-07-13 1999-07-13 Modello per la definizione di siti per il world wide web, in grado difornire supporto alle attivita' di specifica, progettazione, verifica

Country Status (3)

Country Link
US (1) US6591271B1 (it)
EP (1) EP1069501A3 (it)
IT (1) IT1313201B1 (it)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826744B1 (en) * 1999-10-01 2004-11-30 Vertical Computer Systems, Inc. System and method for generating web sites in an arbitrary object framework
US6823492B1 (en) * 2000-01-06 2004-11-23 Sun Microsystems, Inc. Method and apparatus for creating an index for a structured document based on a stylesheet
US20030120659A1 (en) * 2000-03-20 2003-06-26 Sridhar Mandayam Anandampillai Systems for developing websites and methods therefor
US20020123879A1 (en) * 2001-03-01 2002-09-05 Donald Spector Translation system & method
EP1456769A4 (en) 2001-07-26 2004-11-17 Irise Inc SYSTEM AND METHOD FOR GATHERING, RECORDING AND VALIDATING REQUIREMENTS FOR COMPUTING APPLICATIONS
KR100705474B1 (ko) * 2006-10-19 2007-04-09 (주)이즈포유 웹 페이지에서 인디케이터를 이용한 정보 표시 및 관리시스템
US9058608B2 (en) 2007-09-12 2015-06-16 Google Inc. Placement attribute targeting
GB2481191A (en) 2010-02-25 2011-12-21 Sita Information Networking Computing Ireland Ltd Graphical development tool for software application development
WO2012038949A1 (en) 2010-08-09 2012-03-29 Neebula Systems Ltd. System and method for storing a skeleton representation of an application in a computerized organization
EP2625606A4 (en) 2010-10-08 2014-11-26 Irise SYSTEM AND METHOD FOR EXTENDING A VISUALIZATION PLATFORM
AU2017204416A1 (en) * 2011-01-27 2017-07-20 Amplifier Marketing Pty Limited Method and system for providing content
US9201631B2 (en) 2011-01-27 2015-12-01 Amplifier Marketing Pty Limited Method and system for providing content
US9058623B2 (en) * 2011-11-02 2015-06-16 Microsoft Corporation Semantic tagged ads
RU2571577C2 (ru) * 2014-04-15 2015-12-20 ООО "Битрикс" Способ выдачи веб-страниц на оборудование пользователя, а также предназначенная для этого система

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
JP2888164B2 (ja) * 1995-04-03 1999-05-10 ヤマハ株式会社 自動伴奏データの処理方法および自動伴奏装置
US5812134A (en) * 1996-03-28 1998-09-22 Critical Thought, Inc. User interface navigational system & method for interactive representation of information contained within a database
US5675382A (en) * 1996-04-08 1997-10-07 Connectix Corporation Spatial compression and decompression for video
US6148311A (en) * 1997-04-25 2000-11-14 Adobe Systems Incorporation Web site construction by inferring navigational structure from physical file structure
US6463432B1 (en) * 1998-08-03 2002-10-08 Minolta Co., Ltd. Apparatus for and method of retrieving images

Also Published As

Publication number Publication date
EP1069501A2 (en) 2001-01-17
ITMI991534A0 (it) 1999-07-13
US6591271B1 (en) 2003-07-08
EP1069501A3 (en) 2001-08-29
IT1313201B1 (it) 2002-06-17

Similar Documents

Publication Publication Date Title
Ceri et al. Web Modeling Language (WebML): a modeling language for designing Web sites
Küster et al. Detecting and resolving process model differences in the absence of a change log
ITMI991534A1 (it) Modello per la definizione di siti per il world wide web in grado di fornire supporto alle attivita&#39; di specifica progettazione verifica e r
MXPA06010977A (es) Una plataforma de desarrollo de formularios.
JP2006525608A (ja) ダイナミックコンテンツアセンブリを管理するためのシステムおよび方法
Şimşek et al. Domain specific semantic validation of schema. org annotations
CN106055668A (zh) 数据与服务混合加载系统
US8799256B2 (en) Incorporated web page content
Mehler et al. Towards logical hypertext structure: a graph-theoretic perspective
CN103019556A (zh) 快捷帮助信息显示系统和快捷帮助信息显示方法
JP3914081B2 (ja) アクセス権限設定方法および構造化文書管理システム
Hallwyl et al. A standard-driven implementaion of WS-BPEL 2.0
JP3842572B2 (ja) 構造化文書管理方法および構造化文書管理装置およびプログラム
Ha et al. Ontology-driven visualization system for semantic searching
Ceri et al. WebML application frameworks: a conceptual tool for enhancing design reuse
Niederhausen et al. Harnessing the power of semantics-based, aspect-oriented adaptation for AMACONT
Matsuzawa IMI: A Common Vocabulary Framework for Open Government Data
CN106293690A (zh) 一种生成组件对象的方法及装置
Kato et al. IMI: A Common Vocabulary Framework for Open Government Data
Fokoue et al. OSLC resource shape: A linked data constraint language
Catania et al. XML and object technology
Wilde et al. SPath: A Path Language for XML Schema
Arndt et al. Eml-the environmental markup language
Grotepaß Analyzing the quality of RESTful APIs in a migration context: a case study in the e-commerce domain
Yuan et al. Research on Quality Assessment Model of Big Data in Petroleum Field Based Ontology and Linked Data