A "Three-tier" Web Application
For the final project you should develop a
a Web application that incorporates
-
an HTML-form-based Web front end,
-
a middle tier consisting of a group of servlets and/or JavaServer pages,
-
access to an SQL database through JDBC, and that
-
supports multiple concurrent clients and exploits servlet
session tracking mechanisms in a useful way.
The application should be deployed under a Tomcat server running on
the port allocated for you on
sirah, merlot, cabernet,
or pinot in CSIT (see the course announcements page).
Your application must include at least one servlet. It
may optionally include some JSP pages as well (this may lead to extra credit).
You should use the high-level session tracking APIs
in preference to explicit use of cookies, hidden fields, etc.
You may choose build on your the client/server applications
developed in a previous homeworks, or you may start with a new application.
If you choose to extend your simple client/server application, you
must ensure you add sufficiently complex behaviors to cover
all the requirements above. In particular the application must involve
some non-trivial "session state" (akin to a shopping cart),
to exploit session-tracking in a meaningful way.
If you choose to start with a new application, possible projects
include business models such as:
- A simplified airline reservation
system. Servlets or JSP pages would access a database that kept files
with airplane
flight schedules, and passengers who have made reservations for each flight.
The client could request flight information and make a reservation
for a particular flight.
- An online store with a shopping cart system. The database may store
products, shoppers, and orders.
You have considerable freedom in choosing details here, but you must meet the
requirements in the first paragraph above. If you want to design a
project substantially different from the topics listed above, please
send an email request with a brief explanation.
Submission of your Homework
Your submission should include:
-
A project report document describing the application and
its implementation.
This should preferably be written as a Word document or HTML document.
It should be laid out and read like a paper or user's guide.
There is no fixed length, but 2000+ words is a reasonable size.
Include URLs and any special instructions necessary
for restarting your Web server.
You should copy this file to
/home/project/it1fall00/homework5/login/ on
sirah, where login is your
login id (user name) on this machine.
- The .html and .java and
.jsp source files you develop should be left in the
installation directory for your Tomcat server, which should be in the
home directory of your sirah account.
- Example database tables should be installed under your Oracle
account on sirah. Instructions for accessing this account will be
given in class.
Grading
For this project, there will be a total of 40 points.
This may account for 30-40% of your final grade. You
should invest effort accordingly.
In general grading criteria are similar to
Assignment 1. In this project points will
be substantially assigned on the basis of apparent effort and
uniqueness.
To get a high grade some certain minimum level of complexity is expected
in your application.
A system with around 6 inter-related servlets or JSP pages, 2 database
tables, and one or more static HTML pages would be reasonable (these
are guidelines only).
Moderately realistic example databases make a good impression; tables
with very few entries do not. You should aim for an attractively
designed Web sites with clear logic.
Resources and Tips
Servlet examples
See the examples for the servlets lecture set,
here.
JDBC examples
See the examples for the JDBC lecture set,
here.
JSP examples
See the examples for the JSP lecture set,
here.
Please send questions to Bryan Carpenter at dbc@csit.fsu.edu.