103
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

UML per il Web: Approccio WEBML

Embed Size (px)

DESCRIPTION

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/)

Citation preview

Page 1: UML per il Web: Approccio WEBML

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

Page 2: UML per il Web: Approccio WEBML

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

disposizione tale materiale

Henry Muccini

Copyright © Politecnico di Milano

March 2003

Page 3: UML per il Web: Approccio WEBML

Nome Città Nazione Tipo

A2A SPA Milano Italy End User

ACER Europe Lainate (MI) Italy End User

Autostrade S.p.A. Firenze Italy End User

Cim Italia Zingonia (BG) Italy End User

Cross Factor Milano Italy End User

Eldor Corporation Orsenigo (CO) Italy End User

ENEL Roma Italy End User

Forus - Electa Milano Italy End User

Industria Chimica

Reggiana

Reggio Emilia Italy End User

Locat SpA Milano Italy End User

Prague Security Centre Prague Czech

Republic

End User

Provincia di Milano Milano Italy End User

Senato della Rebubblica Roma Italy End User

Atena Informatica Cermenate (CO) Italy Software House

Catharsys Consulting

Group

Bruxelles Belgium Software House

Data Progress Vimodrone Italy Software House

I-Tech Web Porto Torres (SS) Italy Software House

Pantea s.r.l. Navacchio di Pisa Italy Software House

ROSEN Livorno Italy Software House

RTT Solutions Cinisello Balsamo

(MI)

Italy Software House

Softlabs Modena Italy Software House

Substantial Roma Italy Software House

Zel Informatica Milano Italy Software House

DiXtreme Milano Italy System

Integrator

DS Group Milano Italy System

Integrator

Eustema Roma Italy System

Integrator

Gap It Udine Italy System

Integrator

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications3 http://www.webml.org

Data Progress Vimodrone Italy Software House

Edith Software Vanzaghello Italy Software House

E-tek srl Trivolzio (PV) Italy Software House

Eutopia srl Taranto Italy Software House

GD Informatica Milano Italy Software House

Graficad Milano Italy Software House

Homeria Open Solutions Caceres Spain Software House

ItalSoft Sistemi S.r.l. Milano Italy Software House

Integrator

Pride Group Milano Italy System

Integrator

Ra Computer Milano Italy System

Integrator

SESA Roma Italy System

Integrator

SIA - SSB Milano Italy System

Integrator

SNT Technologies Carpi (MO) Italy System

Integrator

STEP Roma Italy System

Integrator

L3S Research Center Hannover Germany System

Integrator

Si veda anche: http://www.webratio.com/portal/contentPage/it/I%20nostri%20clienti

Page 4: UML per il Web: Approccio WEBML

www.webml.org

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications4 http://www.webml.org

Page 5: UML per il Web: Approccio WEBML

Modellazione in WebML

» WebML fornisce un approccio strutturato per il design di applicazioni Web data-intensive

» Fornisce un insieme integrato di modelli per la produzione di applicativi Web ad alta qualita’

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications5 http://www.webml.org

produzione di applicativi Web ad alta qualita’

» WebML (Web Modeling Language) – http://webml.org

> Modellazione del contenuto informativo

> Modellazione dell’ipertesto

> WebRatio: un tool di sviluppo per WebML –http://www.webratio.com

Page 6: UML per il Web: Approccio WEBML

Applicazioni Web data-intensive» Sistemi per il Web, il cui scopo principale è gestire e pubblicare

grandi quantità di dati» WebML non e’ l’approccio adatto per:

> Small Web sites (Homepages, …)> Static Web sites

Esempi:» Commercio: cataloghi elettronici, e-mall, aste elettroniche, ...

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications6 http://www.webml.org

» Commercio: cataloghi elettronici, e-mall, aste elettroniche, ... » Contenuto: quotidiani online, biblioteche elettroniche, siti

istituzionali ...» Servizi: e-banking, prenotazioni, monitoraggio degli ordini, ...» Comunità: portali tematici, forum, ...» Contesto: portali di ricerca, directories,...

Tutte gestiscono e pubblicano grandi quantità di dati

Page 7: UML per il Web: Approccio WEBML

Alcuni modelli concettuali»Prime proposte per la modellazione di applicazioni ipermediali (Communication of ACM, August 1995)

> HDM (1993)

> OO-HDM (1995)

> RMM (1995)

