pervasive web application architecture
DESCRIPTION
TRANSCRIPT
![Page 1: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/1.jpg)
Pervasive Web Application Pervasive Web Application ArchitectureArchitecture
Narendran Thangarajan,
IV year, CSE,
SSN College of Engg, Chennai.
![Page 2: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/2.jpg)
Why are we studying this?
You got a Phone And a Laptop.
Task : Order Meals from KFC
![Page 3: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/3.jpg)
Why are we studying this?
Why? So the traditional web applications
need to be tweaked! And thats why we are here. :)
![Page 4: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/4.jpg)
The first person The first person who thought about this who thought about this
is Mark Weiser.is Mark Weiser.
![Page 5: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/5.jpg)
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.
![Page 6: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/6.jpg)
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
![Page 7: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/7.jpg)
Scalability and Availability
Ever-growing number of pervasive computing devices (scalability)
”Server Currently Down for Maintenance” (availability)
![Page 8: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/8.jpg)
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.
![Page 9: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/9.jpg)
Implementing a Pervasive Web Application
![Page 10: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/10.jpg)
Development Team
Traditional Web Applications Business Logic Designers User Interface Designers Application Programmers Database experts
Pervasive computing Web applications Traditional + Pervasive Computing Specialists
![Page 11: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/11.jpg)
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.
![Page 12: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/12.jpg)
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.
![Page 13: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/13.jpg)
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.
![Page 14: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/14.jpg)
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.
![Page 15: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/15.jpg)
Theory is BORING!
![Page 16: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/16.jpg)
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
![Page 17: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/17.jpg)
User Interface Overview
Registration Login Screen Menu Ordering Review Former Purchases Self Care Log Off
![Page 18: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/18.jpg)
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.
![Page 19: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/19.jpg)
Thus..
Understand how to make a single web application handle requests from variety of devices
Understand the MVC Understand the Design Pattern used.
![Page 20: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/20.jpg)
Queries?
![Page 21: Pervasive Web Application Architecture](https://reader033.vdocuments.us/reader033/viewer/2022061212/54943cffb479593d4d8b4a74/html5/thumbnails/21.jpg)
Thats hell of a patience!! :P