The Source for Java Technology Collaboration
User: Password:



Simon Brown

Simon Brown's Blog

Comparing webapp frameworks : Requirements

Posted by simongbrown on November 04, 2005 at 05:45 AM | Comments (8)

So, to compare webapp frameworks we need an example web application. I've chosen to build a simple blog. Here are the functional requirements.

  1. 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
  2. When a "read more" link is clicked, the resulting page will display the following information about the selected blog entry.
    • Title
    • Body
    • Date/time

And here are some non-functional requirements, just to make things a little more interesting.

  1. The web application will make use of and validate against the following standards.
    • XHTML 1.0 Transitional
  2. HTTP status codes will be used where appropriate (e.g. 404 for page not found).
  3. UTF-8 will be used as the character encoding to support international character sets.
  4. Dates and times will be formatted appropriately for the locale of the owning blog.
  5. Dates and times will be presented in the time zone of the blog.
  6. A strict MVC architecture will be adopted, with all access to views being made through the controller.
  7. 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.

Home page
Figure 1 : Home page.

Blog entry detail page
Figure 2 : Blog entry detail page.

Page not found 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.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Hi Simon,

    it looks like you will not have to do much for RIFE:
    http://rifers.org/rife_indepth_simple_blog/

    Good luck!

    Posted by: gbevin on November 04, 2005 at 08:15 AM

  • Great! Thanks for the jumpstart. :-)

    Posted by: simongbrown on November 04, 2005 at 08:19 AM

  • Btw, this video shows it 'the hard way', doing everything by hand. RIFE/Crud can automate most of it from the bean classes: RIFE/Crud announcement and link to tutorial.

    Posted by: gbevin on November 04, 2005 at 08:40 AM

  • Although Rife doesn't satisfy Simon's JSP constraint ;-) Also Wicket and Tapestry wouldn't qualify.

    Posted by: lorecraft on November 04, 2005 at 09:14 AM

  • Well ... it's doesn't use another version of JSP either, so you can say that the fact that the servlet container supports JSP 2.0 is enough ;-)

    Posted by: gbevin on November 04, 2005 at 11:23 AM

  • OK, I coded up my little "framework". Please have a look at http://tobe.homelinux.net/weffo/

    Posted by: tobega on November 06, 2005 at 05:05 PM

  • You don't mention anything about backend storage of blog entries. Do you think it's relevant to the subject? I would have thought it would be worth considering what kind of knock-on effect it would have on implementation, even if the web framework is not directly responsible for accessing storage.

    Posted by: jaq on November 07, 2005 at 09:28 AM

  • I'm glad you're pursuing this in spite of the naysayers. If you've identifed your final list of frameworks to be tested, could you post that soon?

    Posted by: erickson on November 07, 2005 at 10:20 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds