SlideShare a Scribd company logo
Unit 6: The Web Application Extension for UML

 Web pages should be modeled as first-class elements in the
    internal design model and represented alongside the classes and
    components that make up the rest of the Web presentation layer.
 However, the default building blocks of UML are not sufficient to
    express the necessary subtleties of Web pages as objects:
         Web pages may have scripts to be executed on the server, which
          interact with server-side resources before being sent to the browser
          as a completed Web page.
         Web pages may have scripts that execute on the browser as well.
         When processed by the server, the Web page does one thing; when
          processed by the browser, it does a completely different thing.
 The Web Application Extension (WAE) to UML enables us to
    represent Web pages and other architecturally significant elements
    in the internal design model of the Web presentation layer

dsbw 2011/2012 q1                                                                1
UML Mechanisms To Extend UML
 In general, any extension to UML is expressed in terms of
    stereotypes, tagged values, and/or constraints.
 Combined, these mechanisms extend the notation of UML,
    enabling creating new types of building blocks to be used in the
    model.
 Stereotype: is an extension to the vocabulary of the language that
    allows to attach a new semantic meaning to a UML model element
    (a class, an association, etc).
 Tagged value: is the definition of a new property that can be
    associated with a model element.
      UML Classes, for instance, have names, visibility, persistence,
       and other properties associated with them.
 Constraint: specifies the conditions under which the model can be
    considered well formed.
dsbw 2011/2012 q1                                                        2
WAE Stereotypes

 Class Stereotypes:      Association
       Server Page        Stereotypes:
       Client Page         Link
       Form                Build
       Frameset            Submit
       Target              Redirect
       Script Library      Forward
                            Object
                            Include
                            Script



dsbw 2011/2012 q1                         3
Client Page



                                                    Operations: functions
   Attributes: variables of                         defined by the page
   the page scripts                                 scripts. They are private,
                                                    they will never called
                                                    from outside

 A client page instance is an HTML-formatted Web page with a
  mix of data, presentation, and even logic.
 Constraints: none
 Tagged values:
       TitleTag, the title of the page as displayed by the browser.
       BaseTag, the base URL for dereferencing relative URLs.
       BodyTag, the set of attributes for the <body> tag, which sets
        background and default text attributes.
dsbw 2011/2012 q1                                                            4
Server Page




   Attributes: global
   variables accessible by
   all the operations
                             Operations: functions that interact with databases, business
                             components, etc. and/or build dynamic content. These
                             operations are private: they will never be called from outside.

 A server page represents a dynamic Web page that contains
  content assembled on the server each time it is requested. Later it
  can be implemented as a Servlet, JSP, ASP, or PHP page
 Constraints: Server pages can have only “normal” relationships
  with objects on the server
 Tagged values: none

dsbw 2011/2012 q1                                                                       5
Form



    Attributes: represent the
    HTML form's input fields:
    input boxes, text areas,
    radio buttons, check                       Operations: none
    boxes, hidden fields, etc.


 A form instance represents a HTML form in a client page.
 Constraints: none.

 Tagged values:
         Either GET or POST: the method used to submit data to the
          action URL.


dsbw 2011/2012 q1                                                     6
Case Study: Micro Blog Example




dsbw 2011/2012 q1                7
Micro Blog Example (cont.)




dsbw 2011/2012 q1            8
Micro Blog Example: UX Model




dsbw 2011/2012 q1              9
Main WAE Stereotypes: Micro Blog Example




UX Model


Internal
Design




 dsbw 2011/2012 q1                          10
WAE Association Stereotypes
 Association
                        Source            Target          Description
 Stereotype
                                      <<Client Page>>
                                      <<Server Page>      Abstraction of <a href= ...>
  <<link>>          <<Client Page>>
                                         UX Model         Tagged value: parameters
                                        <<Screen>>
                                                          Identifies the HTML output of a server
  <<build>>         <<Server Page>>   <<Client Page>>
                                                          page's execution.
<<submit>>             <<Form>>       <<Server Page>>     Form data submission

                    <<Client Page>>   <<Client Page>>     Makes the browser request the target
<<redirect>>        <<Server Page>>   <<Server Page>      resource

                                                          Delegation of processing a client's
                                      <<Client Page>>
<<forward>>         <<Server Page>>
                                      <<Server Page>
                                                          request for a resource to another server-
                                                          side page
                                                          the included page gets processed, if
                                      <<Client Page>>
<<include>>         <<Server Page>>
                                      <<Server Page>
                                                          dynamic, and its contents are
                                                          incorporated in the container page.
                                       ActiveX, Applet
 <<object>>         <<Client Page>>
                                            Class
                                                          Abstraction of <object> o <applet>

 <<script>>         <<Client Page>>   <<Script Library>   Script Library import
