SlideShare a Scribd company logo
1 of 22
Download to read offline
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

What's hot

Servidor de archivos y de datos
Servidor de archivos y de datosServidor de archivos y de datos
Servidor de archivos y de datosJulioLeon96
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Tipos de-usuarios-en-una-base-de-datos
Tipos de-usuarios-en-una-base-de-datosTipos de-usuarios-en-una-base-de-datos
Tipos de-usuarios-en-una-base-de-datosErnesto Velasquez
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datoshugodanielgd
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORRené Pilataxi
 
Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datosUTN
 
Todo Sobre El Dns
Todo Sobre El DnsTodo Sobre El Dns
Todo Sobre El DnsEdwin Cusco
 
Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)Melvin Jáquez
 
Unidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesUnidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesJuan Anaya
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003Diana Vásquez
 
Clases de direcciones IP
Clases de direcciones IPClases de direcciones IP
Clases de direcciones IPf_lazarte
 
Modelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones webModelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones webYaskelly Yedra
 

What's hot (20)

cliente servidor
cliente servidorcliente servidor
cliente servidor
 
Servidor de archivos y de datos
Servidor de archivos y de datosServidor de archivos y de datos
Servidor de archivos y de datos
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Tipos de-usuarios-en-una-base-de-datos
Tipos de-usuarios-en-una-base-de-datosTipos de-usuarios-en-una-base-de-datos
Tipos de-usuarios-en-una-base-de-datos
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 
Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datos
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Todo Sobre El Dns
Todo Sobre El DnsTodo Sobre El Dns
Todo Sobre El Dns
 
Proyecto Final - Calidad de Software
Proyecto Final - Calidad de SoftwareProyecto Final - Calidad de Software
Proyecto Final - Calidad de Software
 
Rfc2460 es
Rfc2460 esRfc2460 es
Rfc2460 es
 
Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)
 
Unidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesUnidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móviles
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003
 
Clases de direcciones IP
Clases de direcciones IPClases de direcciones IP
Clases de direcciones IP
 
Modelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones webModelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones web
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 

Viewers also liked

[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)Carles Farré
 
Business Process Reengineering Presentation
Business Process Reengineering PresentationBusiness Process Reengineering Presentation
Business Process Reengineering PresentationHira Anwer Khan
 
Nyc 7 qualities_of_the_leader_as_coach_
Nyc 7 qualities_of_the_leader_as_coach_Nyc 7 qualities_of_the_leader_as_coach_
Nyc 7 qualities_of_the_leader_as_coach_tomheck
 
Moneran Kingdom
Moneran KingdomMoneran Kingdom
Moneran Kingdomiiiapdst
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago2008PA2Info3
 
Training & development dhanu
Training & development dhanuTraining & development dhanu
Training & development dhanuDhanu P G Naik
 
Open Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java DevelopersOpen Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java Developerscboecking
 
Final Report Business Process Reengineering
Final Report Business Process ReengineeringFinal Report Business Process Reengineering
Final Report Business Process ReengineeringHira Anwer Khan
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLClaudio Martins
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
alphorm.com - Formation UML
alphorm.com - Formation UMLalphorm.com - Formation UML
alphorm.com - Formation UMLAlphorm
 

Viewers also liked (15)

[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
 
Business Process Reengineering Presentation
Business Process Reengineering PresentationBusiness Process Reengineering Presentation
Business Process Reengineering Presentation
 
Group3
Group3Group3
Group3
 
Nyc 7 qualities_of_the_leader_as_coach_
Nyc 7 qualities_of_the_leader_as_coach_Nyc 7 qualities_of_the_leader_as_coach_
Nyc 7 qualities_of_the_leader_as_coach_
 
Moneran Kingdom
Moneran KingdomMoneran Kingdom
Moneran Kingdom
 
Unit 05: Physical Architecture Design
Unit 05: Physical Architecture DesignUnit 05: Physical Architecture Design
Unit 05: Physical Architecture Design
 
Extensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío SantiagoExtensiones UML para aplicaciones web - Rocío Santiago
Extensiones UML para aplicaciones web - Rocío Santiago
 
Training & development dhanu
Training & development dhanuTraining & development dhanu
Training & development dhanu
 
Unit 09: Web Application Testing
Unit 09: Web Application TestingUnit 09: Web Application Testing
Unit 09: Web Application Testing
 
Open Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java DevelopersOpen Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java Developers
 
Final Report Business Process Reengineering
Final Report Business Process ReengineeringFinal Report Business Process Reengineering
Final Report Business Process Reengineering
 
Unit 07: Design Patterns and Frameworks (1/3)
Unit 07: Design Patterns and Frameworks (1/3)Unit 07: Design Patterns and Frameworks (1/3)
Unit 07: Design Patterns and Frameworks (1/3)
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UML
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
alphorm.com - Formation UML
alphorm.com - Formation UMLalphorm.com - Formation UML
alphorm.com - Formation UML
 

Similar to Unit 06: The Web Application Extension for UML

[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)Carles Farré
 
MVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on RailsMVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on Railscodeinmotion
 
Best Weblogic Server Online Training
Best Weblogic Server Online TrainingBest Weblogic Server Online Training
Best Weblogic Server Online TrainingSamatha Kamuni
 
Modelibra Software Family
Modelibra Software FamilyModelibra Software Family
Modelibra Software Familydzenanr
 
Component Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex MoldovanComponent Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex MoldovanITCamp
 
IBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentIBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentStrongback Consulting
 
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...Brian O'Gorman
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaEr. Sndp Srda
 
Oracle adf online training
Oracle adf online trainingOracle adf online training
Oracle adf online trainingo2education
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts frameworks4al_com
 
Component based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between RoutesComponent based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between RoutesIRJET Journal
 
Dynamic_UI_Concepts_version_2.pdf
Dynamic_UI_Concepts_version_2.pdfDynamic_UI_Concepts_version_2.pdf
Dynamic_UI_Concepts_version_2.pdfJoeRodriguez477329
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...Andrei Sebastian Cîmpean
 

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

Unit 07: Design Patterns and Frameworks (2/3)
Unit 07: Design Patterns and Frameworks (2/3)Unit 07: Design Patterns and Frameworks (2/3)
Unit 07: Design Patterns and Frameworks (2/3)
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
 
JavaScript
JavaScriptJavaScript
JavaScript
 
An Oracle ADF Introduction
An Oracle ADF IntroductionAn Oracle ADF Introduction
An Oracle ADF Introduction
 
MVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on RailsMVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on Rails
 
Unit 02: Web Technologies (2/2)
Unit 02: Web Technologies (2/2)Unit 02: Web Technologies (2/2)
Unit 02: Web Technologies (2/2)
 
Best Weblogic Server Online Training
Best Weblogic Server Online TrainingBest Weblogic Server Online Training
Best Weblogic Server Online Training
 
Modelibra Software Family
Modelibra Software FamilyModelibra Software Family
Modelibra Software Family
 
Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)Enterprise JavaBeans(EJB)
Enterprise JavaBeans(EJB)
 
Component Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex MoldovanComponent Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex Moldovan
 
IBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentIBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic Investment
 
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
 
o
oo
o
 
Oracle adf online training
Oracle adf online trainingOracle adf online training
Oracle adf online training
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
Component based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between RoutesComponent based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between Routes
 
Dynamic_UI_Concepts_version_2.pdf
Dynamic_UI_Concepts_version_2.pdfDynamic_UI_Concepts_version_2.pdf
Dynamic_UI_Concepts_version_2.pdf
 
Angular js
Angular jsAngular js
Angular js
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
 

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

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

Recently uploaded

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

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