»Proposte successive, per la modellazione di applicazioni Web

> ARANEUS (1998)

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications7 http://www.webml.org

> ARANEUS (1998)- ADM (Araneus Data Model)

> Strudel (1998)- UGM (Unified Graph Model) + StruQL (Strudel Query Language)

> Web Modeling Language – WebML (1998)- Modello ER per il contenuto + Primitive visuali per l’ipertesto

- Supportato da uno strumento CASE commerciale (http://www.webratio.com)

Page 8: UML per il Web: Approccio WEBML

The WebML models

» Models:> Structure Model:

- Data organization

- Derivation: redundant data definition

> Hyptertext Model:

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications8 http://www.webml.org

> Hyptertext Model:- Composition: definition of site pages as set of subpages and

elementary publishing units

- Navigation: definition of links between pages and between units

> Presentation: - positioning of the units in the page and definition of graphical

appearance

Page 9: UML per il Web: Approccio WEBML

WebML – concetti di baseApplicazione Web=

Dati + Ipertesto + Presentazione

entità,relazioni

unità, pagine, link, site view stili

Structure

ModelHypertext

Model

Presentation

Model

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications9 http://www.webml.org

struttura del contenuto

relazioni

composizione + navigazione + personalizzazione

presentazione

Page 10: UML per il Web: Approccio WEBML

Structure Model (1)

» Q: what are the objects published in the site and how they are related?

» A:> Entity: an object type in the application domain

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications10http://www.webml.org

> Attribute: scalar property of an entity

> Relationship: A connection between entities

> IS-A hierarchy: classification and grouping

» Compatible with Entity-Relationship and UML class diagrams

Page 11: UML per il Web: Approccio WEBML

Structure Model (2)

» Simplified Entity-Relationship model> Binary relationships between entities

> IS-A hierarchies

> Simple typed Author Genre

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11http://www.webml.org

> Simple typedattributes in entities

> Derivation model can be applied forredundant data

Book

Author Genre

BestSeller

Page 12: UML per il Web: Approccio WEBML

Derivation Model

» Redundant data can be easily specified using a WebML-OQL (Object Query Language).

» E.g.:> Author.BooksNumber = count(self.Author2Book)

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

Page 13: UML per il Web: Approccio WEBML

•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)

Page 14: UML per il Web: Approccio WEBML

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)

Page 15: UML per il Web: Approccio WEBML

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

Page 16: UML per il Web: Approccio WEBML

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)

Page 17: UML per il Web: Approccio WEBML

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

Page 18: UML per il Web: Approccio WEBML

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

Page 19: UML per il Web: Approccio WEBML

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

Page 20: UML per il Web: Approccio WEBML

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

Page 21: UML per il Web: Approccio WEBML

Structure modelling

Entity

Attribute

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications23http://www.webml.org

ISA hierarchy

Relationship

Page 22: UML per il Web: Approccio WEBML

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

Page 23: UML per il Web: Approccio WEBML

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

Page 24: UML per il Web: Approccio WEBML

Copyright

Copyright © Politecnico di Milano

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications26http://www.webml.org

Copyright © Politecnico di Milano

March 2003

Page 25: UML per il Web: Approccio WEBML

Obiettivi

» Tipiche domande:> Quali sono gli oggetti informativi da pubblicare tramite

l’applicazione?

> Quali sono le proprietà che li caratterizzano?

> In che modo i vari oggetti sono correlati?

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications27http://www.webml.org

» Primitive del modello Entità-Relazioni:> Entità: una classe di oggetti nel dominio dell’applicazione

> Attributo: una proprietà di una entità

> Relazione: una connessione tra entità

> Gerarchia IS-A: costrutto utilizzato per classificare o raggruppare

» Compatible con Entity-Relationship e UML class diagrams

Page 26: UML per il Web: Approccio WEBML

Look and FeelMODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications28http://www.webml.org

Page 27: UML per il Web: Approccio WEBML

Notazione grafica

Entità2Entità1

attributo1

MODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications29http://www.webml.org

SottoEntità

Le Entita’ sono dei box, con il nome dell’entita’ in alto

Gli attributi si trovano nel secondo compartimento

Le relazioni sono rappresentate tramite linee continue tra due box

Gerarchie ISA sono denotate tramite un simbolo di generalizzazione

Page 28: UML per il Web: Approccio WEBML

