Web Applications Development CM3028 Robin Boswell, Frank Herrmann, Derek Shirreffs Web Page http://www.comp.rgu.ac.uk/staff/rab/CM3028
Web Application Development LECTURER: Robin Boswell ROOM: B22b EMAIL: rab@comp.rgu.ac.uk Databases LECTURER: Frank Herrmann ROOM: C25 EMAIL: fh@comp.rgu.ac.uk Web / PhP LECTURER: Derek Shirreffs ROOM: C32 EMAIL: dsh@comp.rgu.ac.uk Group Projects
Web Application Development This is a 3rd year module: 3rd year Computing for Business and eCommerce 3rd year Computing for Internet and Multimedia 3rd year Computing and Information 3rd year Computing for Mobile Applications 4th year Information Systems Technology
Outline of Module Schedule Teaching Projects First 6 weeks: 2 hour lecture / tutorial 2 hour lab Next 6 weeks: 4 hours of lab
Web Application Development Lecture/Tutorial (for 1st 6 weeks) Tuesdays 9:00 – 10:00 in room C39 Tuesdays 12:00 – 1:00 in room C39 Lab Fridays 9:00 – 11:00 in room C8a / C9
3-tier architecture Database Web Application Model Select View Controller Response Request Client (web browser)
Module aims and learning outcomes Aims of Module To provide students with experience in developing a 3-tier web application with non-trivial functionality. This will integrate and extend knowledge gained on earlier modules. Learning Outcomes for Module On completion of this module, students are expected to be able to: Recognise and discuss the Model 2 web application architecture and apply it to the design of web applications. Apply suitable technologies in the construction and integration of web application components. Use a Model 2 architecture to assemble web application components into a 3-tier web application of significant size. Appraise and implement appropriate security policies in a 3-tier web application.
Assessment 50% Coursework and 50% Exam The coursework will involve the design, implementation and testing of a non-trivial 3-tier client/server system as a collaborative group project To pass you need an aggregate grade 3, and a grade in each component 2
Course Schedule Lecture / Tutorial Lab Week 1 (RAB) The MySQL DBMS: SQL (some new, some revision) MySQL Week 2 (RAB) Database revision: ER modelling, normalisation Week 3 (RAB) Model-View-Controller Design Pattern + Model 2 web application architecture FH PHP Week 4 (FH) Review of PHP Variables, statements, methods Advanced concepts Request and response headers, cookies, sessions PHP database class (encapsulation database operations into objects) PHP Week 5 (FH) State machines State preservation in database or session data, initiating state transitions, event model Week 6 (FH) Information security and trust Symmetric encryption, asymmetric encryption, message digests, public key certificates Common threads and hacks Shell injections, SQL injections, session hijacking, cross site scripting (phishing) Week 7 - 12 Supervised + Independent project work in labs only
Web Application Development Books “Web Programming: Building Internet Applications” by Chris Bates, John Wiley & Sons, 2000 “Programming PHP” by R.Lerdof, K.Tatroe, O’Reilly, 2002 “Database Systems A Practical Approach to Design, Implementation and Management, 3rd Edition” by T.Connolly, C.Begg, A.Strachan, Addison-Wesley, 2002 “Computer Security” by M.Bishop, Addison-Wesley, 2003 “Web Applications: Concepts and Real World Design” by Craig Knuckles, David Yuen, Wiley 2004