dsbw 2011/2012 q1                                                                                  11
Link Parameters

   Sort posts by <a href=blogger?order=author>author</a>,
   <a href=blogger?order=title>title</a> or
   <a href=blogger?order=date>date</a>




dsbw 2011/2012 q1                                           12
Link Parameters (cont.)




dsbw 2011/2012 q1         13
Internal Design Sequence Diagram: Micro Blog Example

: User     <<server page>>                                       <<client page>>      <<form>>    <<server page>>
             : Blogger                                        :blog_update.html    :newPostForm         :Updater

     /navigate/
                      queryDB()


                     /build/ <<client page>>
                             :blogger.html


                     /follow link/
                                                  /link/


                                                /fill form/
                                                                                             /submit/
                                                                                                            insertIntoDB()

                                                           /forward/
                        queryDB()


                             /build/           <<client page>>
                                               :blogger.html




 dsbw 2011/2012 q1                                                                                                  14
WAE Stereotypes To Represent Client-Side Processing




dsbw 2011/2012 q1                                     15
Case Study: Lab’s WoT (Main Page)




No AJAX!




  dsbw 2011/2012 q1                   16
Lab’s WoT: Logged User Page




dsbw 2011/2012 q1             17
Lab’s Wall: Registration Page




dsbw 2011/2012 q1               18
Lab’s Wall: Error Page




dsbw 2011/2012 q1        19
Lab’s WoT: UX Model




dsbw 2011/2012 q1     20
Lab’s WoT: Internal Design with WAE
(Lab 3.1 reengineered. Velocity templates as Server Pages)




dsbw 2011/2012 q1                                            21
References
 J. Conallen. Building Web Applications with UML. Second
    Edition. Addison-Wesley, 2003.




dsbw 2011/2012 q1                                           22

More Related Content

PPT
Extensiones UML para aplicaciones web - Rocío Santiago
PPTX
Servicios web
PPTX
Arquitectura flujo de datos(filtros y tuberías)
PPT
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
PDF
Modelos de desarrollo de aplicaciones web
PDF
7. Utilización de mecanismos de comunicación asíncrona
PPT
Sql presentacion
PPTX
Diagramas de caso de uso
Extensiones UML para aplicaciones web - Rocío Santiago
Servicios web
Arquitectura flujo de datos(filtros y tuberías)
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Modelos de desarrollo de aplicaciones web
7. Utilización de mecanismos de comunicación asíncrona
Sql presentacion
Diagramas de caso de uso

What's hot (20)

PDF
Normalizacion de base de datos
PPTX
C3 lenguaje de presentación.
PDF
6. Utilización del modelo de objetos del documento (DOM)
PDF
Modelo relacional
PPTX
Unidad II. Modelo de Datos
PPT
Modelo de Objeto Semantico
 
PPT
ENTRADA Y SALIDA DE DATOS EN JAVA
PDF
Ejemplo dfd
PPTX
Patron de Desarrollo Modelo Vista Controlador
PPTX
Proyecto De Base De Datos
PPSX
Diagrama De Secuencia
PPTX
Introducción a HTML - CSS - JS
PDF
Diagrama de clases
PPTX
Java script
PPTX
Patrón de diseño Modelo-Vista-Controlador (MVC)
PDF
Fundamentos de Base de Datos
PPT
Base De Datos Distribuidas
PPT
Uml diagramas-caso-de-uso
PDF
Diagrama uml ing software i promecys
Normalizacion de base de datos
C3 lenguaje de presentación.
6. Utilización del modelo de objetos del documento (DOM)
Modelo relacional
Unidad II. Modelo de Datos
Modelo de Objeto Semantico
 
ENTRADA Y SALIDA DE DATOS EN JAVA
Ejemplo dfd
Patron de Desarrollo Modelo Vista Controlador
Proyecto De Base De Datos
Diagrama De Secuencia
Introducción a HTML - CSS - JS
Diagrama de clases
Java script
Patrón de diseño Modelo-Vista-Controlador (MVC)
Fundamentos de Base de Datos
Base De Datos Distribuidas
Uml diagramas-caso-de-uso
Diagrama uml ing software i promecys
Ad

Viewers also liked (14)

