- Info
Approximate Schedule
This document contains the approximate week-by-week schedule for this course. This schedule is permanently under construction. Details are to be filled in soon.
| Week |
Topic |
Week 1
|
Introduction
- Motivation
- Architectural overview
- Test-driven development
- HTTP protocol
Reading
|
Week 2
|
The client tier
- (Re)presenting content
- XML, DTDs, schemas
- Specific markup languages: HTML, XHTML, VoiceXML, WML
- Stylesheets and transformation: CSS, XSL/XSLT, SAX, DOM
- Client-side programming, JavaScript
Reading
|
Week 3
|
The web tier: introduction
- Creating dynamic content: CGI
- Java Server Pages (JSP)
- Java servlets
- Using control flow to control dynamic content generation
- Getting data from the user agent using HTML forms
Reading
|
Quiz 1
Week 4
|
The web tier: interaction and sessions
- Factoring out logic to JavaBeans
- Sessions and state, concurrency issues
- Example: number guessing game (in depth)
- Error handling
Reading
|
Week 5
|
The web tier: web application frameworks
- Architectural issues in the web tier
- Web application frameworks
- Model-View-Controller
- Jakarta Struts
Reading
|
Week 6
|
The web tier: web application frameworks
- Architectural issues in the web tier
- Web application frameworks
- Model-View-Controller
- Jakarta Struts
|
Week 7
|
The web tier: abstractions for content generation
- Using tag libraries
- Writing tag libraries
- Example: Java Standard Tag Library (JSTL)
- Templating, layout, and decoration frameworks
- Example: SiteMesh, StringTemplate (template engine supporting strict model-view separation)
Reading
|
Week 8
|
Quiz 2
The web tier: security and authentication
Reading
|
Week 9
|
The upper component tier: business logic
- Programming of services
- JavaBeans as business delegates in JSPs
- Domain-specific languages for services
- Sisl (Several interfaces, single logic)
- Enterprise Java Beans (session beans)
Reading
|
Week 10
|
The lower component tier: persistence
- Object-Relational Mappings
- Enterprise Java Beans (entity beans)
- Hibernate
- Connecting to databases
- JDBC
Reading
|
Week 11
|
The lower component tier: persistence
Packaging and deployment of server-side apps
Reading
|
Week 12
|
Quiz 3
Advanced server-side issues
- Concurrency issues
- Performance issues
- Security
Reading
|
Week 13
|
Middleware
- Sockets
- RMI
- Message-oriented middleware
Reading
|
Week 14
|
Recent Trends and Developments
|