CIS 550 Course Project

 

The course project will be assigned to teams of 3-4 students.  There are two alternative projects for this course, one of which is more applications-oriented (building upon database technology), and one of which is more systems-oriented (working under the covers).

 

Option 1:  Blogging System

One option is to build a system for blogging:  archiving, publishing, and allowing navigation of users’ web logs.  See blogger.com as a commercial example of this.  This will involve a number of components:

 

*      XML-based protocols for web logs themselves (using RSS, Ruby, or similar protocols).

*      Web portal infrastructure for allowing browsing of these logs (using your favorite techniques – ASP/JSP/PHP, XSL, etc.).  Note that navigation and presentation are both issues here.

*      A client for creating and updating blogs.
Note that this could be a separate application, or something that runs on the server with a Web interface.

*      A security and authentication model.  Users shouldn’t be able to affect one another’s blogs!

*      Obviously, an underlying database to keep track of everything.  You may use MySQL, Oracle, etc.

 

Additionally, there are many opportunities to add extra capabilities such as text search, different “pivot” methods for browsing the logs, etc.

For more detailed information about this project and some related resources, please click here.

 

Option 2:  P2P/XML Data Sharing

An alternative project option is to build a P2P system for disseminating XML information.  In its simplest form, assume that every peer has the ability to publish XML snippets and to express interest in particular XML fragments (based on XPath or XQuery expressions).  Now the question is how to build an infrastructure that easily and efficiently supports this model of information sharing.

 

On top of this, we would like the ability to do keyword queries over the data, and we would like the ability to include mappings between different XML schemas.

 

For this project, you may wish to investigate different P2P environments such as JXTA and Pastry, and XML engines such as Galax and Tukwila.

For more detailed information about this project and some related resources, please click here.