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

YugabyteDB - Distributed SQL Database on Kubernetes
YugabyteDB - Distributed SQL Database on KubernetesYugabyteDB - Distributed SQL Database on Kubernetes
YugabyteDB - Distributed SQL Database on KubernetesDoKC
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacionalEduar Alfons Leon
 
Introducción a Computación en la Nube (Cloud Computing)
Introducción a Computación en la Nube (Cloud Computing)Introducción a Computación en la Nube (Cloud Computing)
Introducción a Computación en la Nube (Cloud Computing)Joel N. Miranda
 
Getting Started with Spring Authorization Server
Getting Started with Spring Authorization ServerGetting Started with Spring Authorization Server
Getting Started with Spring Authorization ServerVMware Tanzu
 
Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)Kevin Weil
 
Big Data in Real-Time at Twitter
Big Data in Real-Time at TwitterBig Data in Real-Time at Twitter
Big Data in Real-Time at Twitternkallen
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsJames Bayer
 
Running Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic BeanstalkRunning Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic BeanstalkAmazon Web Services
 
Data modeling for Elasticsearch
Data modeling for ElasticsearchData modeling for Elasticsearch
Data modeling for ElasticsearchFlorian Hopf
 
Diagrama De Secuencia De Retirar Dinero De Banco
Diagrama De Secuencia De Retirar Dinero De BancoDiagrama De Secuencia De Retirar Dinero De Banco
Diagrama De Secuencia De Retirar Dinero De BancoJuan
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.pptVMahesh5
 
Federated Engine 실무적용사례
Federated Engine 실무적용사례Federated Engine 실무적용사례
Federated Engine 실무적용사례I Goo Lee
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 

What's hot (20)

PHP
PHPPHP
PHP
 
YugabyteDB - Distributed SQL Database on Kubernetes
YugabyteDB - Distributed SQL Database on KubernetesYugabyteDB - Distributed SQL Database on Kubernetes
YugabyteDB - Distributed SQL Database on Kubernetes
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacional
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Introducción a Computación en la Nube (Cloud Computing)
Introducción a Computación en la Nube (Cloud Computing)Introducción a Computación en la Nube (Cloud Computing)
Introducción a Computación en la Nube (Cloud Computing)
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
 
Getting Started with Spring Authorization Server
Getting Started with Spring Authorization ServerGetting Started with Spring Authorization Server
Getting Started with Spring Authorization Server
 
Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)
 
Big Data in Real-Time at Twitter
Big Data in Real-Time at TwitterBig Data in Real-Time at Twitter
Big Data in Real-Time at Twitter
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic Concepts
 
Kotlin Coroutines - the new async
Kotlin Coroutines - the new asyncKotlin Coroutines - the new async
Kotlin Coroutines - the new async
 
Clases en java
Clases en javaClases en java
Clases en java
 
Running Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic BeanstalkRunning Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic Beanstalk
 
Data modeling for Elasticsearch
Data modeling for ElasticsearchData modeling for Elasticsearch
Data modeling for Elasticsearch
 
Diagrama De Secuencia De Retirar Dinero De Banco
Diagrama De Secuencia De Retirar Dinero De BancoDiagrama De Secuencia De Retirar Dinero De Banco
Diagrama De Secuencia De Retirar Dinero De Banco
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Federated Engine 실무적용사례
Federated Engine 실무적용사례Federated Engine 실무적용사례
Federated Engine 실무적용사례
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 

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

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

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