Planning a Web Application Neil Morgan [email_address] (Part time student on PGMPC) Administrative Computing Section
Planning a Web Application Information Services Library & Media Services Admin Computing Learning Technologies Desktop Sys...
Planning a Web Application Points to consider <ul><li>Infrastructure - New or Existing Network </li></ul><ul><li>Technolog...
Infrastructure - Existing Technology <ul><ul><li>F ault Management </li></ul></ul><ul><ul><li>C onfiguration </li></ul></u...
Infrastructure - Existing Technology F ault Management <ul><ul><li>Can Network Cope? </li></ul></ul><ul><ul><ul><li>Increa...
Infrastructure - Existing Technology <ul><ul><li>Can existing infrastructure cope with application? </li></ul></ul>C onfig...
Infrastructure - Existing Technology <ul><ul><li>How is it being used? </li></ul></ul><ul><ul><ul><li>Graphics / Multimedi...
Infrastructure - Existing Technology A dministration /  A ccounting <ul><ul><ul><li>Regular Backups </li></ul></ul></ul><u...
Infrastructure - Existing Technology <ul><ul><li>Can it cope with the perceived demand? </li></ul></ul><ul><ul><ul><li>Ban...
Infrastructure - Existing Technology <ul><ul><li>Authentication </li></ul></ul><ul><ul><ul><li>Anti-virus </li></ul></ul><...
Web Technologies - “Choosing the best” <ul><li>Web Servers </li></ul><ul><li>Markup Languages and Scripting </li></ul><ul>...
Web Technologies - Web Servers <ul><li>Apache </li></ul><ul><li>Internet Information Server </li></ul><ul><li>iPlanet </li...
Web Technologies - Web Servers <ul><li>Apache </li></ul><ul><ul><li>Free - Open Source (Source Code available) </li></ul><...
Web Technologies - Web Servers <ul><li>IIS </li></ul><ul><ul><li>Free - Proprietary - Packaged with Windows Platform </li>...
Web Technologies - Web Servers <ul><li>iPlanet </li></ul><ul><ul><li>Costly - Proprietary </li></ul></ul><ul><ul><li>Custo...
Web Technologies - Markup <ul><li>HTML 4.0 - Good for layman </li></ul><ul><ul><li>Presentation </li></ul></ul><ul><ul><li...
Web Technologies - Scripting <ul><li>JavaScript (JScript) </li></ul><ul><ul><li>Cross-browser compatibility </li></ul></ul...
Web Technologies - Programming <ul><li>Client side e.g. Java </li></ul><ul><ul><li>Powerful </li></ul></ul><ul><ul><li>No ...
Web Technologies - Programming Planning a Web Application <ul><li>Server side </li></ul><ul><ul><li>Uses server resources ...
Web Technologies - Programming Planning a Web Application <ul><li>CGI </li></ul><ul><ul><li>First for dynamic content </li...
Web Technologies - Programming Planning a Web Application <ul><li>Java Servlets </li></ul><ul><ul><li>Component based </li...
Web Technologies - Programming Planning a Web Application <ul><li>ASP </li></ul><ul><ul><li>Microsoft - complements IIS / ...
Web Technologies - Programming Planning a Web Application <ul><li>PHP </li></ul><ul><ul><li>Project of the Apache Foundati...
Web Technologies - Design Tools Planning a Web Application <ul><li>Great selection available (chargeable & free downloads)...
Security Planning a Web Application <ul><li>Fundamental to any computer system </li></ul><ul><ul><li>Even more important t...
Security - Authentication Planning a Web Application <ul><li>Username and Password </li></ul><ul><ul><li>Will it remain se...
Security - Authentication Planning a Web Application <ul><li>LDAP - Lightweight Directory Access Protocol </li></ul><ul><u...
Security - Encryption Planning a Web Application <ul><li>Secret Key Cryptography </li></ul><ul><ul><li>One key to encrypt ...
Security - Encryption Planning a Web Application <ul><li>Public Key Cryptography </li></ul><ul><ul><li>One key to encrypt ...
Security - Encryption Planning a Web Application <ul><li>Public Key Cryptography </li></ul><ul><ul><li>“ Guarantees” Secur...
Security - Attack Planning a Web Application <ul><li>Malicious Human Attack - Hacking </li></ul><ul><ul><li>New University...
Security - Attack Planning a Web Application <ul><li>Firewall </li></ul><ul><ul><li>Between trusted and untrusted network ...
Presentation - Style Planning a Web Application <ul><li>Style Guide </li></ul><ul><ul><li>Define standards for presentatio...
Presentation - Navigation Planning a Web Application <ul><li>Accessibility </li></ul><ul><ul><li>Structure information </l...
Presentation - Multimedia Planning a Web Application <ul><li>Accessibility </li></ul><ul><ul><li>Wider audience </li></ul>...
Upcoming SlideShare
Loading in...5
×

