Posted by
simongbrown on November 4, 2005 at 5:45 AM PST
So, to compare webapp frameworks we need an example web application. I've chosen to build a simple blog. Here are the functional requirements.
- The home page will display a list of the 3 most recent blog entries, in reverse chronological order. The following information will be displayed for each blog entry.
- Title
- If an excerpt is present, the excerpt will be displayed with a "read more" link to the full blog entry.
- If no excerpt is present, the full body will be displayed.
- Date/time
- When a "read more" link is clicked, the resulting page will display the following information about the selected blog entry.
And here are some non-functional requirements, just to make things a little more interesting.
- The web application will make use of and validate against the following standards.
- HTTP status codes will be used where appropriate (e.g. 404 for page not found).
- UTF-8 will be used as the character encoding to support international character sets.
- Dates and times will be formatted appropriately for the locale of the owning blog.
- Dates and times will be presented in the time zone of the blog.
- A strict MVC architecture will be adopted, with all access to views being made through the controller.
- The technology constraints are as follows.
- Java SE 5.0
- Servlet 2.4 and JSP 2.0
- Tomcat 5.5.x
Here are some screenshots to show what this all looks like.
Figure 1 : Home page.
Figure 2 : Blog entry detail page.
Figure 3 : Page not found page.
As I've said before, I hoping to make this an iterative process and there's plenty of scope for adding some interactivity into the example application. Next up is a look at the domain model.