Pervasive Web Application Architecture


Published on

Published in: Education, Technology
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Pervasive Web Application Architecture

  1. 1. Pervasive Web Application Architecture Narendran Thangarajan, IV year, CSE, SSN College of Engg, Chennai.
  2. 2. Why are we studying this? You got a Phone And a Laptop.  Task : Order Meals from KFC
  3. 3. Why are we studying this? Why? So the traditional web applications need to be tweaked! And thats why we are here. :)
  4. 4. The first personwho thought about this is Mark Weiser.
  5. 5. Why the name ”Pervasive” Web Applications? Pervade = diffuse or spread through Supports multiple devices  PCs  WAP phones  PDAs  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. 6. Challenges faced Different Devices have different standards  WML for WAP - Monochrome  VoiceXML for voice interaction  HTML for PCs Not just the looks, even the capabilities!! Say, a PC and WAP phone (Sounds like Silk, doesnt 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. 7. Scalability and Availability Ever-growing number of pervasive computing devices (scalability) ”Server Currently Down for Maintenance” (availability)
  8. 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. 9. Implementing a Pervasive Web Application
  10. 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. 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. 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. 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. 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.
  15. 15. Theory is BORING!
  16. 16. Example Application How Java applications can be extended to support different kinds of device. Scenario – Uncle Enzos 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. 17. User Interface Overview Registration Login Screen Menu Ordering Review Former Purchases Self Care Log Off
  18. 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. 19. Thus.. Understand how to make a single web application handle requests from variety of devices Understand the MVC Understand the Design Pattern used.
  20. 20. Queries?
  21. 21. Thats hell of a patience!! :P