Introduction to WebApps
Derek Bridge
Department of Computer Science,
University College Cork
Introduction to WebApps
Aims:
- to know the differences between desktop applications and webapps
- to see examples of web apps, including some software for the Sudbury Bird Sanctuary
- to know what is meant by thin and fat clients
- to know what is meant by two- and three-tier client-server architectures
Web sites vs. webapps
- Web sites
- make content (text, images, etc.) available
- allow user to navigate through the content
- often static web pages, but possibly dynamic
- Web-based applications/ web applications/ webapps
- enable user to achieve some task, e.g. search engine; e.g. online shop
- a more interactive experience
- dynamic web pages in response to user input
Desktop applications vs. webapps
- Desktop applications are installed on the user's PC/laptop
- Webapps are accessed through the user's browser
- E.g. Microsoft Outlook/Mozilla Thunderbird vs.
Gmail/
Squirrelmail
- E.g. Microsoft Outlook's calendar/Apple iCal vs.
Google Calendar
- E.g. Microsoft Streets and Trips vs.
Google Maps
Desktop applications vs. webapps
Desktop applications exploit the PC/laptop system software and so typically:
- have rich and distinctive user interface
- have full system access, e.g. file storage and network connections
- store user data on the PC/laptop
- run faster
- require installation
- are platform-dependent
- even if Internet-enabled (which many now are), most of the processing is done
on the PC/laptop; the server's role is limited (e.g. may just offer
resources to download, opportunities
to share/publish, a source for upgrades)
Desktop applications vs. webapps
Webapps are accessed through the user's browser and so typically:
- have a browser-based user interface, limited to what (X)HTML/CSS allows
- are denied system access
- store user data on the server (which has an up-side & a downside)
- often run slower
- require no special installation or set-up
- are platform-independent
- server has the major role
Presentational and application logic
(Note: not using the word 'logic' in the same way as in CS1105)
- Presentational logic
- The parts of an application that handle the user interface
- Application logic (a.k.a. business logic)
- The parts of an application that process the data, perform computations, etc.
Class exercise: Where is the presentational logic, and where is
the application logic
- in a typical webapp?
- in a desktop application?
- in a typical Internet-enabled desktop application?
Thin and fat clients
In a client-server architecture, we can classify the client as follows:
- Thin client
- Little or no application logic takes place on a thin client
- Fat client
- All or most application logic takes places on a fat client
A narrower hardware definition: thin clients are very simple client computers (e.g. no hard disk),
once called 'dumb terminals'.
Class discussion:
- If we connect a PC/laptop to the Internet, is it a thin or fat client?
- In a typical webapp, is the client thin or fat? What about a typical Internet-enabled
desktop application?
Two- and three-tier client-server architectures
- Two-tier client server architecture
- The application is split over two participants:
- The client for presentation logic
- The server for application logic
- Three-tier client server architecture
- The application is split over three participants:
- The client for presentation logic
- An application server for application logic
- A database server (which may or may not be a different physcial computer
from the application server) for data storage and data access
Three-tier client-server architectures
Diagram of three-tier applications from Wikipedia (Multitier architecture
)
Sudbury Bird Sanctuary
A quick look at
add_bird.php
(add_sponsor.php
is much the same)
add_donation.php