Planning A Web Application

2,087

Published on

Planning A Web Application

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,087
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Planning A Web Application"

  1. 1. Planning a Web Application Neil Morgan [email_address] (Part time student on PGMPC) Administrative Computing Section
  2. 2. Planning a Web Application Information Services Library & Media Services Admin Computing Learning Technologies Desktop Systems Network Services Remit: Maintain and administer corporate systems
  3. 3. Planning a Web Application Points to consider <ul><li>Infrastructure - New or Existing Network </li></ul><ul><li>Technologies - Hardware and Software Issues </li></ul><ul><li>Security - Authentication, Encryption, Attack </li></ul><ul><li>Presentation - Style, Navigation, Multimedia </li></ul>Assume an Existing Network
  4. 4. Infrastructure - Existing Technology <ul><ul><li>F ault Management </li></ul></ul><ul><ul><li>C onfiguration </li></ul></ul><ul><ul><li>A dministration / A ccounting </li></ul></ul><ul><ul><li>P erformance </li></ul></ul><ul><ul><li>S ecurity </li></ul></ul>Planning a Web Application <ul><ul><li>LAN </li></ul></ul><ul><ul><li>WAN </li></ul></ul><ul><ul><li>Dial-Up Connection </li></ul></ul>
  5. 5. Infrastructure - Existing Technology F ault Management <ul><ul><li>Can Network Cope? </li></ul></ul><ul><ul><ul><li>Increased Load on Network - Extra Users </li></ul></ul></ul><ul><ul><ul><li>Increased Load on Network - Extra Processing </li></ul></ul></ul><ul><ul><ul><li>Increased Monitoring - More of your time </li></ul></ul></ul>Planning a Web Application
  6. 6. Infrastructure - Existing Technology <ul><ul><li>Can existing infrastructure cope with application? </li></ul></ul>C onfiguration <ul><ul><ul><li>Servers (Appropriate resources) </li></ul></ul></ul><ul><ul><ul><li>Networking (Hubs, Switches, Repeaters,Cabling) </li></ul></ul></ul><ul><ul><ul><li>Clients (Capable of running application) </li></ul></ul></ul><ul><ul><ul><li>Suitable Software (TCP/IP, Web Server, PKI) </li></ul></ul></ul><ul><ul><li>New Resources Required? </li></ul></ul><ul><ul><ul><li>Costly </li></ul></ul></ul><ul><ul><ul><li>Scalable </li></ul></ul></ul>Planning a Web Application
  7. 7. Infrastructure - Existing Technology <ul><ul><li>How is it being used? </li></ul></ul><ul><ul><ul><li>Graphics / Multimedia - Bandwidth Considerations </li></ul></ul></ul><ul><ul><ul><li>Applets - Client Resources </li></ul></ul></ul>A dministration / A ccounting <ul><ul><li>Administer The Accounting! </li></ul></ul><ul><ul><ul><li>Accounting files may grow much faster </li></ul></ul></ul><ul><ul><ul><ul><li>Backups, Hard Copy </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Purge Regularly </li></ul></ul></ul></ul>Planning a Web Application
  8. 8. Infrastructure - Existing Technology A dministration / A ccounting <ul><ul><ul><li>Regular Backups </li></ul></ul></ul><ul><ul><ul><ul><li>On-line? </li></ul></ul></ul></ul><ul><ul><li>What about Availability? </li></ul></ul><ul><ul><ul><li>UPS </li></ul></ul></ul><ul><ul><ul><li>Disaster Recovery / Failover </li></ul></ul></ul><ul><ul><ul><ul><li>Off-line? </li></ul></ul></ul></ul>Planning a Web Application
  9. 9. Infrastructure - Existing Technology <ul><ul><li>Can it cope with the perceived demand? </li></ul></ul><ul><ul><ul><li>Bandwidth Considerations </li></ul></ul></ul><ul><ul><ul><li>Scalability </li></ul></ul></ul>P erformance <ul><ul><ul><li>Server Resources </li></ul></ul></ul><ul><ul><ul><li>Client Resources </li></ul></ul></ul><ul><ul><ul><li>Application Resources </li></ul></ul></ul>Planning a Web Application
  10. 10. Infrastructure - Existing Technology <ul><ul><li>Authentication </li></ul></ul><ul><ul><ul><li>Anti-virus </li></ul></ul></ul>S ecurity <ul><ul><li>Expose and counter threats </li></ul></ul><ul><ul><ul><li>LDAP / Active Directory </li></ul></ul></ul><ul><ul><ul><li>Firewall / Proxy </li></ul></ul></ul><ul><ul><li>Encryption </li></ul></ul><ul><ul><ul><li>Secret Key Infrastructure </li></ul></ul></ul><ul><ul><ul><li>Public Key Infrastructure </li></ul></ul></ul>Planning a Web Application
  11. 11. Web Technologies - “Choosing the best” <ul><li>Web Servers </li></ul><ul><li>Markup Languages and Scripting </li></ul><ul><li>Client side v Server side programming </li></ul><ul><li>Design tools </li></ul><ul><li>Browsers </li></ul>Planning a Web Application <ul><ul><li>Open Source ‘v’ Proprietary </li></ul></ul>
  12. 12. Web Technologies - Web Servers <ul><li>Apache </li></ul><ul><li>Internet Information Server </li></ul><ul><li>iPlanet </li></ul>Planning a Web Application
  13. 13. Web Technologies - Web Servers <ul><li>Apache </li></ul><ul><ul><li>Free - Open Source (Source Code available) </li></ul></ul><ul><ul><li>Highly Customizable </li></ul></ul><ul><ul><li>Secure </li></ul></ul>Planning a Web Application <ul><ul><li>3rd party applications plentiful </li></ul></ul>
  14. 14. Web Technologies - Web Servers <ul><li>IIS </li></ul><ul><ul><li>Free - Proprietary - Packaged with Windows Platform </li></ul></ul><ul><ul><li>Easy to Customize </li></ul></ul><ul><ul><li>Security loopholes - patches weekly </li></ul></ul>Planning a Web Application <ul><ul><li>3rd party applications plentiful </li></ul></ul>
  15. 15. Web Technologies - Web Servers <ul><li>iPlanet </li></ul><ul><ul><li>Costly - Proprietary </li></ul></ul><ul><ul><li>Customizable </li></ul></ul><ul><ul><li>Secure </li></ul></ul>Planning a Web Application <ul><ul><li>3rd party applications plentiful </li></ul></ul><ul><ul><li>Full suite of servers </li></ul></ul><ul><ul><ul><li>Web Server </li></ul></ul></ul><ul><ul><ul><li>Portal Server </li></ul></ul></ul><ul><ul><ul><li>Application Server </li></ul></ul></ul><ul><ul><ul><li>Etc, etc, etc... </li></ul></ul></ul>
  16. 16. Web Technologies - Markup <ul><li>HTML 4.0 - Good for layman </li></ul><ul><ul><li>Presentation </li></ul></ul><ul><ul><li>Universal - all web browsers </li></ul></ul>Planning a Web Application <ul><ul><li>Forgiving of errors </li></ul></ul><ul><li>XHTML 1.0 - Webmaster, Web Developer </li></ul><ul><ul><li>Presentation </li></ul></ul><ul><ul><li>Later versions of browsers </li></ul></ul><ul><ul><li>Rigorous - XML Conforming </li></ul></ul>
  17. 17. Web Technologies - Scripting <ul><li>JavaScript (JScript) </li></ul><ul><ul><li>Cross-browser compatibility </li></ul></ul><ul><ul><li>Client & Server side </li></ul></ul>Planning a Web Application <ul><li>VBScript </li></ul><ul><ul><li>Only available on Internet Explorer </li></ul></ul><ul><ul><li>Client & Server side </li></ul></ul><ul><ul><li>ActiveX </li></ul></ul><ul><ul><li>LiveConnect (for Java) or ActiveX </li></ul></ul>
  18. 18. Web Technologies - Programming <ul><li>Client side e.g. Java </li></ul><ul><ul><li>Powerful </li></ul></ul><ul><ul><li>No need for browser DOM </li></ul></ul>Planning a Web Application <ul><ul><li>Multiple platforms </li></ul></ul><ul><ul><li>Uses client resources </li></ul></ul><ul><ul><li>Slow - Bytecode interpreter - JVM </li></ul></ul><ul><ul><li>Security model gets in way of DBMS applications </li></ul></ul><ul><ul><ul><li>Memory </li></ul></ul></ul><ul><ul><ul><li>Middleware </li></ul></ul></ul>
  19. 19. Web Technologies - Programming Planning a Web Application <ul><li>Server side </li></ul><ul><ul><li>Uses server resources </li></ul></ul><ul><ul><li>Plain HTML sent to client </li></ul></ul><ul><li>CGI </li></ul><ul><li>Java Servlets & JSP </li></ul><ul><li>ASP </li></ul><ul><li>PHP </li></ul>
  20. 20. Web Technologies - Programming Planning a Web Application <ul><li>CGI </li></ul><ul><ul><li>First for dynamic content </li></ul></ul><ul><ul><li>Executes programs or scripts in real time </li></ul></ul><ul><ul><li>Use any popular programming or scripting language </li></ul></ul><ul><ul><li>Simple to use </li></ul></ul><ul><ul><ul><li>No memory or thread management </li></ul></ul></ul><ul><ul><li>Does not scale well </li></ul></ul>
  21. 21. Web Technologies - Programming Planning a Web Application <ul><li>Java Servlets </li></ul><ul><ul><li>Component based </li></ul></ul><ul><ul><li>Platform independent </li></ul></ul><ul><ul><li>Java goodies without problems of security model </li></ul></ul><ul><ul><li>Scales well - multithreading </li></ul></ul><ul><ul><li>Still slow - JVM </li></ul></ul><ul><li>JSP </li></ul><ul><ul><li>Direct competitor to ASP </li></ul></ul><ul><ul><li>Compiled and run as Servlet </li></ul></ul>
  22. 22. Web Technologies - Programming Planning a Web Application <ul><li>ASP </li></ul><ul><ul><li>Microsoft - complements IIS / PWS </li></ul></ul><ul><ul><li>VBScript or JavaScript </li></ul></ul><ul><ul><li>Access ActiveX controls </li></ul></ul><ul><ul><li>Scales well - memory management & multithreading </li></ul></ul><ul><ul><li>Only available on IIS </li></ul></ul>
  23. 23. Web Technologies - Programming Planning a Web Application <ul><li>PHP </li></ul><ul><ul><li>Project of the Apache Foundation </li></ul></ul><ul><ul><li>Open Source </li></ul></ul><ul><ul><li>CGI or Apache/IIS Module execution </li></ul></ul><ul><ul><li>Pre-defined functionality </li></ul></ul><ul><ul><li>Excellent competitor to other technologies </li></ul></ul><ul><ul><li>Scales well only as Apache/IIS Module </li></ul></ul>
  24. 24. Web Technologies - Design Tools Planning a Web Application <ul><li>Great selection available (chargeable & free downloads) </li></ul><ul><ul><li>Choose one that looks easy to use </li></ul></ul><ul><ul><li>Choose one that would most suit the application </li></ul></ul><ul><ul><ul><li>GUI interface: Dreamweaver or equivalent </li></ul></ul></ul><ul><ul><ul><li>Plain HTML: HTML-Kit (from www.Chami.com) </li></ul></ul></ul><ul><ul><li>Choose one that supports both HTML and XHTML </li></ul></ul><ul><ul><ul><li>HTML-Kit does, but Dreamweaver does not </li></ul></ul></ul>
  25. 25. Security Planning a Web Application <ul><li>Fundamental to any computer system </li></ul><ul><ul><li>Even more important to web based application </li></ul></ul><ul><ul><ul><li>Wide audience </li></ul></ul></ul><ul><ul><ul><li>Public & private areas </li></ul></ul></ul><ul><ul><ul><li>How to tell who is who? </li></ul></ul></ul>
  26. 26. Security - Authentication Planning a Web Application <ul><li>Username and Password </li></ul><ul><ul><li>Will it remain secret? </li></ul></ul><ul><ul><li>Will it be stored at a known location? </li></ul></ul><ul><ul><li>Will each system need a user/password combination? </li></ul></ul>
  27. 27. Security - Authentication Planning a Web Application <ul><li>LDAP - Lightweight Directory Access Protocol </li></ul><ul><ul><li>Central repository for user information </li></ul></ul><ul><ul><li>Optimized for reading, browsing and searching </li></ul></ul><ul><ul><li>Simple, fast operations </li></ul></ul><ul><ul><li>Uses tree-like structure </li></ul></ul><ul><ul><li>Still have problem of secrecy </li></ul></ul>
  28. 28. Security - Encryption Planning a Web Application <ul><li>Secret Key Cryptography </li></ul><ul><ul><li>One key to encrypt and decrypt </li></ul></ul><ul><ul><li>Costly </li></ul></ul><ul><ul><ul><li>Infrastructure required to manually obtain key </li></ul></ul></ul>
  29. 29. Security - Encryption Planning a Web Application <ul><li>Public Key Cryptography </li></ul><ul><ul><li>One key to encrypt </li></ul></ul><ul><ul><li>One key to decrypt </li></ul></ul><ul><ul><ul><li>Publicly available on key server </li></ul></ul></ul><ul><ul><ul><li>Key cannot decrypt </li></ul></ul></ul><ul><ul><ul><li>Key kept private </li></ul></ul></ul><ul><ul><ul><li>Key cannot encrypt </li></ul></ul></ul>
  30. 30. Security - Encryption Planning a Web Application <ul><li>Public Key Cryptography </li></ul><ul><ul><li>“ Guarantees” Security </li></ul></ul><ul><ul><li>Very expensive to adopt a PKI solution </li></ul></ul><ul><ul><li>Publicly available on key server </li></ul></ul><ul><ul><li>Easy to deploy keys (Certificates and Signatures) </li></ul></ul><ul><ul><ul><li>Applications must be modified </li></ul></ul></ul><ul><ul><ul><li>O/S & Networks must be modified </li></ul></ul></ul><ul><ul><li>Ideal for web-based applications </li></ul></ul><ul><ul><li>Tried and tested (around 30+ years) </li></ul></ul>
  31. 31. Security - Attack Planning a Web Application <ul><li>Malicious Human Attack - Hacking </li></ul><ul><ul><li>New University Website hacked within 45 minutes </li></ul></ul><ul><ul><li>Computer Crime on increase </li></ul></ul><ul><li>Malicious Computer Attack - Viruses </li></ul><ul><ul><li>Prolific & Growing </li></ul></ul><ul><ul><ul><li>e.g. recent Nimda Worm </li></ul></ul></ul>
  32. 32. Security - Attack Planning a Web Application <ul><li>Firewall </li></ul><ul><ul><li>Between trusted and untrusted network </li></ul></ul><ul><ul><li>Inspect communication in both directions </li></ul></ul><ul><li>Proxy </li></ul><ul><ul><li>Specialized HTTP server </li></ul></ul><ul><ul><ul><li>Resides on firewall server </li></ul></ul></ul><ul><ul><li>Extra level of security </li></ul></ul><ul><ul><li>Cache web pages </li></ul></ul>
  33. 33. Presentation - Style Planning a Web Application <ul><li>Style Guide </li></ul><ul><ul><li>Define standards for presentation </li></ul></ul><ul><ul><li>Overall standards can be refined </li></ul></ul><ul><ul><li>Aim for coherency and consistency </li></ul></ul><ul><ul><li>What do the users want? </li></ul></ul>
  34. 34. Presentation - Navigation Planning a Web Application <ul><li>Accessibility </li></ul><ul><ul><li>Structure information </li></ul></ul><ul><ul><ul><li>Information elements contain relationships </li></ul></ul></ul><ul><ul><li>Use hyperlinks effectively to mimic relationship structure </li></ul></ul><ul><ul><ul><li>Linear </li></ul></ul></ul><ul><ul><ul><li>Hierarchical </li></ul></ul></ul><ul><ul><ul><li>Network </li></ul></ul></ul><ul><ul><ul><li>Matrix </li></ul></ul></ul>
  35. 35. Presentation - Multimedia Planning a Web Application <ul><li>Accessibility </li></ul><ul><ul><li>Wider audience </li></ul></ul><ul><ul><ul><li>Take into account disabilities </li></ul></ul></ul><ul><ul><ul><ul><li>Blindness - use audio </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Deafness - use text, video and graphics </li></ul></ul></ul></ul><ul><ul><ul><li>Use all to best effect but: </li></ul></ul></ul><ul><ul><ul><ul><li>Remember previous considerations </li></ul></ul></ul></ul>

×