SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Market oriented Cloud Computing
Market oriented Cloud ComputingMarket oriented Cloud Computing
Market oriented Cloud Computing
Jithin Parakka
 
Cloud Computing overview and case study
Cloud Computing overview and case studyCloud Computing overview and case study
Cloud Computing overview and case study
Babak Hosseinzadeh
 
Introduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah HazratIntroduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah Hazrat
Attaullah Hazrat
 

La actualidad más candente (20)

Market oriented Cloud Computing
Market oriented Cloud ComputingMarket oriented Cloud Computing
Market oriented Cloud Computing
 
Web application architecture
Web application architectureWeb application architecture
Web application architecture
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Historical development of cloud computing
Historical development of cloud computingHistorical development of cloud computing
Historical development of cloud computing
 
Cloud Computing overview and case study
Cloud Computing overview and case studyCloud Computing overview and case study
Cloud Computing overview and case study
 
Authentication techniques
Authentication techniquesAuthentication techniques
Authentication techniques
 
5. IO virtualization
5. IO virtualization5. IO virtualization
5. IO virtualization
 
SERVER SIDE PROGRAMMING
SERVER SIDE PROGRAMMINGSERVER SIDE PROGRAMMING
SERVER SIDE PROGRAMMING
 
security Issues of cloud computing
security Issues of cloud computingsecurity Issues of cloud computing
security Issues of cloud computing
 
Principles of virtualization
Principles of virtualizationPrinciples of virtualization
Principles of virtualization
 
Html5 for mobiles
Html5 for mobilesHtml5 for mobiles
Html5 for mobiles
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computing
 
Cloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling TechnologiesCloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling Technologies
 
Storage Area Network (San)
Storage Area Network (San)Storage Area Network (San)
Storage Area Network (San)
 
Cloud computing and service models
Cloud computing and service modelsCloud computing and service models
Cloud computing and service models
 
Introduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah HazratIntroduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah Hazrat
 
Database Systems Security
Database Systems SecurityDatabase Systems Security
Database Systems Security
 
Evolution of Cloud Computing
Evolution of Cloud ComputingEvolution of Cloud Computing
Evolution of Cloud Computing
 
Cloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesCloud Computing - Benefits and Challenges
Cloud Computing - Benefits and Challenges
 
cloud computing:Types of virtualization
cloud computing:Types of virtualizationcloud computing:Types of virtualization
cloud computing:Types of virtualization
 

Destacado

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
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computing
Preethi AKNR
 

Destacado (20)

Pervasive computing and its Security Issues
Pervasive computing and its Security IssuesPervasive computing and its Security Issues
Pervasive computing and its Security Issues
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
Web of Things Application Architecture
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application Architecture
 
Pervasive Computing
Pervasive ComputingPervasive Computing
Pervasive Computing
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guide
 
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
 
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
 
Web application architecture
Web application architectureWeb application architecture
Web application architecture
 
Web Application Architecture
Web Application ArchitectureWeb Application Architecture
Web Application Architecture
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
It applications
It applicationsIt applications
It applications
 
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...
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
 
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
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computing
 
Pervasive Computing
Pervasive ComputingPervasive Computing
Pervasive Computing
 
Scaling tokopedia-past-present-future
Scaling tokopedia-past-present-futureScaling tokopedia-past-present-future
Scaling tokopedia-past-present-future
 
The Emerging Integration Reference Architecture | MuleSoft
The Emerging Integration Reference Architecture | MuleSoftThe Emerging Integration Reference Architecture | MuleSoft
The Emerging Integration Reference Architecture | MuleSoft
 

Similar a Pervasive Web Application Architecture

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
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical courses
Montek1Learning
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORT
Sandyarathi Das
 

Similar a Pervasive Web Application Architecture (20)

NaveenResume
NaveenResumeNaveenResume
NaveenResume
 
Rajeev_Resume
Rajeev_ResumeRajeev_Resume
Rajeev_Resume
 
Ranjith_Reddy Yallampalli Resume
Ranjith_Reddy Yallampalli ResumeRanjith_Reddy Yallampalli Resume
Ranjith_Reddy Yallampalli Resume
 
Vadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOpsVadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOps
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Resume
ResumeResume
Resume
 
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
 
Resume
ResumeResume
Resume
 
Resume
ResumeResume
Resume
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical courses
 
Webscarab demo @ OWASP Belgium
Webscarab demo @ OWASP BelgiumWebscarab demo @ OWASP Belgium
Webscarab demo @ OWASP Belgium
 
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
 
Planning A Web Application
Planning A Web ApplicationPlanning A Web Application
Planning A Web Application
 
Mazhar Ali- Resume
Mazhar Ali- ResumeMazhar Ali- Resume
Mazhar Ali- Resume
 
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
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORT
 
MyMobileWeb Certification Part I
MyMobileWeb Certification Part IMyMobileWeb Certification Part I
MyMobileWeb Certification Part I
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 

Más de 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
 
Socket programming in Java (PPTX)
Socket programming in Java (PPTX)Socket programming in Java (PPTX)
Socket programming in Java (PPTX)
UC San Diego
 

Más de UC San Diego (20)

A primer on network devices
A primer on network devicesA primer on network devices
A primer on network devices
 
Datacenter traffic demand characterization
Datacenter traffic demand characterizationDatacenter traffic demand characterization
Datacenter traffic demand characterization
 
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
 
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...
 
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
 
Pirc net poster
Pirc net posterPirc net poster
Pirc net poster
 
Ajaxism
AjaxismAjaxism
Ajaxism
 
Basic terminologies for a developer
Basic terminologies for a developerBasic terminologies for a developer
Basic terminologies for a developer
 
Fields in computer science
Fields in computer scienceFields in computer science
Fields in computer science
 
Understanding computer networks
Understanding computer networksUnderstanding computer networks
Understanding computer networks
 
FOSS Introduction
FOSS IntroductionFOSS Introduction
FOSS Introduction
 
Network Programming with Umit project
Network Programming with Umit projectNetwork Programming with Umit project
Network Programming with Umit project
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Airline reservation system db design
Airline reservation system db designAirline reservation system db design
Airline reservation system db design
 
Workshop on Network Security
Workshop on Network SecurityWorkshop on Network Security
Workshop on Network Security
 
Socket programming in Java (PPTX)
Socket programming in Java (PPTX)Socket programming in Java (PPTX)
Socket programming in Java (PPTX)
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
 
Routing basics
Routing basicsRouting basics
Routing basics
 
Technology Quiz
Technology QuizTechnology Quiz
Technology Quiz
 
Android application development
Android application developmentAndroid application development
Android application development
 

Último

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Último (20)

Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

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