2. Overview
What is a web-based application?
What are the advantages?
What are the disadvantages?
What is the basic architecture of a web based
application?
What technologies are available to implement
this?
What are some necessary design considerations
for web based applications (as opposed to normal
apps)?
Can you add a web interface to an existing
application? How?
3. What is a Web Based Application?
“A web based application is a software package that
can be accessed through the web browser. The
software and database reside on a central server
rather than being installed on the desktop system
and is accessed over a network.” (NetSity corporate
homepage)
A common example is web-based email. ie,
Hotmail, Yahoo! mail or UWP’s web mail.
4. What are the Advantages?
App runs server side (CPU, disk space,
configuration)
No install, packaging, CDs, upgrades,
configurations or tweaking of settings on the
client side.
Greater responsibilities and control placed in the
hands of the system administrators (as opposed
to the users)
Data is likely more secure (stored server side, w/
proper security measures and backup)
Machine independent (any user can log in from
any computer.
5. What are the Advantages? (con’t)
One application will run on any and all platforms,
assuming standards compliant code and
browsers.
Reduced external network traffic (ex. Database
heavy applications)
Lower client side system requirements (machine
only needs network access and the ability to run a
compliant web browser)
6. What are the Disadvantages?
“Who has my data?” Essentially, not you.
Issues of trust; many users do not trust other
people, even within the same company, to keep
their data safe and secure.
Response time. While the actual execution of the
app may be much quicker, user response time can
be noticeably slower than a local app.
Internet (or network) connectivity is not (yet)
ubiquitous.
7. What are the Disadvantages?
(con’t)
Browser compatibility can still be a problem.
Some tasks that are simple in traditional
application development, are quite complicated
from a web application (ex, local printing)
Security concerns limit what you can accomplish
(limited access to the users local machine).
Depending on the application, usability can be
very bandwidth sensitive.
8. What are the Disadvantages?
(con’t)
Some advantages are also
disadvantages:
Running applications server-side requires servers
with sufficient power (CPU, memory, disk,
bandwidth) to handle multiple simultaneous
users.
Placing greater control in the hands of the system
administrators is only an advantage with a
sufficient number of competent admins.
9. The Right Tool for the Right Job
Web based applications are ideal for:
Database heavy applications
Applications that must be used remotely
Varied user base
Low GUI requirements
Not performance sensitive (client side)
10. The Right Tool for the Right Job
Web based applications may not work
for:
GUI intensive applications
Applications requiring access to users local
machine
Performance sensitive applications
Situations with unreliable or limited network
connectivity
15. Design Considerations
“back-end” code can generally use standard
object-orientated programming practices and
standards
“presentation” code differs somewhat because of
the restrictions imposed by web standards.
Same guidelines for good GUI design apply, but
additional considerations must be made.
Proper web site design considerations also apply
The application code must be built to handle
multiple simultaneous users.
16. Adding a Web Interface for an
Existing Application.
Can be extremely difficult (if not impossible) or
trivially easy, depending on the application.
Can be done at different levels:
New program, share data store (Webmail).
Old program, with a new, web based, GUI.
17. Alternatives to Web Based
Applications
Citrix
Remote Desktop
Hybrid Application
Others