|
|
T-106.850 Software Technology Seminar (3 credits) (autumn 2003):
Web Applications |
|
|
|
|
|
|
|
Topic
|
For simplicity, we'll call Web Application a server
application that produces HTML.
We'll discuss the issues of authentication and
authorization, but focus mainly on content creation and
navigation.
The basic architecture will be described, the role of a
template engine explained and several of them introduced.
The problem of content update (posting) is discussed and
presents one of the main study topics of the seminar.
Navigation, including proper error handling, will be
introduced and forms the gui logic of an application.
To make the examples that the students develop more realistic,
persistence is required. Although databases are not topic of
study here lightweight persistent mechanisms will be used and
their impact on the application architecture discussed.
|
|
|
|
|
Testing
|
A separate group will design and implement a test framework
which may be used to walk and stress the application.
Each of the other groups will use this to create
performance results.
|
|
|
|
|
Group work
|
The seminar is organized as a "working seminar", which means
students learn by doing and present their results to each other.
I will give a brief introductionto the topic in the first
session. Then students will form medium size groups
(around 4) and pick one of the main topics. Groups may also form
and pick prior to registration.
Each group will give three short presentations one in each of
the following sessions. The first one will give an overview of
the chosen technology and a general architecture of the
application.
A second presentation will serve as a status report.
A third presentation will show the results, both in experience,
program output and performance.
The work of the testing groups will be used to create
comparable figures.
|
|
|
|
|
Technologies
|
This is a list of technlogies that may be chosen by groups. This
list is open though; students may suggest other alternatives.
-
Velocity/Java: http://jakarta.apache.org/velocity/index.html
-
Erb/Ruby: http://raa.ruby-lang.org/list.rhtml?name=erb
-
Cheetah/Python: http://www.cheetahtemplate.org/
-
Xalan/XSLT(Java): http://xml.apache.org/xalan-j/index.html
-
JSP/Java: http://jetty.mortbay.org/jetty/index.html
-
WebMacro/Java: http://www.webmacro.org
Any non trivial application may be built by the students. Again
suggestions are welcome, but here is a small selection :
Project Management , Shop , Bazar , Calendar,
Inventory, Discussion Board , FAQ
|
|
|
|
|
Prerequisites
|
Participants should know the programming language they choose
to use quite well, or be willing to learn it outside the
seminar hours.
At least one member of a group should have more than
rudementary knowledge of html.
|
|
|
|
|
Sessions
|
The seminar has only four sessions. Groups should work about
about 100 extra hours for implementation and presentation
preperation.
Groups may use the same time-slot for weekly group
meetings (suggested).
Each group may arrange for at least one consulting session
with the teacher.
The seminar takes place in on Wednesdays from 9:00 to 12:30.
The first meeting is on 10. 9.
|
Day
|
Description
|
Introductory session
Wed 10.9. 8.30 - 12.00, Y427b
|
-- What is a Web Application. Alternatives
-- Template Engines
-- Navigation
-- Posting
-- Error handling
Student form groups and choose topics
|
Design
Wed 24.9. 8.30 - 12.00, Y427
|
Each group presents in 30 minutes :
-- Technology overview
-- Architecture overview
|
Status
Wed 5.11. 8.30 - 12.00, Y427
|
Each group presents in 30 minutes :
-- More detailed Architecture
-- First impressionsy
|
Final
Wed 3.12. 8.30 - 12.00, Y427
|
Each group presents in 20 minutes :
-- The running application
-- The tests / performance
-- Lessons learned.
Discussion + comparison in terms of
ease of use,
speed of implementation,
speed of application,
separation of work tasks
and maintainability.
|
|
|
|
|
|
Seminar Language
|
The language in the sessions is English
|
|
|
|
|
To get credits
|
Students must be present at least 3 of the 4 sessions
Students must convince the teacher that they participated
in the implementation
|
|
|
|
|
Registration, News, further Information
|
Registration is by e-mail to Torsten Rueger. Please give the following information
- name
- student number
- department
- Group members, if group has been formed
- Topic intrest, if such exists
The first 25 to register are in.
|