Development of Web Applications
Principles and Practice
Vincent Simonet, 2013-2014
Université Pierre et Marie Curie, Master Informatique, Spécialité STL
Architecture of Web Applications
Vincent Simonet, 2013-2014
Université Pierre et Marie Curie, Master Informatique, Spécialité STL
1
Objectives of the course
Objectives of the course
The challenge: There is a multitude of technologies for developing web applications.
The solution: Explain principles, give an overview of the market, and focus on one example: Java Servlets.
Why Java Servlets?
Contents
Prerequisites
If you're not familiar with these technologies, follow the tutorials referenced in the lecture notes.
Evaluation
Missing a test without acceptable justification�= 0
References and Further Reading
Books:
The best documentation is probably on the web! (and free :) See in the lecture notes (especially Wikipedia).
Contact information
Web applications?
Client/server: a software definition
Servers (a.k.a. services or daemons) execute by waiting for requests from client programs to arrive, and then processing those requests.
Client programs might be applications used by human beings, or they could be servers that need to make their own requests.
Client/server: a hardware definition
Client/server
Peer-to-peer
What is a web application?
It is a client/server application that uses a web browser as its client program, and performs an interactive service by connecting with servers over the Internet (or Intranet).
A web site simply delivers content from static files. A web application presents dynamically tailored content based on request parameters, tracked user behaviors, and security considerations.
Examples of web applications
Benefits
Drawbacks
A Brief History
Key dates
1993: Mosaic browser, CGI
1995: PHP 1.0
1996: JavaScript 1.0
1999: Web Application, Java Servlet (server)
2005: AJAX
2008: HTML5 first public working draft
2014?: HTML5 specification
(User) client vs (remote) server
Overall Architecture
Typical architecture of a web application
Web Browser
Web Server
(front-end)
Back-end
Persistent data store
HTTP(S)
Web browser
Web server (front-end)
Data store
Back-end
Typical architecture of a web application
Web Browser
Web Server
(front-end)
Back-end
Persistent data store
HTTP(S)
HTML
CSS
JavaScript
Apache
Tomcat
Java Servlet
XML-RPC
SOAP
WSDL
REST