PPTX
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
PPTX
Business Process Reengineering Presentation
PPTX
PDF
Nyc 7 qualities_of_the_leader_as_coach_
PPT
Moneran Kingdom
PDF
Unit 05: Physical Architecture Design
DOCX
Training & development dhanu
PDF
Unit 09: Web Application Testing
PDF
Open Source ERP Technologies for Java Developers
DOCX
Final Report Business Process Reengineering
PDF
Unit 07: Design Patterns and Frameworks (1/3)
PDF
Modelagem Aplicações Web com UML
PDF
Diagramas UML: Componentes y despliegue
PDF
alphorm.com - Formation UML
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
Business Process Reengineering Presentation
Nyc 7 qualities_of_the_leader_as_coach_
Moneran Kingdom
Unit 05: Physical Architecture Design
Training & development dhanu
Unit 09: Web Application Testing
Open Source ERP Technologies for Java Developers
Final Report Business Process Reengineering
Unit 07: Design Patterns and Frameworks (1/3)
Modelagem Aplicações Web com UML
Diagramas UML: Componentes y despliegue
alphorm.com - Formation UML
Ad

Similar to Unit 06: The Web Application Extension for UML (20)

PDF
Week 05 Web, App and Javascript_Brandon, S.H. Wu
PDF
Model-Driven Software Development - Strategies for Design & Implementation of...
PDF
Strategies for Design & Implementation of Domain-Specific Languages
PPT
WARE: a tool for the Reverse Engineering of Web Applications
PPTX
KEY
Modern Web Technologies — Jerusalem Web Professionals, January 2011
KEY
Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru...
PDF
Architecture of a Modern Web App - SpringOne India
PDF
Web I - 04 - Forms
PDF
WEB I - 01 - Introduction to Web Development
PDF
Seaside - The Revenge of Smalltalk
PDF
Recovering a Business Object Model from Web Applications
PDF
Eva flex java_1_slides
PDF
Syllibus web application
PDF
Jax2010 adobe lcds
PDF
Week01 jan19 introductionto_php
PDF
Experiences on a Design Approach for Interactive Web Applications
PPT
introduction to web application development
Week 05 Web, App and Javascript_Brandon, S.H. Wu
Model-Driven Software Development - Strategies for Design & Implementation of...
Strategies for Design & Implementation of Domain-Specific Languages
WARE: a tool for the Reverse Engineering of Web Applications
Modern Web Technologies — Jerusalem Web Professionals, January 2011
Modern Web technologies (and why you should care): Megacomm, Jerusalem, Febru...
Architecture of a Modern Web App - SpringOne India
Web I - 04 - Forms
WEB I - 01 - Introduction to Web Development
Seaside - The Revenge of Smalltalk
Recovering a Business Object Model from Web Applications
Eva flex java_1_slides
Syllibus web application
Jax2010 adobe lcds
Week01 jan19 introductionto_php
Experiences on a Design Approach for Interactive Web Applications
introduction to web application development

More from DSBW 2011/2002 - Carles Farré - Barcelona Tech (9)

PDF
Unit 08: Security for Web Applications
PDF
Unit 07: Design Patterns and Frameworks (3/3)
PDF
Unit 07: Design Patterns and Frameworks (2/3)
PDF
Unit 04: From Requirements to the UX Model
PDF
Unit03: Process and Business Models
PDF
Unit 02: Web Technologies (2/2)
PDF
Unit 02: Web Technologies (1/2)
PDF
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
Unit 08: Security for Web Applications
Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (2/3)
Unit 04: From Requirements to the UX Model
Unit03: Process and Business Models
Unit 02: Web Technologies (2/2)
Unit 02: Web Technologies (1/2)
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
Teaching material agriculture food technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
Teaching material agriculture food technology
Review of recent advances in non-invasive hemoglobin estimation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
The AUB Centre for AI in Media Proposal.docx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx

