WebML WebML Modellazione concettuale Modellazione concettuale di applicazioni Web di applicazioni Web http://www.webml.org Master in Web Technology Corso di: Modellazione UML per il Web Docente: Henry Muccini VIII Edizione 2012/2013 Dipartimento di Ingegneria e Scienze dell’Informazione e Matematica Università degli Studi dell’Aquila
Questa lezione spiega i principi dell'approccio WebML (webml.org) per la modellazione in UML di applicazioni web. Tale lezione e' parte del corso di "Modellazione UML per il WEB", del Master in Web Technology, Universita' degli Studi dell'Aquila (http://www.di.univaq.it/mwt/)
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
WebMLWebMLModellazione concettuale Modellazione concettuale di applicazioni Webdi applicazioni Web
http://www.webml.org
Master in Web
TechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila
Copyright
» Il materiale presentato nel seguito consiste in una rielaborazione delle slide in italiano ed inglese disponibile sul sito www.webml.org
» Si ringraziano gli autori di WebML ed il Politecnico di Milano per aver messo a
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications2 http://www.webml.org
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications12http://www.webml.org
> Author.BooksNumber = count(self.Author2Book)
> BestSeller := Book where Book.Sales > 50,000
BookAuthor
BestSeller
•Q1: what information is published in the
hypertext nodes?
•Q2: how are the hypertext nodes connected?
•Q3: how is the hypertext divided into pages
served to the user?
Hypertext Model
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications13http://www.webml.org
served to the user?
•A1: content units (Composition)
•A2: links (Navigation)•A3: pages (Composition)
DATAUNIT
A1. Content Units examples
To publish information
about A SINGLE object
(e.g. AuthorDetail)
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications14http://www.webml.org
INDEXUNIT
content
content
To publish a list of objects
(e.g. IndexOfAuthors)
DATAUNIT
A1. Content Units examples rendering
Authorfirst name:XXX
last name:YYY
photo:
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications15http://www.webml.org
INDEXUNITIndex of Authors
•S. Ceri
•P. Fraternali
•O.Versand
Author
Author
A2. Navigation Model: Links
entity: Book
AuthorID is transported
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications16http://www.webml.org
entity:author
Book[ author2book ]
• Semantics of a link:
1. Moving from one place to another
2. Transporting information from one place to
another (navigation context)
3. Activating a computation (side effect)
A2. Types of links
» Contextual links> Between units
> Context transported
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications17http://www.webml.org
» Non-contextual links> Between pages
> No context transported
Voyages Books
A3. Composition: Pages
A Page is a structured container of units and links
> Possibly structured in and/or sub-pages
> Abstraction of screen, frame, card, deck...
> Permits one to cluster related information for more efficient communication
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications18http://www.webml.org
E.g.:
AuthorAuthor
The index of
authors and
the selected
author are
shown
together in the
same page
Presentation Model
» Presentation dealt with along two lines:
> Gallery of default presentation styles applicableto site views or single pages (with elementary unitpositioning on a grid)
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications21http://www.webml.org
positioning on a grid)- each presentation style is an XSL stylesheet
> Compatibility with best selling tools forpresentation editing, for advanced page design
- E.g., WebML extensions for Dreamweaver 3 & 4
WebRatioSite Development Studio
Functionalities:» Structure model design» Data derivation (Derivation Wizard)» Hypertext model design (siteviews)
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications22http://www.webml.org
» Hypertext model design (siteviews)» Consistency checks (warnings)» Structure Mapping onto a datasource» Elementary units positioning in the pages» Automatic web site generation with default
presentation styles
Structure modelling
Entity
Attribute
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications23http://www.webml.org
ISA hierarchy
Relationship
Hypertext modelling
Allowed
operations:
Siteviews
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications24http://www.webml.org
» New siteview creation
» Add/remove pages, units, links
» Edit elements properties (panel)
» Cut&paste
Operation units
Links
Page/alternative
WebML units
Modello dei Dati in WebML (Structure Model)
http://www.webml.org
Master in Web
TechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila
» Le query di derivazione sono automaticamente trasformate in viste SQL installate nella base di dati
Entità derivate
»La popolazione di Sotto-Entità nelle gerarchie IS-A può essere specificata per mezzo di query OQL
AutoreItaliano
AutoreISA
MODELLO DEI DATI
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications40http://www.webml.org
»Es.: “Un’autore italiano è un autore nato in Italia”»WebML OQL: value = “Autore as A where A.LuogoNascita contains ‘Italia’”
AutoreItaliano
Attributi derivati
» Quattro tipi di attributi derivati:> Attributi costanti
> Attributi Importati
> Attributi Calcolati
MODELLO DEI DATI
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications41http://www.webml.org
> Attributi Aggregati
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications42http://www.webml.org
Lancia WebRatio
Attributi Costanti
DipendentePoli
Affiliazione
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications43http://www.webml.org
Value=“Politecnico di Milano”
Attributi importati
DonnaUomomarito
cognome cognomeAcquisito
MODELLO DEI DATI
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications44http://www.webml.org
cognome cognomeAcquisito
Value=“Self.marito.cognome”
» La variabile Self denota l’entità corrente in cui si vuole definire l’attributo
Attributi calcolati e aggregati
» Prezzo totale dell’ordine come somma dei prezzi delle singole linee d’ordine:
Ordine prezzoTotale
numLineeOrd
DettaglioOrdine_DettaglioprezzoqtaprezzoTotale
MODELLO DEI DATI
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications45http://www.webml.org
singole linee d’ordine:1.prezzoTotale in “Dettaglio” come attributo calcolato:
Self.prezzo * Self.qta
2.prezzoTotale in “Ordine” come attributo aggregato: Sum (Self.Ordine_Dettaglio.prezzoTotale)
» Il numero di linee d’ordine per un certo ordine
Count (Self.Ordine_Dettaglio)
Relazioni Derivate
Le relazioni possono essere derivate in due modi:
» Definendo restrizioni e/o composizioni di relazioni pre-
MODELLO DEI DATI
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications46http://www.webml.org
» Definendo restrizioni e/o composizioni di relazioni pre-esistenti
» Definendo nuove relazioni tra coppie di oggetti in base acondizioni (concatenazione)
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications47http://www.webml.org
Relazioni derivate: restrizione
Restrizione di relazioni pre-esistenti:
LibroAutoreAutore_LibroRecente
MODELLO DEI DATI
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications48http://www.webml.org
Value=“Self.Autore_Libro as L where L.date >
‘01/01/08’”
Autore_Libro
Relazioni derivate: concatenazione
Concatenazione di relazioni:
AutoreLibro Libro_Autore
MODELLO DEI DATI
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications49http://www.webml.org
value=“Self.Capitolo_Libro.Libro_Autore”
Capitolo_Libro
CapitoloCapitolo_Autore
Modello di ipertesto in WebML
http://www.webml.org
Master in Web
TechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications51http://www.webml.org
March 2003
Look and Feel
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications52http://www.webml.org
1. Motivazioni e Concetti di Base
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications53http://www.webml.org
1. Motivazioni e Concetti di Base
Modello di Ipertesto:obiettivi
Modellazione ad alto livello del front-end di una applicazione Web dinamica e delle interazioni con la logica e i dati del back-end
Utilizzo di una notazione visuale semplice ma formale
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications54http://www.webml.org
Utilizzo di una notazione visuale semplice ma formale
Generazione automatica di template di pagine dinamiche e di interrogazioni per l’accesso e la manipolazione dei dati
• Domande tipiche• In che modo l’utente deve fruire del contenuto pubblicato tramite il
sito?
•Quali sono le pagine nell’ipertesto, tramite cui l’utente può
accedere ai contenuti?
•Quale informazione deve essere pubblicata in ogni pagina?
Modellazione dell’Ipertesto:Domande Tipiche
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications55http://www.webml.org
•Quale informazione deve essere pubblicata in ogni pagina?
•In che modo i nodi dell’ipertesto sono collegati tra loro?
• Primitive del modello di Ipertesto•Unità di contenuto (o unit)
•Link
•Pagine
•Site view
Unità di contenuto
» Una unita’ di contenuto in WebML è l’elemento atomico per la pubblicazione dell’informazione
» Corrisponde ad una “vista” definita su di un contenitore di oggetti:
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications56http://www.webml.org
> Tutte le istanze di un’entità sorgente
> Le istanze di una entità che soddisfano una condizione di selezione chiamata selettore
unitX
Sorgente
[Selettore]
DATAUNIT INDEXUNIT MULTIDATAUNIT
Sorgente
Unità di Contenuto di Base
Sorgente Sorgente
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications57http://www.webml.org
SCROLLERUNIT
Sorgente
[Selettore]Sorgente
[Selettore]
Sorgente
[Selettore]
Sorgente
[Selettore]
MULTICHOICE
Sorgente
[Selettore]
HIERARCHICAL
Sorgente
[Selettore]
Significato delle unità di contenuto
DATAUNIT
Autorefirst name:XXX
last name:YYY
photo:
MULTIDATAUNIT
Tutti gli Autori
MODELLO DI IPERTESTO
INDEXUNIT
Indice di tutti gli Autori
•S. Ceri
•P. Fraternali
•A.S. Tanenbaum
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications58http://www.webml.org
SCROLLERUNIT
Esplora gli Autori
5/12: vai a
���� �������� ����
1/12
•A.S. Tanenbaum
•O.Versand
MULTICHOICE
Scegli gli Autori
Ceri
Fraternali
Versand
Tanenbaum
HIERARCHICAL
Autori&Libri
1. S. Ceri
Web Technologies
Advanced Databases
2. P. Fraternali
Web Technologies
Input e output delle unita’
unitX
entità[selettore (ParIN)]
ParIN ParOUT
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications59http://www.webml.org
» Ogni unit può avere parametri di input e output
» I parametri in input sono necessari per calcolare la unit
> Parametri richiesti dal selettore della unit
» I parametri in output possono essere utilizzati per la computazione di una o più unit che dipendono dalla unitcorrente
2. Unit di Contenuto
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications60http://www.webml.org
2. Unit di Contenuto
DataUnit
» Pubblica informazione circa UNA SINGOLA ISTANZAUNA SINGOLA ISTANZA
Entità
[Selettore(parametri)]
parametri OID
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications61http://www.webml.org
» Contenitore: una entità, più (opzionalmente) un selettore
» Parametri in input:
> OID dell’oggetto che deve essere pubblicato, OPPURE
> Parametri richiesti dalla computazione del selettore
» Parametri in output:
> L’OID dell’oggetto pubblicato, più ogni suo attributo
ACMEEsempio di DataUnit
CASO DI STUDIO
ProductDetails
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications62http://www.webml.org
Informazione su di un prodotto specifico
Product
MultiDataUnit
• Presenta istanze multiple di una entità ((insieme di oggettiinsieme di oggetti))
Entità
[Selettore(parametri)]
parametri {OID}
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications63http://www.webml.org
• Contenitore: una entità, più (opzionalmente) un selettore
• Parametri di input: quelli richiesti per la computazione del selettore
• Parametri di output:
•L’insieme di OID degli oggetti pubblicati (più gli attributi degli oggetti)
IndexUnit
» Pubblica una lista di elementi (insieme di oggetti)(insieme di oggetti)
Entità
[Selettore(parametri)]
parametri OIDSel
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications64http://www.webml.org
» Contenitore: una entità, più (opzionalmente) un selettore
» Parametri di input: quelli richiesti per la computazione del selettore
» Parametri in output:
- OID dell’oggetto selezionato dall’utente (più tutti i suoi attributi)
ACME: IndexUnit nella pagina Products
CASO DI STUDIO
Product
OIDSelAll
Products
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications65http://www.webml.org
L’utente può accedere ai singoli prodotti cliccando su uno degli elementi della lista
MultichoiceUnit
Entità
[Selettore(parametri)]
[Preselettore(parametri)]
parametri {OIDSel}
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications66http://www.webml.org
» Pubblica indici di elementi (insieme di oggetti)(insieme di oggetti) tra cui l’utente seleziona uno o più elementi (tramite checkbox)
» Contenitore: una entità, più (opzionalmente) selettore e pre-selettore
» Parametri in input: quelli richiesti per la computazione dei selettori
» Parametri in output: OID degli oggetti marcati dall’utente (più tutti i suoi attributi)
HierarchicalUnit{OIDSel}
Entita1
[Selettore1(Parametri)
NEST Entita2
[Entita1_Entita2]
[Selettore2(Parametri)]
Parametri
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications67http://www.webml.org
» Pubblica una lista di oggetti (appartenenti a più entità) organizzati gerarchicamente in base a relazioni definite tra le entità
» Contenitore: un insieme di entità e le relazioni che le associano, più (opzionalmente) selettori ad ogni livello
» Parametri in input: quelli richiesti dalla computazione dei selettori
» Parametri in output: OID dell’oggetto selezionato dall’utente (più tutti i suoi attributi)
HierarchicalUnit: Esempio
•Tables
•Kitchen•Korla KJD54
•Chairs
•Stools•Roy LKR34
•OddVar JSQ87
Categoria
NEST SottoCategoria
[Categoria_SottoCategoria]
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications68http://www.webml.org
•OddVar JSQ87
•Office•Jess RLT45
[Categoria_SottoCategoria]
NEST Prodotto
[SottoCategoria_Prodotto]
HierarchicalUnit: Esempio
•Tables
•Kitchen•Korla KJD54
•Chairs
•Stools•Roy LKR34
•OddVar JSQ87
•Office
MODELLO DI IPERTESTO
Categoria
SottoCategoria
Prodotto
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications69http://www.webml.org
•Office•Jess RLT45
Prodotto
HierarchicalUnit: link uscenti
•Tables link a
•Kitchen link b•Korla KJD54 link c
•Chairs link a
•Stools link b•Roy LKR34 link c
•OddVar JSQ87 link c
•Office link b
Sotto_Cat
link a
link b
link c
Categoria
SottoCategoria
[Categoria_SottoCategoria]
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications70http://www.webml.org
» Ogni link è visualizzato come un ancora ad un opportuno livello della gerarchia
» Il livello a cui il link è posizionato dipende dal tipo dei parametri sul link
•Office link b•Jess RLT45 link c
[Categoria_SottoCategoria]
Prodotto
[SottoCategoria_Prodotto]
ScrollerUnit
» Permette di definire il browsing in un insieme di oggetti:
> Visualizza link al primo, al precedente, al prossimo, all’ultimo oggetto nell’insieme
Entità
[Selettore(parametri)]
parametri {OIDSel}
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications71http://www.webml.org
oggetto nell’insieme
» Block factor = numero di oggetti visualizzati in blocco in un passo di navigazione
» Contenitore: una entità, più (opzionalmente) un selettore
» Parametri in input: quelli richiesti per la computazione dei selettori
» Parametri in output: l’insieme di OID del blocco di oggetti corrente
3. Link e parametri
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications72http://www.webml.org
3. Link e parametri
Link contestuali
•
AutoreAutore
Sorgente Destinazione
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications73http://www.webml.org
• Connessioni orientate tra due unit (sorgente e destinazione), la cui presentazione corrisponde ad ancore o bottoni “submit”
• Permettono all’utente di navigare tra nodi diversi dell’ipertesto
• Trasportano informazione di contesto
• Attivano una computazione (effetto collaterale)
Parametri sui link: default
• Quando è possible, i parametri sui link sono inferiti dal diagramma, senza bisogno di essere specificati esplicitamente
• I diagrammi acquistano maggiore chiarezza
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications75http://www.webml.org
Autore[OID= …]
Libro[Autore_Libro]
Selettori: Default
• Quando possibile, i selettori e i loro parametri sono inferiti dal diagramma, senza dover essere specificati esplicitamente
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications76http://www.webml.org
Autore Libro[Autore_Libro]
Libro
4. Pagine, Aree, Site view
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications79http://www.webml.org
4. Pagine, Aree, Site view
Pagine
» Una pagina è un contenitore di una o più unità di contenuto mostrate all’utente contemporaneamente
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications80http://www.webml.org
Home Page Indice dei LibriLogin
Link non contestuali
» Link definiti tra pagine
» Non trasportano alcuna informazione di contesto
HomePage Indice dei libri
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications81http://www.webml.org
» L’utente naviga da una pagina all’altra per mezzo di un’ ancora (es: >>Indice dei Libri)
HomePage Indice dei libri
Home Page
» É la pagina principale di un sito> La prima a cui l’utente accede
» Ogni site view deve contenere un pagina marcata come “Home”
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications82http://www.webml.org
come “Home”
HomePage H Indice dei libri
Pagine Landmark
Autori
Indice dei Libri
L
InfoLibro
Negozi
MODELLO DI IPERTESTO
AutoriInfoLibri
NegoziIndice dei Libri
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications83http://www.webml.org
» Pagine globalmente visibili. L’utente può saltare ad esse da ogni altra pagina della site view
» Equivalenti a link non contestuali definiti da ogni altra pagina della site view verso la pagina landmark
Lancia WebRatio
ACMEComposizione della Home Page
CASO DI STUDIO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications84http://www.webml.org
ACME Pagina dei Prodotti
CASO DI STUDIO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications85http://www.webml.org
Aree
» Insiemi di pagine logicamente omogenee> Sezioni di un portale: Sport, Musica, Tecnologia, …
» Le aree possono contenere sotto-aree annidate
Area
MODELLO DI IPERTESTO
Pagina1 Pagina2
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications86http://www.webml.org
» Le aree possono contenere sotto-aree annidate
» Ogni area può includere una pagina (o una sottoarea) di “D”efault
CatalogoLibri
Indice dei Libri
D
InfoLibriHomePage
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications87http://www.webml.org Lancia WebRatio
Site View
» Un insieme di pagine e/o aree che forniscono una vista coerente del sito
» Sullo stesso schema dei dati è possibile definire diverse site view
» Necessità di pubblicare ipertesti diversi per diversi
MODELLO DI IPERTESTO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications88http://www.webml.org
» Necessità di pubblicare ipertesti diversi per diversi tipi di utenti o per diversi tipi di dispositivi di output> Es.:
- Site view pubblica: accesso concesso ad ogni utente
- Site view private: accesso protetto tramite password
ACME Modellazione delle site view
» Due site view sullo stesso schema dei dati> Customer: pubblica, per i clienti
> Admin: privata, per amministratori e gestori di contenuto
CASO DI STUDIO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications89http://www.webml.org
ACMESite View Customer
» Scopo: permettere al cliente di accedere ai contenuti pubblicati tramite il sito
» Struttura:> Due aree principali: Products e Offers
> Due pagine Landamark: HomePage, Store
CASO DI STUDIO
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications90http://www.webml.org
> Due pagine Landamark: HomePage, Store
Customer
Products Area
Stores
Offers Area
HomePage
LL
H
LL
Operazioni di Login/ Logout
» Una siteview può contenere una form per consentire login
» Ogni siteview privata dovrebbe consentire logout
Entry Unit
MODEL
Login
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications10
0
http://www.webml.org
» Ogni siteview privata dovrebbe consentire logout
» E’ consentito per un utente il cambio di ruolo durante la navigazione
Logout
ChangeGroupEntry Unit
CurrentUser e CurrentGroup
» WebML fornisce due global parameters predefiniti:> CurrentUser: OID dell’utente corrente
> CurrentGroup: OID del gruppo di appartenenza
MODEL
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications10
1
http://www.webml.org
> CurrentGroup: OID del gruppo di appartenenza dell’utente corrente
» L’utente deve avere fatto login (altrimenti è everyone)
» Le operazioni di Login, Logout e ChangeGroup impostano automaticamente questi due parametri
Pagine annidate» E’ possibile definire pagine annidate (sottopagine)
» Pagine annidate possono essere tra loro:
MODEL
» In AND (presenza contemporanea nella pagina di tutte le sottopagine)
» In OR: Si inserisce un elemento ALTERNATIVEALTERNATIVE, le cui pagine figlie compaionoin mutua esclusione. Una di
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications10
4
http://www.webml.org
ProductPage
Images
Designers
Historical InfoProductPage
InAlternativa
Details
D
sottopagine) in mutua esclusione. Una di esse è marcata come Default
Designers
Esempio di pagine annidate in OR
» Pagina di prodotto che mostra l’elenco dei dettagli oppure, a scelta dell’utente, l’elenco dei designer
MODEL
ProductPage
InAlternativa
Details Designers
1
Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications10
5
http://www.webml.org
» NB.Ogni ipertesto può essere riportato a non avere
Details
D
Designers
Detail
[P_D]Designer
Product
2
Modello delleOperazioni in WebML
http://www.webml.org
Master in Web
TechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila