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.