Unit 06: The Web Application Extension for UML

  • 1. Unit 6: The Web Application Extension for UML  Web pages should be modeled as first-class elements in the internal design model and represented alongside the classes and components that make up the rest of the Web presentation layer.  However, the default building blocks of UML are not sufficient to express the necessary subtleties of Web pages as objects:  Web pages may have scripts to be executed on the server, which interact with server-side resources before being sent to the browser as a completed Web page.  Web pages may have scripts that execute on the browser as well.  When processed by the server, the Web page does one thing; when processed by the browser, it does a completely different thing.  The Web Application Extension (WAE) to UML enables us to represent Web pages and other architecturally significant elements in the internal design model of the Web presentation layer dsbw 2011/2012 q1 1
  • 2. UML Mechanisms To Extend UML  In general, any extension to UML is expressed in terms of stereotypes, tagged values, and/or constraints.  Combined, these mechanisms extend the notation of UML, enabling creating new types of building blocks to be used in the model.  Stereotype: is an extension to the vocabulary of the language that allows to attach a new semantic meaning to a UML model element (a class, an association, etc).  Tagged value: is the definition of a new property that can be associated with a model element.  UML Classes, for instance, have names, visibility, persistence, and other properties associated with them.  Constraint: specifies the conditions under which the model can be considered well formed. dsbw 2011/2012 q1 2
  • 3. WAE Stereotypes  Class Stereotypes:  Association  Server Page Stereotypes:  Client Page  Link  Form  Build  Frameset  Submit  Target  Redirect  Script Library  Forward  Object  Include  Script dsbw 2011/2012 q1 3
  • 4. Client Page Operations: functions Attributes: variables of defined by the page the page scripts scripts. They are private, they will never called from outside  A client page instance is an HTML-formatted Web page with a mix of data, presentation, and even logic.  Constraints: none  Tagged values:  TitleTag, the title of the page as displayed by the browser.  BaseTag, the base URL for dereferencing relative URLs.  BodyTag, the set of attributes for the <body> tag, which sets background and default text attributes. dsbw 2011/2012 q1 4
  • 5. Server Page Attributes: global variables accessible by all the operations Operations: functions that interact with databases, business components, etc. and/or build dynamic content. These operations are private: they will never be called from outside.  A server page represents a dynamic Web page that contains content assembled on the server each time it is requested. Later it can be implemented as a Servlet, JSP, ASP, or PHP page  Constraints: Server pages can have only “normal” relationships with objects on the server  Tagged values: none dsbw 2011/2012 q1 5
  • 6. Form Attributes: represent the HTML form's input fields: input boxes, text areas, radio buttons, check Operations: none boxes, hidden fields, etc.  A form instance represents a HTML form in a client page.  Constraints: none.  Tagged values:  Either GET or POST: the method used to submit data to the action URL. dsbw 2011/2012 q1 6
  • 7. Case Study: Micro Blog Example dsbw 2011/2012 q1 7
  • 8. Micro Blog Example (cont.) dsbw 2011/2012 q1 8
  • 9. Micro Blog Example: UX Model dsbw 2011/2012 q1 9
  • 10. Main WAE Stereotypes: Micro Blog Example UX Model Internal Design dsbw 2011/2012 q1 10
  • 11. WAE Association Stereotypes Association Source Target Description Stereotype <<Client Page>> <<Server Page> Abstraction of <a href= ...> <<link>> <<Client Page>> UX Model Tagged value: parameters <<Screen>> Identifies the HTML output of a server <<build>> <<Server Page>> <<Client Page>> page's execution. <<submit>> <<Form>> <<Server Page>> Form data submission <<Client Page>> <<Client Page>> Makes the browser request the target <<redirect>> <<Server Page>> <<Server Page> resource Delegation of processing a client's <<Client Page>> <<forward>> <<Server Page>> <<Server Page> request for a resource to another server- side page the included page gets processed, if <<Client Page>> <<include>> <<Server Page>> <<Server Page> dynamic, and its contents are incorporated in the container page. ActiveX, Applet <<object>> <<Client Page>> Class Abstraction of <object> o <applet> <<script>> <<Client Page>> <<Script Library> Script Library import dsbw 2011/2012 q1 11
  • 12. Link Parameters Sort posts by <a href=blogger?order=author>author</a>, <a href=blogger?order=title>title</a> or <a href=blogger?order=date>date</a> dsbw 2011/2012 q1 12
  • 13. Link Parameters (cont.) dsbw 2011/2012 q1 13
  • 14. Internal Design Sequence Diagram: Micro Blog Example : User <<server page>> <<client page>> <<form>> <<server page>> : Blogger :blog_update.html :newPostForm :Updater /navigate/ queryDB() /build/ <<client page>> :blogger.html /follow link/ /link/ /fill form/ /submit/ insertIntoDB() /forward/ queryDB() /build/ <<client page>> :blogger.html dsbw 2011/2012 q1 14
  • 15. WAE Stereotypes To Represent Client-Side Processing dsbw 2011/2012 q1 15
  • 16. Case Study: Lab’s WoT (Main Page) No AJAX! dsbw 2011/2012 q1 16
  • 17. Lab’s WoT: Logged User Page dsbw 2011/2012 q1 17
  • 18. Lab’s Wall: Registration Page dsbw 2011/2012 q1 18
  • 19. Lab’s Wall: Error Page dsbw 2011/2012 q1 19
  • 20. Lab’s WoT: UX Model dsbw 2011/2012 q1 20
  • 21. Lab’s WoT: Internal Design with WAE (Lab 3.1 reengineered. Velocity templates as Server Pages) dsbw 2011/2012 q1 21
  • 22. References  J. Conallen. Building Web Applications with UML. Second Edition. Addison-Wesley, 2003. dsbw 2011/2012 q1 22