WebML  Modellazione concettuale  di applicazioni Web              http://www.webml.orgMaster in WebTechnologyCorso di: Mod...
Copyright      » Il materiale presentato nel seguito consiste in        una rielaborazione delle slide in italiano ed     ...
Nome                      Città            Nazione    TipoA2A SPA                   Milano           Italy      End UserAC...
www.webml.org4 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applicati...
Modellazione in WebML    » WebML fornisce un approccio strutturato per il      design di applicazioni Web data-intensive  ...
Applicazioni Web data-intensive      » Sistemi per il Web, il cui scopo principale è gestire e pubblicare        grandi qu...
Alcuni modelli concettuali   »Prime proposte per la modellazione di applicazioni ipermediali (Communication of    ACM, Aug...
The WebML models        » Models:             > Structure Model:                   - Data organization                   -...
WebML – concetti di base                                   Applicazione Web=           Structure                          ...
Structure Model (1)      » Q: what are the objects published in the site and how          they are related?      » A:     ...
Structure Model (2)     » Simplified Entity-Relationship model          > Binary relationships between entities          >...
Derivation Model   » Redundant data can be easily specified using a     WebML-OQL (Object Query Language).   » E.g.:      ...
Hypertext Model           •Q1: what information is published in the           hypertext nodes?           •Q2: how are the ...
A1. Content Units examples     DATAUNIT                                                      To publish information       ...
A1. Content Units examples                 rendering                DATAUNIT                                              ...
A2. Navigation Model: Links                                                  AuthorID                                     ...
A2. Types of links      » Contextual links            > Between units            > Context transported      » Non-contextu...
A3. Composition: Pages      A Page is a structured container of units and links           > Possibly structured in and/or ...
Presentation Model        » Presentation dealt with along two lines:              > Gallery of default presentation styles...
WebRatio    Site Development Studio      Functionalities:      » Structure model design      » Data derivation (Derivation...
Structure modelling                                                                                         Attribute     ...
Hypertext modelling                                                                           Siteviews                   ...
Modello dei Dati  in WebML  (Structure Model)              http://www.webml.orgMaster in WebTechnologyCorso di: Modellazio...
Copyright                   Copyright © Politecnico di Milano                             March 200326http://www.webml.org...
Obiettivi      » Tipiche domande:           > Quali sono gli oggetti informativi da pubblicare tramite             l’appli...
MODELLO DEI DATI    Look and Feel28http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: U...
MODELLO DEI DATI                                                  Notazione grafica                       Entità1         ...
MODELLO DEI DATI  Ruoli e cardinalità delle relazioni    » Il ruolo di una relazione è una delle due “direzioni” in cui   ...
MODELLO DEI DATI                          Attributi composti      » Attributi con una struttura interna (per es., un indir...
MODELLO DEI DATI32http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applic...
MODELLO DEI DATI                                            Relazioni con attributi      » Rappresentate da una entità cen...
MODELLO DEI DATI                            Relazioni N-arie      » Relazioni che coinvolgono N entità (N>2)            > ...
Gerarchie IS-A     » Le sotto-entità ereditano gli attributi e le relazioni di una       super entità     » Le sotto-entit...
CASO DI STUDIO Esempio Catalogo Elettronico della ditta ACME    »ACME: una medio-piccola impresa di mobili, che vende i su...
CASO DI STUDIO       ACME – Schema dei dati          Category       Category: string         0:N                          ...
MODELLO DEI DATI                 Oggetti derivati     » La derivazione permette di:          > Arricchire il contenuto di ...
MODELLO DEI DATI                 WebML OQL      » La derivazione si specifica scrivendo espressioni        chiamate “query...
MODELLO DEI DATI                 Entità derivate   »La popolazione di Sotto-Entità nelle gerarchie IS-A può essere specifi...
MODELLO DEI DATI                 Attributi derivati               » Quattro tipi di attributi derivati:                   ...
Lancia WebRatio42http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applica...
Attributi Costanti                                         DipendentePoli                                        Affiliazi...
MODELLO DEI DATI                 Attributi importati                      Uomo                                          Do...
MODELLO DEI DATI             Attributi calcolati e aggregati                       Ordine                                 ...
MODELLO DEI DATI                 Relazioni Derivate      Le relazioni possono essere derivate in due modi:      » Definend...
47http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
MODELLO DEI DATI                 Relazioni derivate: restrizione    Restrizione di relazioni pre-esistenti:               ...
MODELLO DEI DATI      Relazioni derivate: concatenazione   Concatenazione di relazioni:                   Libro           ...
Modello di ipertesto  in WebML              http://www.webml.orgMaster in WebTechnologyCorso di: Modellazione UML per il W...
Copyright                       Copyright © Politecnico di Milano                                 March 200351http://www.w...
Look and Feel52http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applicati...
1. Motivazioni e Concetti di Base53http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: U...
MODELLO DI IPERTESTO     Modello di Ipertesto:     obiettivi      Modellazione ad alto livello del front-end di una      a...
MODELLO DI IPERTESTO                        Modellazione dell’Ipertesto:                                  Domande Tipiche ...
MODELLO DI IPERTESTO                             Unità di contenuto    » Una unita’ di contenuto in WebML è l’elemento    ...
MODELLO DI IPERTESTO                       Unità di Contenuto di Base                DATAUNIT                   INDEXUNIT ...
MODELLO DI IPERTESTO                           Significato delle unità di                           contenuto             ...
MODELLO DI IPERTESTO                       Input e output delle unita’                                ParIN               ...
2. Unit di Contenuto60http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Ap...
MODELLO DI IPERTESTO                                                                         DataUnit                     ...
CASO DI STUDIO                                                                     ACME                                   ...
MODELLO DI IPERTESTO                                                                MultiDataUnit                         ...
MODELLO DI IPERTESTO                                                                             IndexUnit                ...
CASO DI STUDIO              ACME: IndexUnit nella pagina              Products                                            ...
MODELLO DI IPERTESTO                                                            MultichoiceUnit                           ...
MODELLO DI IPERTESTO                                           HierarchicalUnit      Parametri                     {OIDSel...
MODELLO DI IPERTESTO                                                         HierarchicalUnit:                            ...
MODELLO DI IPERTESTO                                                         HierarchicalUnit:                            ...
MODELLO DI IPERTESTO                                                         HierarchicalUnit:                            ...
MODELLO DI IPERTESTO                                                                        ScrollerUnit          parametr...
3. Link e parametri72http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web App...
MODELLO DI IPERTESTO                                                             Link contestuali        Sorgente         ...
MODELLO DI IPERTESTO                           Parametri sui link: default    •   Quando è possible, i parametri sui link ...
MODELLO DI IPERTESTO                                                                           Selettori:                 ...
4. Pagine, Aree, Site view79http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for ...
MODELLO DI IPERTESTO               Pagine » Una pagina è un contenitore di una o più unità di   contenuto mostrate all’ute...
MODELLO DI IPERTESTO               Link non contestuali      » Link definiti tra pagine      » Non trasportano alcuna info...
MODELLO DI IPERTESTO                                                                Home Page     » É la pagina principale...
MODELLO DI IPERTESTO                            Pagine Landmark     Indice dei Libri         Negozi                       ...
CASO DI STUDIO                                     ACME              Composizione della Home Page84http://www.webml.orgMas...
CASO DI STUDIO                                                         ACME                                            Pag...
MODELLO DI IPERTESTO                        Aree                                          Area                            ...
87http://www.webml.org                    Lancia WebRatioMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini:...
MODELLO DI IPERTESTO                        Site View » Un insieme di pagine e/o aree che forniscono una   vista coerente ...
CASO DI STUDIO                                              ACME                       Modellazione delle site view      »...
CASO DI STUDIO                                                             ACME                                           ...
MODEL           Operazioni di Login/ Logout      » Una siteview può contenere una form per consentire login               ...
MODEL                CurrentUser e CurrentGroup      » WebML fornisce due global parameters        predefiniti:           ...
MODEL                       Pagine annidate   » E’ possibile definire pagine annidate (sottopagine)   » Pagine annidate po...
MODEL               Esempio di pagine annidate in OR   » Pagina di prodotto che mostra l’elenco dei dettagli oppure,     a...
Modello delle  Operazioni in WebML              http://www.webml.orgMaster in WebTechnologyCorso di: Modellazione UML per ...
Copyright                   Copyright © Politecnico di Milano                             March 200311http://www.webml.org...
1. Operazioni11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applicati...
MODEL    Integrazione di ipertesti e logica    applicativa    » Esempi di siti che fanno uso di servizi back-end o remoti:...
MODEL                 Operation Unit        » Descrive una generica operazione esterna o predefinita        » Riceve input...
MODEL      Operazioni predefinite (Built-in)    » WebML fornisce un insieme di operazioni predefinite per      la gestione...
MODEL          Operazioni predefinite per la          gestione dei contenuti                CREATE                        ...
MODEL         Create Unit               valore1→ attributo1                     KO                                        ...
11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications8
Esempio di creazione  Lancia WebRatio11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccin...
MODEL         Modify unit                                                                     OIDs degli oggetti          ...
Esempio di modifica  Lancia WebRatio12http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini...
MODEL     Delete unit                                                                   OIDs degli oggetti                ...
MODEL           Esempio di cancellazione12http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muc...
Upcoming SlideShare
Loading in...5
×

UML per il Web: Approccio WEBML

952

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
952
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

UML per il Web: Approccio WEBML

  1. 1. WebML Modellazione concettuale di applicazioni Web http://www.webml.orgMaster in WebTechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila
  2. 2. 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 disposizione tale materiale Copyright © Politecnico di Milano March 2003 Henry Muccini2 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  3. 3. Nome Città Nazione TipoA2A SPA Milano Italy End UserACER Europe Lainate (MI) Italy End UserAutostrade S.p.A. Firenze Italy End User I-Tech Web Porto Torres (SS) Italy Software HouseCim Italia Zingonia (BG) Italy End User Pantea s.r.l. Navacchio di Pisa Italy Software HouseCross Factor Milano Italy End User ROSEN Livorno Italy Software HouseEldor Corporation Orsenigo (CO) Italy End User RTT Solutions Cinisello Balsamo Italy Software HouseENEL Roma Italy End User (MI)Forus - Electa Milano Italy End User Softlabs Modena Italy Software HouseIndustria Chimica Reggio Emilia Italy End User Substantial Roma Italy Software HouseReggiana Zel Informatica Milano Italy Software HouseLocat SpA Milano Italy End UserPrague Security Centre Prague Czech End User DiXtreme Milano Italy System Republic IntegratorProvincia di Milano Milano Italy End User DS Group Milano Italy SystemSenato della Rebubblica Roma Italy End User IntegratorAtena Informatica Cermenate (CO) Italy Software House Eustema Roma Italy SystemCatharsys Consulting Bruxelles Belgium Software House IntegratorGroup Gap It Udine Italy SystemData Progress Vimodrone Italy Software House IntegratorEdith Software Vanzaghello Italy Software House Pride Group Milano Italy SystemE-tek srl Trivolzio (PV) Italy Software House IntegratorEutopia srl Taranto Italy Software House Ra Computer Milano Italy SystemGD Informatica Milano Italy Software House IntegratorGraficad Milano Italy Software House SESA Roma Italy SystemHomeria Open Solutions Caceres Spain Software House IntegratorItalSoft Sistemi S.r.l. Milano Italy Software House 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%20clienti3 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  4. 4. www.webml.org4 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  5. 5. 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’ » WebML (Web Modeling Language) – http://webml.org > Modellazione del contenuto informativo > Modellazione dell’ipertesto > WebRatio: un tool di sviluppo per WebML – http://www.webratio.com5 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  6. 6. 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, ... » 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 dati6 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  7. 7. 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) - 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)7 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  8. 8. The WebML models » Models: > Structure Model: - Data organization - Derivation: redundant data definition > 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 appearance8 http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  9. 9. WebML – concetti di base Applicazione Web= Structure Hypertext Presentation Model Model Model Dati + Ipertesto + Presentazione entità, unità, pagine, link, site view stili relazioni struttura del composizione + navigazione + contenuto presentazione9 http://www.webml.org personalizzazioneMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  10. 10. 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 > Attribute: scalar property of an entity > Relationship: A connection between entities > IS-A hierarchy: classification and grouping » Compatible with Entity-Relationship and UML class diagrams10http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  11. 11. Structure Model (2) » Simplified Entity-Relationship model > Binary relationships between entities > IS-A hierarchies > Simple typed Author Genre attributes in entities > Derivation model can be applied for Book redundant data BestSeller11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  12. 12. Derivation Model » Redundant data can be easily specified using a WebML-OQL (Object Query Language). » E.g.: > Author.BooksNumber = count(self.Author2Book) > BestSeller := Book where Book.Sales > 50,000 Author Book BestSeller12http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  13. 13. Hypertext Model •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? •A1: content units (Composition) •A2: links (Navigation) •A3: pages (Composition)13http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  14. 14. A1. Content Units examples DATAUNIT To publish information about A SINGLE object (e.g. AuthorDetail) content INDEXUNIT To publish a list of objects (e.g. IndexOfAuthors) content14http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  15. 15. A1. Content Units examples rendering DATAUNIT Author first name:XXX last name:YYY photo: Author INDEXUNIT Index of Authors •S. Ceri •P. Fraternali •O.Versand Author15http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  16. 16. A2. Navigation Model: Links AuthorID is transported entity: Book author [ 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)16http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  17. 17. A2. Types of links » Contextual links > Between units > Context transported » Non-contextual links Voyages Books > Between pages > No context transported17http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  18. 18. 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 E.g.: The index of authors and the selected author are shown Author Author together in the same page18http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  19. 19. Presentation Model » Presentation dealt with along two lines: > Gallery of default presentation styles applicable to site views or single pages (with elementary unit positioning on a grid) - each presentation style is an XSL stylesheet > Compatibility with best selling tools for presentation editing, for advanced page design - E.g., WebML extensions for Dreamweaver 3 & 421http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  20. 20. WebRatio Site Development Studio Functionalities: » Structure model design » Data derivation (Derivation Wizard) » 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 styles22http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  21. 21. Structure modelling Attribute Entity Relationship ISA hierarchy23http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  22. 22. Hypertext modelling Siteviews Allowed operations: » New siteview creation » Add/remove pages, units, Operation units links WebML units » Edit elements properties Links (panel) Page/alternative24http://www.webml.org » Cut&pasteMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  23. 23. Modello dei Dati in WebML (Structure Model) http://www.webml.orgMaster in WebTechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila
  24. 24. Copyright Copyright © Politecnico di Milano March 200326http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  25. 25. 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? » 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 diagrams27http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  26. 26. MODELLO DEI DATI Look and Feel28http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  27. 27. MODELLO DEI DATI Notazione grafica Entità1 Entità2 attributo1 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 generalizzazione29http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  28. 28. MODELLO DEI DATI Ruoli e cardinalità delle relazioni » Il ruolo di una relazione è una delle due “direzioni” in cui una relazione può essere interpretata Per ogni ruolo, possono essere specificati vincoli di cardinalità pubblica Autore Libro 0..N 1..N Pubblicazione pubblicato_da Attenzione: WebRatio usa notazioni differenti30http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  29. 29. MODELLO DEI DATI 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 Persona 0..N Indirizzo 1..N Via Numero Città Provincia Stato31http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  30. 30. MODELLO DEI DATI32http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  31. 31. MODELLO DEI DATI Relazioni con attributi » Rappresentate da una entità centrale e due relazioni » Es.: il voto preso da uno studente nell’esame di un certo corso Studente 0..N Voto 1..1 Corso Valore:integer 1..1 0..N33http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  32. 32. MODELLO DEI DATI 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 Componente 0..N 1..1 Ditta 0..N Fornitura 1..1 Dipartimento 1..1 0..N34http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  33. 33. 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 Alcune ipotesi restrittive in WebML: nome cognome • Non è permessa l’ereditarietà biografia multipla [vedi su WebRatio] • E’ possibile definire solo gerarchie esclusive CantantePop CantanteJazz • Ogni entità può apparire al massimo in una gerarchia strumento35http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  34. 34. CASO DI STUDIO 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. »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 diverse immagini > I prodotti sono raggruppati in categorie36http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  35. 35. CASO DI STUDIO ACME – Schema dei dati Category Category: string 0:N Combination 1:1 Product Code: integer Name: string Code: integer 0:N Price: float Name: string 1:N Description: text Price: float Photo: image Description: text StartDate: date Thumbnail: image 0:N EndDate: date Highlighted: boolean Highlighted: boolean 0:1 1:1 1:1 Tech record Big image Store Colors: image Description: text Location: string Sizes: text Photo: image Map: image Email: URL Foto: image37http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  36. 36. MODELLO DEI DATI Oggetti derivati » La derivazione permette di: > Arricchire il contenuto di un’entità, aggiungendo sia attributi calcolati, sia attributi importati da oggetti correlati. > Definire la popolazione di entità o di relazioni, sulla base di alcune proprietà degli oggetti coinvolti.38http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  37. 37. MODELLO DEI DATI WebML OQL » La derivazione si specifica scrivendo espressioni chiamate “query di derivazione” » WebML OQL (Object Query Language): un linguagigo per esprimere query di derivazione » Concetti derivabili: > Entità, relazioni, attributi » Le query di derivazione sono automaticamente trasformate in viste SQL installate nella base di dati39http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  38. 38. MODELLO DEI DATI Entità derivate »La popolazione di Sotto-Entità nelle gerarchie IS-A può essere specificata per mezzo di query OQL Autore ISA AutoreItaliano »Es.: “Un’autore italiano è un autore nato in Italia” »WebML OQL: value = “Autore as A where A.LuogoNascita contains ‘Italia’”40http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  39. 39. MODELLO DEI DATI Attributi derivati » Quattro tipi di attributi derivati: > Attributi costanti > Attributi Importati > Attributi Calcolati > Attributi Aggregati41http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  40. 40. Lancia WebRatio42http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  41. 41. Attributi Costanti DipendentePoli Affiliazione Value=“Politecnico di Milano”43http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  42. 42. MODELLO DEI DATI Attributi importati Uomo Donna marito cognome cognomeAcquisito Value=“Self.marito.cognome” » La variabile Self denota l’entità corrente in cui si vuole definire l’attributo44http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  43. 43. MODELLO DEI DATI Attributi calcolati e aggregati Ordine Dettaglio Ordine_Dettaglio prezzoTotale prezzo numLineeOrd qta prezzoTotale » Prezzo totale dell’ordine come somma dei prezzi delle 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)45http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  44. 44. MODELLO DEI DATI Relazioni Derivate Le relazioni possono essere derivate in due modi: » Definendo restrizioni e/o composizioni di relazioni pre- esistenti » Definendo nuove relazioni tra coppie di oggetti in base a condizioni (concatenazione)46http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  45. 45. 47http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  46. 46. MODELLO DEI DATI Relazioni derivate: restrizione Restrizione di relazioni pre-esistenti: Autore_LibroRecente Autore Libro Autore_Libro Value=“Self.Autore_Libro as L where L.date > ‘01/01/08’”48http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  47. 47. MODELLO DEI DATI Relazioni derivate: concatenazione Concatenazione di relazioni: Libro Libro_Autore Autore Capitolo_Libro Capitolo Capitolo_Autore value=“Self.Capitolo_Libro.Libro_Autore”49http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  48. 48. Modello di ipertesto in WebML http://www.webml.orgMaster in WebTechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila
  49. 49. Copyright Copyright © Politecnico di Milano March 200351http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  50. 50. Look and Feel52http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  51. 51. 1. Motivazioni e Concetti di Base53http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  52. 52. MODELLO DI IPERTESTO 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 Generazione automatica di template di pagine dinamiche e di interrogazioni per l’accesso e la manipolazione dei dati54http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  53. 53. MODELLO DI IPERTESTO Modellazione dell’Ipertesto: Domande Tipiche • 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? • In che modo i nodi dell’ipertesto sono collegati tra loro? • Primitive del modello di Ipertesto • Unità di contenuto (o unit) • Link • Pagine • Site view55http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  54. 54. MODELLO DI IPERTESTO 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: > Tutte le istanze di un’entità sorgente > Le istanze di una entità che soddisfano una condizione di selezione chiamata selettore unitX Sorgente [Selettore]56http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  55. 55. MODELLO DI IPERTESTO Unità di Contenuto di Base DATAUNIT INDEXUNIT MULTIDATAUNIT Sorgente Sorgente Sorgente [Selettore] [Selettore] [Selettore] SCROLLERUNIT MULTICHOICE HIERARCHICAL Sorgente Sorgente Sorgente [Selettore] [Selettore] [Selettore]57http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  56. 56. MODELLO DI IPERTESTO Significato delle unità di contenuto DATAUNIT INDEXUNIT MULTIDATAUNIT Autore Indice di tutti gli Autori Tutti gli Autori first name:XXX last name:YYY •S. Ceri photo: •P. Fraternali •A.S. Tanenbaum •O.Versand SCROLLERUNIT MULTICHOICE HIERARCHICAL Esplora gli Autori Scegli gli Autori Autori&Libri 5/12: vai a Ceri 1. S. Ceri 1/12 Fraternali Web Technologies Advanced Databases Versand 2. P. Fraternali Tanenbaum Web Technologies58http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  57. 57. MODELLO DI IPERTESTO Input e output delle unita’ ParIN ParOUT unitX entità [selettore (ParIN)] » 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 unit corrente59http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  58. 58. 2. Unit di Contenuto60http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  59. 59. MODELLO DI IPERTESTO DataUnit parametri OID Entità [Selettore(parametri)] » Pubblica informazione circa UNA SINGOLA ISTANZA » 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 attributo61http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  60. 60. CASO DI STUDIO ACME Esempio di DataUnit Product Details Product Informazione su di un prodotto specifico62http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  61. 61. MODELLO DI IPERTESTO MultiDataUnit parametri {OID} Entità [Selettore(parametri)] • Presenta istanze multiple di una entità (insieme di oggetti) oggetti) • 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)63http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  62. 62. MODELLO DI IPERTESTO IndexUnit parametri OIDSel Entità [Selettore(parametri)] » Pubblica una lista di elementi (insieme di oggetti) » 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)64http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  63. 63. CASO DI STUDIO ACME: IndexUnit nella pagina Products All Products OIDSel Product L’utente può accedere ai singoli prodotti cliccando su uno degli elementi della lista65http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  64. 64. MODELLO DI IPERTESTO MultichoiceUnit parametri {OIDSel} Entità [Selettore(parametri)] [Preselettore(parametri)] » Pubblica indici di elementi (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)66http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  65. 65. MODELLO DI IPERTESTO HierarchicalUnit Parametri {OIDSel} Entita1 [Selettore1(Parametri) NEST Entita2 [Entita1_Entita2] [Selettore2(Parametri)] » 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)67http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  66. 66. MODELLO DI IPERTESTO HierarchicalUnit: Esempio •Tables •Kitchen •Korla KJD54 •Chairs Categoria •Stools •Roy LKR34 NEST SottoCategoria •OddVar JSQ87 [Categoria_SottoCategoria] •Office NEST Prodotto •Jess RLT45 [SottoCategoria_Prodotto]68http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  67. 67. MODELLO DI IPERTESTO HierarchicalUnit: Esempio •Tables Categoria •Kitchen •Korla KJD54 •Chairs SottoCategoria •Stools •Roy LKR34 •OddVar JSQ87 Prodotto •Office •Jess RLT4569http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  68. 68. MODELLO DI IPERTESTO HierarchicalUnit: link a link uscenti •Tables link a Sotto_Cat link b •Kitchen link b •Korla KJD54 link c •Chairs link a link c •Stools link b Categoria •Roy LKR34 link c SottoCategoria •OddVar JSQ87 link c [Categoria_SottoCategoria] •Office link b Prodotto •Jess RLT45 link c [SottoCategoria_Prodotto] » 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 link70http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  69. 69. MODELLO DI IPERTESTO ScrollerUnit parametri {OIDSel} Entità [Selettore(parametri)] » Permette di definire il browsing in un insieme di oggetti: > Visualizza link al primo, al precedente, al prossimo, all’ultimo 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 corrente71http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  70. 70. 3. Link e parametri72http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  71. 71. MODELLO DI IPERTESTO Link contestuali Sorgente Destinazione Autore Autore • 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)73http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  72. 72. MODELLO DI IPERTESTO 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 Autore Libro [OID= …] [Autore_Libro]75http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  73. 73. MODELLO DI IPERTESTO Selettori: Default • Quando possibile, i selettori e i loro parametri sono inferiti dal diagramma, senza dover essere specificati esplicitamente Autore Libro Libro [Autore_Libro]76http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  74. 74. 4. Pagine, Aree, Site view79http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  75. 75. MODELLO DI IPERTESTO Pagine » Una pagina è un contenitore di una o più unità di contenuto mostrate all’utente contemporaneamente Home Page Login Indice dei Libri80http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  76. 76. MODELLO DI IPERTESTO Link non contestuali » Link definiti tra pagine » Non trasportano alcuna informazione di contesto HomePage Indice dei libri » L’utente naviga da una pagina all’altra per mezzo di un’ ancora (es: >>Indice dei Libri)81http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  77. 77. MODELLO DI IPERTESTO 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” HomePage H Indice dei libri82http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  78. 78. MODELLO DI IPERTESTO Pagine Landmark Indice dei Libri Negozi Indice dei Libri Negozi L InfoLibro Autori InfoLibri Autori » 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 WebRatio83http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  79. 79. CASO DI STUDIO ACME Composizione della Home Page84http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  80. 80. CASO DI STUDIO ACME Pagina dei Prodotti85http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  81. 81. MODELLO DI IPERTESTO Aree Area Pagina1 Pagina2 » Insiemi di pagine logicamente omogenee > Sezioni di un portale: Sport, Musica, Tecnologia, … » Le aree possono contenere sotto-aree annidate » Ogni area può includere una pagina (o una sottoarea) di “D”efault CatalogoLibri HomePage Indice InfoLibri dei Libri D86http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  82. 82. 87http://www.webml.org Lancia WebRatioMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  83. 83. MODELLO DI IPERTESTO 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 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 password88http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  84. 84. CASO DI STUDIO 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 contenuto89http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  85. 85. CASO DI STUDIO ACME Site 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 Customer Products Area Offers Area L L HomePage H Stores L L90http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications
  86. 86. MODEL Operazioni di Login/ Logout » Una siteview può contenere una form per consentire login Entry Unit Login » Ogni siteview privata dovrebbe consentire logout Logout » E’ consentito per un utente il cambio di ruolo durante la navigazione Entry Unit ChangeGroup10http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications0
  87. 87. MODEL CurrentUser e CurrentGroup » WebML fornisce due global parameters predefiniti: > CurrentUser: OID dell’utente corrente > 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 parametri10http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications1
  88. 88. MODEL Pagine annidate » E’ possibile definire pagine annidate (sottopagine) » Pagine annidate possono essere tra loro: » In AND (presenza » In OR: Si inserisce un contemporanea nella elemento ALTERNATIVE le ALTERNATIVE, pagina di tutte le cui pagine figlie compaiono sottopagine) in mutua esclusione. Una di esse è marcata come Default ProductPage ProductPage Images Historical Info InAlternativa Details Designers Designers D10http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications4
  89. 89. MODEL Esempio di pagine annidate in OR » Pagina di prodotto che mostra l’elenco dei dettagli oppure, a scelta dell’utente, l’elenco dei designer ProductPage InAlternativa 1 Details Designers 2 Product Detail Designer [P_D] D10http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications5 » NB.Ogni ipertesto può essere riportato a non avere
  90. 90. Modello delle Operazioni in WebML http://www.webml.orgMaster in WebTechnologyCorso di: Modellazione UML per il WebDocente: Henry MucciniVIII Edizione 2012/2013Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità degli Studi dell’Aquila
  91. 91. Copyright Copyright © Politecnico di Milano March 200311http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications1
  92. 92. 1. Operazioni11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications2
  93. 93. MODEL Integrazione di ipertesti e logica applicativa » Esempi di siti che fanno uso di servizi back-end o remoti: back- > 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: > Come modellare la chiamata di operazioni? » SOLUZIONE: > Inserendo le chiamate di operazioni come nuove primitive di ipertesto11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications3
  94. 94. MODEL 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) KO Operation Unit OK Entità [Selettore] » 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 posizionate all’esterno delle pagine11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications4
  95. 95. MODEL 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 » Il loro comportamento è predefinito, e consente di gestire le istanze di entità e relazioni dichiarate nel modello dei dati » E’ possibile arricchire tale insieme con altre operazioni definite dall’utente11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications5
  96. 96. MODEL Operazioni predefinite per la gestione dei contenuti CREATE DELETE MODIFY Create Unit Delete Unit Modify Unit Entità Entità Entità [Selettore] [Selettore] CONNECT DISCONNECT Connect Unit Disconnect Unit Relazione Relazione [Selettore] [Selettore]11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications6
  97. 97. MODEL Create Unit valore1→ attributo1 KO Niente Create Unit OK OID del nuovo oggetto valore2 → attributo2 Entità » Riceve i valori da assegnare agli attributi del nuovo oggetto creato » Restituisce l’identificativo dell’oggetto creato (se la creazione ha successo)11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications7
  98. 98. 11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications8
  99. 99. Esempio di creazione Lancia WebRatio11http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications9
  100. 100. MODEL Modify unit OIDs degli oggetti valore1 → attributo2 non modificati valore2 → attributo1 KO Modify Unit OK OIDs degli oggetti modificati OIDs degli oggetti da modificare Entità [Selettore] » 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 modificare12http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications0
  101. 101. Esempio di modifica Lancia WebRatio12http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications1
  102. 102. MODEL Delete unit OIDs degli oggetti non cancellati KO OIDs degli oggetti Delete Unit OK Nulla da cancellare Entità [Selettore] » 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 cancellati12http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications2
  103. 103. MODEL Esempio di cancellazione12http://www.webml.orgMaster in Web Technology VIII Edizione 2012/2013 | Henry Muccini: UML for Web Applications3
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×