Ruoli e cardinalità delle relazioni

» Il ruolo di una relazione è una delle due “direzioni” in cui una relazione può essere interpretata

MODELLO DEI DATI

Per ogni ruolo, possono essere specificati vincoli di cardinalità

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications30http://www.webml.org

pubblica

pubblicato_da

LibroAutore

Pubblicazione

0..N 1..N

Attenzione: WebRatio usa notazioni differenti

Page 29: UML per il Web: Approccio WEBML

Attributi composti

» Attributi con una struttura interna (per es., un indirizzo può includere diversi campi)

» Rappresentati per mezzo di una entità e una relazione

» Es.: una persona ha uno o più indirizzi,ognuno formato da numero, via, città, provincia, stato

MODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications31http://www.webml.org

Indirizzo

ViaNumeroCittàProvinciaStato

Persona 0..N

1..N

Page 30: UML per il Web: Approccio WEBML

MODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications32http://www.webml.org

Page 31: UML per il Web: Approccio WEBML

Relazioni con attributi

» Rappresentate da una entità centrale e due relazioni

» Es.: il voto preso da uno studente nell’esame di un certo corso

MODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications33http://www.webml.org

un certo corso

VotoValore:integer

Studente 0..N

1..1

Corso1..1

0..N

Page 32: UML per il Web: Approccio WEBML

Relazioni N-arie

» Relazioni che coinvolgono N entità (N>2)> Es.: la fornitura di componenti ad un dipartimento

da parte di una ditta

» Rappresentabili da una combinazione di entità e N relazioni binarie

MODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications34http://www.webml.org

N relazioni binarie

Ditta 0..N

1..1

Dipartimento1..1

0..N

Componente

1..10..N

Fornitura

Page 33: UML per il Web: Approccio WEBML

Gerarchie IS-A

» Le sotto-entità ereditano gli attributi e le relazioni di una super entità

» Le sotto-entità possono anche avere proprietà localmente definite

» Le sotto-entità modellano collezioni

Cantante

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications35http://www.webml.org

Cantante

nomecognomebiografia

CantantePop CantanteJazz

strumento

Alcune ipotesi restrittive in WebML:

• Non è permessa l’ereditarietà multipla [vedi su WebRatio]

• E’ possibile definire solo gerarchie esclusive

• Ogni entità può apparire al massimo in una gerarchia

Page 34: UML per il Web: Approccio WEBML

Esempio Catalogo Elettronico della ditta ACME

»ACME: una medio-piccola impresa di mobili, che vende i suoi prodotti attraverso punti vendita sparsi in tutto il mondo

»Necessità di sviluppare un sito Web per pubblicare il catalogo dei suoi prodotti.

CASO DI STUDIO

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications36http://www.webml.org

»Il sito deve pubblicare informazioni su:> prodotti

> offerte speciali: combinazioni di prodotti venduti ad un prezzo scontato

> punti vendita

> Ogni prodotto ha una sua scheda tecnica e diverseimmagini

> I prodotti sono raggruppati in categorie

Page 35: UML per il Web: Approccio WEBML

ACME – Schema dei datiCASO DI STUDIO

Product

Code: integer Name: stringPrice: float

Combination

Code: integer Name: stringPrice: floatDescription: textPhoto: image

0:N

1:N

Category

Category: string

1:10:N

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications37http://www.webml.org

Store

Location: stringMap: imageEmail: URLFoto: image

Price: floatDescription: textThumbnail: imageHighlighted: boolean

Photo: imageStartDate: dateEndDate: dateHighlighted: boolean

Tech record

Colors: imageSizes: text

Big image

Description: textPhoto: image

1:10:1

0:N

1:1

1:N

Page 36: UML per il Web: Approccio WEBML

Oggetti derivati

» La derivazione permette di:

> Arricchire il contenuto di un’entità, aggiungendo siaattributi calcolati, sia attributi importati da oggetti

MODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications38http://www.webml.org

attributi calcolati, sia attributi importati da oggetticorrelati.

> Definire la popolazione di entità o di relazioni, sulla base di alcune proprietà degli oggetti coinvolti.

Page 37: UML per il Web: Approccio WEBML

WebML OQL» La derivazione si specifica scrivendo espressioni

chiamate “query di derivazione”

» WebML OQL (Object Query Language): un linguagigo per esprimere query di derivazione

