HTML / XHTML / HTML5
Old Internet / Old Website
The Modern Internet
(Application Program Interface)
Runs on computer without help of any browser. e.g. MSWord, Powerpoint, Window Media Player, etc.
Generally doesn't need internet to run. Saves bandwidth.
Can easily interact with system.
Privacy and security.
But most desktop applications incorporate internet
A web-based application is any application that uses a web browser
as a client.
The ability to update and maintain web applications without
distributing and installing software is a key reason for their
eg. webmail, online retail sales, online auctions, online examination
Web applications offer many advantages to both developers and
Provided you have an internet connection
The Parts of a Web Application
We can break a web application into three ‘layers’, each
responsible for a different part of the system.
1. The Presentation layer, which handles the user frontend
2. The Application layer, which handles the ‘business logic’
3. The Data layer, which handles storage and retrieval of
You can change the entire front-end without having to alter
any of the other layers.
This is usually called an N-Tier architecture, where N is the
number of tiers.
Much of what is done at the presentation level is to do
with the user experience.
Formatting the website properly
Handling simple data validation
Animation and interface flourishes
It is more important for this to be handled in the user’s
When updated data is required (to update the user
interface), that request is sent to the application layer.
The application layer handles all the functionality.
The things that you would generally think of as the
Often referred to as the ‘business logic’
Most often handled on the server via a language such as
PHP or Ruby or ASP.NET
Also serves as the mediator between the presentation
and the data.
All interaction between those two should be done via
The data layer is responsible for optimised data access
This is most often handled using a database
management system such as MySQL.
The data layer can handle caching of data.
It can also handle load-balancing between servers.
Communication Between Layers
Communication between layers is handled via a
platform independent protocol such as XML.
Communication in a formal format is important.
The Client and the Server
This describes a distributed application – one where some
of the work is handled locally (in your browser) and the
rest is handled externally (on a server).
This type of development model is often referred to as a
Both of these can be located on the same computer.
And this is common for small-scale development.
The Client & the Server - Advantages
Centralised storage of data can increase security of
Data updates can be applied quickly and shared amongst
all users of the data
Large-scale optimisation can be performed.
Load balancing is common example.
The Client & the Server - Disdvantages
If the server(s) go down, everyone loses access to the
There are bandwidth considerations when working with
large numbers of users.
Other models often used are peer to peer architectures
(such as Bittorrent) and desktop deployments.
Each has its advantages and disadvantages.
Reinventing the Wheel
We don’t need to reinvent the wheel!
We can get a lot of our work done by using existing tools
available as part of standard Application Programming
There’s a lot of ‘free’ functionality already out there.
We can use existing services like Google, Amazon and
Facebook by making use of these exact same protocols