SlideShare a Scribd company logo
Pervasive Web Application
       Architecture

      Narendran Thangarajan,
          IV year, CSE,
   SSN College of Engg, Chennai.
Why are we studying this?

   You got a Phone
   And a Laptop.




                         Task :
                          Order Meals from KFC
Why are we studying this?


   Why?
   So the traditional web applications
    need to be tweaked!
   And thats why we are here. :)
The first person
who thought about this
   is Mark Weiser.
Why the name ”Pervasive” Web Applications?

   Pervade = diffuse or spread through
   Supports multiple devices
       PC's
       WAP phones
       PDA's
       Voice only phones

   Before Pervasive Computing – there were only PC based
    web applications
   After Pervasive Computing – HP just closed its PC market!
    :D → Devices are in various other forms.
Challenges faced

   Different Devices have different standards
        WML for WAP - Monochrome
        VoiceXML for voice interaction
        HTML for PC's
   Not just the looks, even the capabilities!! Say, a PC and WAP phone
    (Sounds like Silk, doesn't it?)


   Major Challenges
        Scalability – due to increased number of mobile phones
        Availability – due to the type of application used – look up a
         meaning or order something
Scalability and Availability
   Ever-growing number of pervasive computing devices
    (scalability)




   ”Server Currently Down for Maintenance” (availability)
The solution

   Can be solved by implementing a scalable physical
    topology :
       Adding more servers to the backend.
       Adding a backup server that would take-over during
        accidents.
       Generally parallelism and redundancy.

   Implementing the server using a more optimized stack
       Eg : All three-tiers being implemented using JavaScript.
Implementing a Pervasive Web Application
Development Team

   Traditional Web Applications
       Business Logic Designers
       User Interface Designers
       Application Programmers
       Database experts


   Pervasive computing Web applications
       Traditional + Pervasive Computing Specialists
Pervasive Application Architecture

   MVC Architecture
       M – Model – EJB
       V – View – JSPs
       C – Controller – Servlets

   Challenge is to make the controller identify the type of
    device and serve accordingly.
Security!!

   Encryption – Using Algorithms for confidentiality
   Authentication – Username and Password
   Authorization – Security Policies for accessing
    Application functions
   Client to Web Application → Convert device-specific
    requests to canonical form (HTTP requests with
    device type, desired language, desired reply content-
    type)
   When the secure access component receives a
    request, it checks if the session in authenticated. What
    happens in either cases.
Ways of Authentication
   Authentication Proxy
       Diagram
       Advantage – Only authenticated and authorized requests
        can reach protected web applications.
   Framework
       Attaches an authentication object to the session.
       Secure Servlet – inherits HttpServlet – Securitypolicy check
        done before calling super class function ”service”
       SecureJSP – Extends SecureServlet and implements
        HttpJspPage
       AuthenticationServlets – Can be implemented in many ways
        but SecurityState Object must be created and added to the
        user session.
   SecurityState Object – holds the security state of a
    session
       UserID
       Authenticated Method
       Potential Error Codes
   SecurityPolicy class – accesses the policy database
    and decides whether to allow further processing.
Theory is BORING!
Example Application

   How Java applications can be extended to
    support different kinds of device.
   Scenario – Uncle Enzo's Shop
       Specializes in Italian Food
       Wants to improve ordering process for the
        customers.
       First Step – Make an e-business
       Next Step – Support for Smart Cards
User Interface Overview

   Registration
   Login Screen
   Menu
   Ordering
   Review Former Purchases
   Self Care
   Log Off
Architecture (Demo)
   Database Schema
       Store Persistent Data (UserData)
   Servlets
       Identify the Device type and call the appropriate controller
        (DeviceMapper and Registration Servlet)
   Controllers
       Process requests by invoking application logic via command
        (Registration controller)
   Commands
       Excapsulate access to models and act as result containters
   Views
       Display the output of the controllers.
Thus..

   Understand how to make a single web
    application handle requests from variety of
    devices
   Understand the MVC
   Understand the Design Pattern used.
Queries?
Thats hell of a patience!! :P
Ad

More Related Content

What's hot (20)

Substitution techniques
Substitution techniquesSubstitution techniques
Substitution techniques
vinitha96
 
Secure Hash Algorithm
Secure Hash AlgorithmSecure Hash Algorithm
Secure Hash Algorithm
Vishakha Agarwal
 
What is Cryptography and Types of attacks in it
What is Cryptography and Types of attacks in itWhat is Cryptography and Types of attacks in it
What is Cryptography and Types of attacks in it
lavakumar Thatisetti
 
Steganography
Steganography Steganography
Steganography
Uttam Jain
 
Hash Function
Hash FunctionHash Function
Hash Function
Siddharth Srivastava
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
Sagar Rai
 
Intrusion detection system ppt
Intrusion detection system pptIntrusion detection system ppt
Intrusion detection system ppt
Sheetal Verma
 
Digital signature(Cryptography)
Digital signature(Cryptography)Digital signature(Cryptography)
Digital signature(Cryptography)
Soham Kansodaria
 
Digital watermarking
Digital watermarkingDigital watermarking
Digital watermarking
Ankush Kr
 
Block Cipher and its Design Principles
Block Cipher and its Design PrinciplesBlock Cipher and its Design Principles
Block Cipher and its Design Principles
SHUBHA CHATURVEDI
 
Hash function
Hash function Hash function
Hash function
Salman Memon
 
Encryption algorithms
Encryption algorithmsEncryption algorithms
Encryption algorithms
trilokchandra prakash
 
Virtualize of IO Devices .docx
Virtualize of IO Devices .docxVirtualize of IO Devices .docx
Virtualize of IO Devices .docx
kumari36
 
Issues in Data Link Layer
Issues in Data Link LayerIssues in Data Link Layer
Issues in Data Link Layer
selvakumar_b1985
 
Mobile Network Layer
Mobile Network LayerMobile Network Layer
Mobile Network Layer
Rahul Hada
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
Student
 
Lecture 1 (distributed systems)
Lecture 1 (distributed systems)Lecture 1 (distributed systems)
Lecture 1 (distributed systems)
Fazli Amin
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
Dr.Florence Dayana
 
Recognition-of-tokens
Recognition-of-tokensRecognition-of-tokens
Recognition-of-tokens
Dattatray Gandhmal
 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualization
Gokulnath S
 
Substitution techniques
Substitution techniquesSubstitution techniques
Substitution techniques
vinitha96
 
What is Cryptography and Types of attacks in it
What is Cryptography and Types of attacks in itWhat is Cryptography and Types of attacks in it
What is Cryptography and Types of attacks in it
lavakumar Thatisetti
 
Steganography
Steganography Steganography
Steganography
Uttam Jain
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
Sagar Rai
 
Intrusion detection system ppt
Intrusion detection system pptIntrusion detection system ppt
Intrusion detection system ppt
Sheetal Verma
 
Digital signature(Cryptography)
Digital signature(Cryptography)Digital signature(Cryptography)
Digital signature(Cryptography)
Soham Kansodaria
 
Digital watermarking
Digital watermarkingDigital watermarking
Digital watermarking
Ankush Kr
 
Block Cipher and its Design Principles
Block Cipher and its Design PrinciplesBlock Cipher and its Design Principles
Block Cipher and its Design Principles
SHUBHA CHATURVEDI
 
Virtualize of IO Devices .docx
Virtualize of IO Devices .docxVirtualize of IO Devices .docx
Virtualize of IO Devices .docx
kumari36
 
Mobile Network Layer
Mobile Network LayerMobile Network Layer
Mobile Network Layer
Rahul Hada
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
Student
 
Lecture 1 (distributed systems)
Lecture 1 (distributed systems)Lecture 1 (distributed systems)
Lecture 1 (distributed systems)
Fazli Amin
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
Dr.Florence Dayana
 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualization
Gokulnath S
 

Viewers also liked (20)

Pervasive computing and its Security Issues
Pervasive computing and its Security IssuesPervasive computing and its Security Issues
Pervasive computing and its Security Issues
Phearin Sok
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
MuleSoft
 
Web of Things Application Architecture
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application Architecture
Dominique Guinard
 
Pervasive Computing
Pervasive ComputingPervasive Computing
Pervasive Computing
VijayaLakshmi N
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
postrational
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guide
meroooo
 
Restructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and HibernateRestructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and Hibernate
gustavoeliano
 
Trustparency web doc spring 2.5 & hibernate
Trustparency web doc   spring 2.5 & hibernateTrustparency web doc   spring 2.5 & hibernate
Trustparency web doc spring 2.5 & hibernate
trustparency
 
Web application architecture
Web application architectureWeb application architecture
Web application architecture
Joshua Eckblad
 
Web Application Architecture
Web Application ArchitectureWeb Application Architecture
Web Application Architecture
Philip
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
Didier Girard
 
It applications
It applicationsIt applications
It applications
Jenna Bedecs
 
Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...
Vinod Sharma
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
oshin-japanese
 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
IndicThreads
 
Introduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcIntroduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring Mvc
Abdelmonaim Remani
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computing
Preethi AKNR
 
Pervasive Computing
Pervasive ComputingPervasive Computing
Pervasive Computing
Ankita Gupta
 
Scaling tokopedia-past-present-future
Scaling tokopedia-past-present-futureScaling tokopedia-past-present-future
Scaling tokopedia-past-present-future
Rein Mahatma
 
The Emerging Integration Reference Architecture | MuleSoft
The Emerging Integration Reference Architecture | MuleSoftThe Emerging Integration Reference Architecture | MuleSoft
The Emerging Integration Reference Architecture | MuleSoft
MuleSoft
 
Pervasive computing and its Security Issues
Pervasive computing and its Security IssuesPervasive computing and its Security Issues
Pervasive computing and its Security Issues
Phearin Sok
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
MuleSoft
 
Web of Things Application Architecture
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application Architecture
Dominique Guinard
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
postrational
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guide
meroooo
 
Restructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and HibernateRestructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and Hibernate
gustavoeliano
 
Trustparency web doc spring 2.5 & hibernate
Trustparency web doc   spring 2.5 & hibernateTrustparency web doc   spring 2.5 & hibernate
Trustparency web doc spring 2.5 & hibernate
trustparency
 
Web application architecture
Web application architectureWeb application architecture
Web application architecture
Joshua Eckblad
 
Web Application Architecture
Web Application ArchitectureWeb Application Architecture
Web Application Architecture
Philip
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
Didier Girard
 
Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...
Vinod Sharma
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
oshin-japanese
 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
IndicThreads
 
Introduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcIntroduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring Mvc
Abdelmonaim Remani
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computing
Preethi AKNR
 
Pervasive Computing
Pervasive ComputingPervasive Computing
Pervasive Computing
Ankita Gupta
 
Scaling tokopedia-past-present-future
Scaling tokopedia-past-present-futureScaling tokopedia-past-present-future
Scaling tokopedia-past-present-future
Rein Mahatma
 
The Emerging Integration Reference Architecture | MuleSoft
The Emerging Integration Reference Architecture | MuleSoftThe Emerging Integration Reference Architecture | MuleSoft
The Emerging Integration Reference Architecture | MuleSoft
MuleSoft
 
Ad

Similar to Pervasive Web Application Architecture (20)

NaveenResume
NaveenResumeNaveenResume
NaveenResume
Naveen S
 
Rajeev_Resume
Rajeev_ResumeRajeev_Resume
Rajeev_Resume
Rajeev Bhatnagar
 
Ranjith_Reddy Yallampalli Resume
Ranjith_Reddy Yallampalli ResumeRanjith_Reddy Yallampalli Resume
Ranjith_Reddy Yallampalli Resume
Ranjith Reddy Yallampalli
 
Vadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOpsVadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
Richard Banks
 
Resume
ResumeResume
Resume
Debabrata Pan
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
James Pearce
 
Resume
ResumeResume
Resume
santukumar12
 
Resume
ResumeResume
Resume
Shuaib Ahmed Quadri Mohammed
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical courses
Montek1Learning
 
java web services - soap and rest services
java web services - soap and rest  servicesjava web services - soap and rest  services
java web services - soap and rest services
VasantPrasad
 
Webscarab demo @ OWASP Belgium
Webscarab demo @ OWASP BelgiumWebscarab demo @ OWASP Belgium
Webscarab demo @ OWASP Belgium
Philippe Bogaerts
 
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
VMware Tanzu
 
Planning A Web Application
Planning A Web ApplicationPlanning A Web Application
Planning A Web Application
ahmad bassiouny
 
Mazhar Ali- Resume
Mazhar Ali- ResumeMazhar Ali- Resume
Mazhar Ali- Resume
Mazhar Ali Khan
 
IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with Worklight
IBIZZ
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
ABDEL RAHMAN KARIM
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
Wim Tobback
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORT
Sandyarathi Das
 
MyMobileWeb Certification Part I
MyMobileWeb Certification Part IMyMobileWeb Certification Part I
MyMobileWeb Certification Part I
crdlc
 
NaveenResume
NaveenResumeNaveenResume
NaveenResume
Naveen S
 
Vadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOpsVadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
Richard Banks
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
James Pearce
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical courses
Montek1Learning
 
java web services - soap and rest services
java web services - soap and rest  servicesjava web services - soap and rest  services
java web services - soap and rest services
VasantPrasad
 
Webscarab demo @ OWASP Belgium
Webscarab demo @ OWASP BelgiumWebscarab demo @ OWASP Belgium
Webscarab demo @ OWASP Belgium
Philippe Bogaerts
 
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
VMware Tanzu
 
Planning A Web Application
Planning A Web ApplicationPlanning A Web Application
Planning A Web Application
ahmad bassiouny
 
IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with Worklight
IBIZZ
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
ABDEL RAHMAN KARIM
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
Wim Tobback
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORT
Sandyarathi Das
 
MyMobileWeb Certification Part I
MyMobileWeb Certification Part IMyMobileWeb Certification Part I
MyMobileWeb Certification Part I
crdlc
 
Ad

More from UC San Diego (20)

A primer on network devices
A primer on network devicesA primer on network devices
A primer on network devices
UC San Diego
 
Datacenter traffic demand characterization
Datacenter traffic demand characterizationDatacenter traffic demand characterization
Datacenter traffic demand characterization
UC San Diego
 
Smart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-thingsSmart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-things
UC San Diego
 
Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...
UC San Diego
 
eyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problemseyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problems
UC San Diego
 
Pirc net poster
Pirc net posterPirc net poster
Pirc net poster
UC San Diego
 
Ajaxism
AjaxismAjaxism
Ajaxism
UC San Diego
 
Basic terminologies for a developer
Basic terminologies for a developerBasic terminologies for a developer
Basic terminologies for a developer
UC San Diego
 
Fields in computer science
Fields in computer scienceFields in computer science
Fields in computer science
UC San Diego
 
Understanding computer networks
Understanding computer networksUnderstanding computer networks
Understanding computer networks
UC San Diego
 
FOSS Introduction
FOSS IntroductionFOSS Introduction
FOSS Introduction
UC San Diego
 
Network Programming with Umit project
Network Programming with Umit projectNetwork Programming with Umit project
Network Programming with Umit project
UC San Diego
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
UC San Diego
 
Airline reservation system db design
Airline reservation system db designAirline reservation system db design
Airline reservation system db design
UC San Diego
 
Workshop on Network Security
Workshop on Network SecurityWorkshop on Network Security
Workshop on Network Security
UC San Diego
 
Socket programming in Java (PPTX)
Socket programming in Java (PPTX)Socket programming in Java (PPTX)
Socket programming in Java (PPTX)
UC San Diego
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
UC San Diego
 
Routing basics
Routing basicsRouting basics
Routing basics
UC San Diego
 
Technology Quiz
Technology QuizTechnology Quiz
Technology Quiz
UC San Diego
 
Android application development
Android application developmentAndroid application development
Android application development
UC San Diego
 
A primer on network devices
A primer on network devicesA primer on network devices
A primer on network devices
UC San Diego
 
Datacenter traffic demand characterization
Datacenter traffic demand characterizationDatacenter traffic demand characterization
Datacenter traffic demand characterization
UC San Diego
 
Smart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-thingsSmart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-things
UC San Diego
 
Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...
UC San Diego
 
eyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problemseyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problems
UC San Diego
 
Basic terminologies for a developer
Basic terminologies for a developerBasic terminologies for a developer
Basic terminologies for a developer
UC San Diego
 
Fields in computer science
Fields in computer scienceFields in computer science
Fields in computer science
UC San Diego
 
Understanding computer networks
Understanding computer networksUnderstanding computer networks
Understanding computer networks
UC San Diego
 
Network Programming with Umit project
Network Programming with Umit projectNetwork Programming with Umit project
Network Programming with Umit project
UC San Diego
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
UC San Diego
 
Airline reservation system db design
Airline reservation system db designAirline reservation system db design
Airline reservation system db design
UC San Diego
 
Workshop on Network Security
Workshop on Network SecurityWorkshop on Network Security
Workshop on Network Security
UC San Diego
 
Socket programming in Java (PPTX)
Socket programming in Java (PPTX)Socket programming in Java (PPTX)
Socket programming in Java (PPTX)
UC San Diego
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
UC San Diego
 
Android application development
Android application developmentAndroid application development
Android application development
UC San Diego
 

Recently uploaded (20)

SPRING FESTIVITIES - UK AND USA -
SPRING FESTIVITIES - UK AND USA            -SPRING FESTIVITIES - UK AND USA            -
SPRING FESTIVITIES - UK AND USA -
Colégio Santa Teresinha
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
Political History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptxPolitical History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptx
Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 

Pervasive Web Application Architecture

  • 1. Pervasive Web Application Architecture Narendran Thangarajan, IV year, CSE, SSN College of Engg, Chennai.
  • 2. Why are we studying this?  You got a Phone  And a Laptop.  Task : Order Meals from KFC
  • 3. Why are we studying this?  Why?  So the traditional web applications need to be tweaked!  And thats why we are here. :)
  • 4. The first person who thought about this is Mark Weiser.
  • 5. Why the name ”Pervasive” Web Applications?  Pervade = diffuse or spread through  Supports multiple devices  PC's  WAP phones  PDA's  Voice only phones  Before Pervasive Computing – there were only PC based web applications  After Pervasive Computing – HP just closed its PC market! :D → Devices are in various other forms.
  • 6. Challenges faced  Different Devices have different standards  WML for WAP - Monochrome  VoiceXML for voice interaction  HTML for PC's  Not just the looks, even the capabilities!! Say, a PC and WAP phone (Sounds like Silk, doesn't it?)  Major Challenges  Scalability – due to increased number of mobile phones  Availability – due to the type of application used – look up a meaning or order something
  • 7. Scalability and Availability  Ever-growing number of pervasive computing devices (scalability)  ”Server Currently Down for Maintenance” (availability)
  • 8. The solution  Can be solved by implementing a scalable physical topology :  Adding more servers to the backend.  Adding a backup server that would take-over during accidents.  Generally parallelism and redundancy.  Implementing the server using a more optimized stack  Eg : All three-tiers being implemented using JavaScript.
  • 9. Implementing a Pervasive Web Application
  • 10. Development Team  Traditional Web Applications  Business Logic Designers  User Interface Designers  Application Programmers  Database experts  Pervasive computing Web applications  Traditional + Pervasive Computing Specialists
  • 11. Pervasive Application Architecture  MVC Architecture  M – Model – EJB  V – View – JSPs  C – Controller – Servlets  Challenge is to make the controller identify the type of device and serve accordingly.
  • 12. Security!!  Encryption – Using Algorithms for confidentiality  Authentication – Username and Password  Authorization – Security Policies for accessing Application functions  Client to Web Application → Convert device-specific requests to canonical form (HTTP requests with device type, desired language, desired reply content- type)  When the secure access component receives a request, it checks if the session in authenticated. What happens in either cases.
  • 13. Ways of Authentication  Authentication Proxy  Diagram  Advantage – Only authenticated and authorized requests can reach protected web applications.  Framework  Attaches an authentication object to the session.  Secure Servlet – inherits HttpServlet – Securitypolicy check done before calling super class function ”service”  SecureJSP – Extends SecureServlet and implements HttpJspPage  AuthenticationServlets – Can be implemented in many ways but SecurityState Object must be created and added to the user session.
  • 14. SecurityState Object – holds the security state of a session  UserID  Authenticated Method  Potential Error Codes  SecurityPolicy class – accesses the policy database and decides whether to allow further processing.
  • 16. Example Application  How Java applications can be extended to support different kinds of device.  Scenario – Uncle Enzo's Shop  Specializes in Italian Food  Wants to improve ordering process for the customers.  First Step – Make an e-business  Next Step – Support for Smart Cards
  • 17. User Interface Overview  Registration  Login Screen  Menu  Ordering  Review Former Purchases  Self Care  Log Off
  • 18. Architecture (Demo)  Database Schema  Store Persistent Data (UserData)  Servlets  Identify the Device type and call the appropriate controller (DeviceMapper and Registration Servlet)  Controllers  Process requests by invoking application logic via command (Registration controller)  Commands  Excapsulate access to models and act as result containters  Views  Display the output of the controllers.
  • 19. Thus..  Understand how to make a single web application handle requests from variety of devices  Understand the MVC  Understand the Design Pattern used.
  • 21. Thats hell of a patience!! :P