MODELLO DEI DATI

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications39http://www.webml.org

» Concetti derivabili:> Entità, relazioni, attributi

» Le query di derivazione sono automaticamente trasformate in viste SQL installate nella base di dati

Page 38: UML per il Web: Approccio WEBML

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

Page 39: UML per il Web: Approccio WEBML

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

Page 40: UML per il Web: Approccio WEBML

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications42http://www.webml.org

Lancia WebRatio

Page 41: UML per il Web: Approccio WEBML

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”

Page 42: UML per il Web: Approccio WEBML

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

Page 43: UML per il Web: Approccio WEBML

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)

Page 44: UML per il Web: Approccio WEBML

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)

Page 45: UML per il Web: Approccio WEBML

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications47http://www.webml.org

Page 46: UML per il Web: Approccio WEBML

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

Page 47: UML per il Web: Approccio WEBML

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

Page 48: UML per il Web: Approccio WEBML

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

Page 49: UML per il Web: Approccio WEBML

Copyright

Copyright © Politecnico di Milano

March 2003

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications51http://www.webml.org

March 2003

Page 50: UML per il Web: Approccio WEBML

Look and Feel

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications52http://www.webml.org

Page 51: UML per il Web: Approccio WEBML

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

Page 52: UML per il Web: Approccio WEBML

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

Page 53: UML per il Web: Approccio WEBML

• 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

Page 54: UML per il Web: Approccio WEBML

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]

Page 55: UML per il Web: Approccio WEBML

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]

Page 56: UML per il Web: Approccio WEBML

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

Page 57: UML per il Web: Approccio WEBML

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

Page 58: UML per il Web: Approccio WEBML

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

Page 59: UML per il Web: Approccio WEBML

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

Page 60: UML per il Web: Approccio WEBML

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

Page 61: UML per il Web: Approccio WEBML

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)

Page 62: UML per il Web: Approccio WEBML

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)

Page 63: UML per il Web: Approccio WEBML

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

Page 64: UML per il Web: Approccio WEBML

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)

Page 65: UML per il Web: Approccio WEBML

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)

Page 66: UML per il Web: Approccio WEBML

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]

Page 67: UML per il Web: Approccio WEBML

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

Page 68: UML per il Web: Approccio WEBML

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]

Page 69: UML per il Web: Approccio WEBML

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

Page 70: UML per il Web: Approccio WEBML

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

Page 71: UML per il Web: Approccio WEBML

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)

Page 72: UML per il Web: Approccio WEBML

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]

Page 73: UML per il Web: Approccio WEBML

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

Page 74: UML per il Web: Approccio WEBML

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

Page 75: UML per il Web: Approccio WEBML

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

Page 76: UML per il Web: Approccio WEBML

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

Page 77: UML per il Web: Approccio WEBML

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

Page 78: UML per il Web: Approccio WEBML

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

Page 79: UML per il Web: Approccio WEBML

ACMEComposizione della Home Page

CASO DI STUDIO

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications84http://www.webml.org

Page 80: UML per il Web: Approccio WEBML

ACME Pagina dei Prodotti

CASO DI STUDIO

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications85http://www.webml.org

Page 81: UML per il Web: Approccio WEBML

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

Page 82: UML per il Web: Approccio WEBML

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications87http://www.webml.org Lancia WebRatio

Page 83: UML per il Web: Approccio WEBML

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

Page 84: UML per il Web: Approccio WEBML

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

Page 85: UML per il Web: Approccio WEBML

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

Page 86: UML per il Web: Approccio WEBML

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

Page 87: UML per il Web: Approccio WEBML

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

Page 88: UML per il Web: Approccio WEBML

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

Page 89: UML per il Web: Approccio WEBML

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

Page 90: UML per il Web: Approccio WEBML

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

Page 91: UML per il Web: Approccio WEBML

Copyright

Copyright © Politecnico di Milano

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

1

http://www.webml.org

Copyright © Politecnico di Milano

March 2003

Page 92: UML per il Web: Approccio WEBML

1. Operazioni

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

2

http://www.webml.org

1. Operazioni

Page 93: UML per il Web: Approccio WEBML

Integrazione di ipertesti e logica applicativa

» Esempi di siti che fanno uso di servizi backback--endend o remoti:> Reservation Web site: richiesta di prenotazione, annullamento o

