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.
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.