Computer Science E-259: XML with Java
Harvard Extension School
Student: Tony Chew
Final Project - Proposal
My RSS Reader
A RSS reader that will allow the users to define their personal list of subscriptions to RSS feeds.
This will be a web based RSS reader that will allow the users to subscript to a list of RSS feeds that are available from the various sources on the web. Before the users can start using the RSS reader they must first register themselves with the application and then create a personalized list of subscriptions to RSS feeds. Once a list of subscriptions to RSS feeds exists the users can view the list of articles for each of the subscripted feed. Also, there will exists a function to allow an administrator to define popular RSS feeds that the users can choose from the various categories (e.g., top stories, sports, business…) without needing to locate the RSS feeds themselves.
I am interested in working on a RSS reader because it is an application that I am looking to design and implement for a sales portal project at work. Also, the RSS reader application will allow me to look at web 2.0 XML technologies (e.g., Ajax) that I would like to learn.
The architecture for the My RSS Reader will be a three tier system: client tier, middle tier, and back-end tier.
The client tier will be a web browser. I am looking to leverage web 2.0 technologies for the client tier and use Ajax to retrieve the list of feeds and list of articles for the selected feed as xml documents; then parse the xml documents using Ajax and display the appropriate HTML to the user.
The middle tier will be the application server (e.g., Tomcat) that will be hosting the various servlets and RESTful web services that are required.
The back-end tier I would like to use either a relational database (e.g., MySQL) or an xml database (e.g., dbXML) to store the registration information, list of saved feeds, and articles for each saved feed.
Is there a database (e.g., MySQL, dbXML) available on the nice server that I can use for the final project?