modifica di prenotazione> Altri esempi: gestione contenuti,carrello della spesa di siti e-

commerce, gestione del profilo personale, ...

» PROBLEMA:

MODEL

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

3

http://www.webml.org

» PROBLEMA: > Come modellare la chiamata di operazioni?

» SOLUZIONE:> Inserendo le chiamate di operazioni come nuove primitive di

ipertesto

Page 94: UML per il Web: Approccio WEBML

Operation Unit

» Descrive una generica operazione esterna o predefinita

» Riceve input da uno o più link entranti (di cui uno deve essere un normal link, mentre gli altri saranno transport links)

MODEL

Operation Unit

KO

OK

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

4

http://www.webml.org

» Due tipi di link di uscita:> OK link: seguito nel caso in cui l’operazione si conclude con successo

> KO link: seguito nel caso in cui l’operazione fallisce

» Le operazioni non hanno scopo di pubblicare informazione � sono sono posizionate all’esterno delle pagineposizionate all’esterno delle pagine

Entità

[Selettore]

Page 95: UML per il Web: Approccio WEBML

Operazioni predefinite (Built-in)

» WebML fornisce un insieme di operazioni predefinite per la gestione dei contenuti (istanze dei dati pubblicati sul sito)

» Operazioni tradizionali di gestione di basi di dati: create, delete, modify, create relationship, delete relationship

MODEL

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

5

http://www.webml.org

delete, modify, create relationship, delete relationship» Il loro comportamento è predefinito, e consente di consente di

gestire le istanze di entità e relazioni dichiarate nel gestire le istanze di entità e relazioni dichiarate nel modello dei datimodello dei dati

» E’ possibile arricchire tale insieme con altre operazioni definite dall’utente

Page 96: UML per il Web: Approccio WEBML

Operazioni predefinite per la gestione dei contenuti

Delete Unit

Entità

Create Unit

Entità

Modify Unit

Entità

CREATE DELETE MODIFY

MODEL

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

6

http://www.webml.org

Entità

[Selettore]

Entità Entità

[Selettore]

Disconnect Unit

Relazione

[Selettore]

Connect Unit

Relazione

[Selettore]

CONNECT DISCONNECT

Page 97: UML per il Web: Approccio WEBML

Create Unit

Create Unit

valore1→ attributo1

valore2 → attributo2

OID del nuovo

oggetto

MODEL

KO

OK

Niente

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

7

http://www.webml.org

» Riceve i valori da assegnare agli attributi del nuovo oggetto creato

» Restituisce l’identificativo dell’oggetto creato (se la creazione ha successo)

Entità

valore2 → attributo2

Page 98: UML per il Web: Approccio WEBML

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

8

http://www.webml.org

Page 99: UML per il Web: Approccio WEBML

Esempio di creazione

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications11

9

http://www.webml.orgLancia WebRatio

Page 100: UML per il Web: Approccio WEBML

Modify unit

valore2 → attributo1 valore1 → attributo2

OIDs degli oggetti modificati

Modify Unit

Entità

[Selettore]

MODEL

KO

OK

OIDs degli oggettinon modificati

OIDs degli oggetti da

modificare

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications12

0

http://www.webml.org

» Riceve i valori da assegnare agli attributi da modificare

» Nota: le istanze da modificare possono essere selezionate per mezzo di OID o per mezzo di selettore

» OK: Restituisce l’identificativo degli oggetti modificati (tutti quelli che erano stati richiesti)

» KO: Restituisce l’identificativo degli oggetti che non si è riusciti a modificare

[Selettore]

Page 101: UML per il Web: Approccio WEBML

Esempio di modifica

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications12

1

http://www.webml.orgLancia WebRatio

Page 102: UML per il Web: Approccio WEBML

Delete unit

NullaOIDs degli oggetti da cancellare

Delete Unit

Entità

MODEL

KO

OK

OIDs degli oggetti non cancellati

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications12

2

http://www.webml.org

» Riceve l’elenco degli oggetti da cancellare

» Nota: le istanze da cancellare possono essere selezionate per mezzo di OID o per mezzo di selettore

» OK: non restituisce nulla perchè gli oggetti non esistono più!!

» KO: Restituisce l’identificativo degli oggetti non cancellati

Entità

[Selettore]

Page 103: UML per il Web: Approccio WEBML

Esempio di cancellazioneMODEL

Master in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications12

3

http://www.webml.org