New York University

Computer Science Department

Courant Institute of Mathematical Sciences

 

Final Project Specification

 

Course Title: XML for Java Developers                                           Course Number: g22.3033-002

Instructor: Jean-Claude Franchitti                                              Session: 11

 

 

Introduction:

 

As part of the course on-going project, you have developed a domain specific set of XML application services on top of a 2D community chat framework. Your application services should operate on top of self-contained XML application services that handle the processing, rendering, and querying needs of your application. In the final project, you will focus on adding persistence support to your application, and will investigate the porting of your application services on top of a web service platform.

 

You should follow the "real-life" application architecture development approach suggested in class. In real projects, the application, application infrastructure, and technology infrastructure are usually analyzed, designed, and developed in parallel. In this final project, you should select a technology infrastructure of their choice (i.e., Windows 98/NT/2000 or Solaris 5.8 on i5.nyu.edu, and Sun’s JDK 1.3, or 1.4). You should then pick the application infrastructure you selected for your project and augment the XML applications services you have developed so far.

 

Software Requirements as Needed:

 

·         XML Editor: XMLSpy, or other editor of your choice

·         XML Processors: Xerces-J, Xalan-J, FOP

·         XML POP environment: Cocoon-2

·         Browser (Internet Explorer, or Netscape)

·         Web Server (JWS, Apache, or IIS)

·         Servlet Engine (TomCat, or JRun)

·         EJB Application Server (BEA WebLogic)

·         Visibroker for Java

·         J2SE 1.4 or earlier version as needed

·         A Java IDE of your choice

 

Questions

 

1.        Preparation phase: Select the technology and application infrastructure components. Deploy and test the application infrastructure (i.e., web,  EJB, RMI, or CORBA frameworks). This preparation phase should be straightforward as you are expected to leverage off of the setup work you have already produced for your course project.

 

2.       Add support for persistence to the XML application services developed as part of the course project. You should use a database binding approach rather than an approach based on straight calls to JDBC. The following approach is recommended:

 

ü      Analyze the persistence requirements of your XML application services

ü      Review the list of XML database technologies provided at

http://www.rpbourret.com/xml/XMLDatabaseProds.htm

ü      You can also review the approach described at

http://www.javaworld.com/javaworld/jw-01-2000/jw-01-dbxml.html

ü      Select a sensible technology in lieu of your project needs, and document the reasons that led to your choice. Please note that the selection of a database technology will drive the choice of an underlying database product. You should pick a compatible database product that can be easily deployed for the purpose of this final project.

ü      Implement the persistence extensions.

 

3.       Investigate what it would take to port your application services on top of a web service platform. The following approach is recommended:

 

ü      Analyze the description requirements of your XML application services

ü      Review the IBM Web Services Toolkit at

http://www.alphaworks.ibm.com/tech/webservicestoolkit

and related documentation at

http://xml.coverpages.org/ni2001-02-19-b.html

ü      Select a sensible approach based on your particular project, and document the steps you would follow to make your XML application services accessible via a Web Service platform. You should bear in mind that your XML application services are implemented as services on top of a community chat framework. The resulting architecture should provide a similar level of functionality with improved accessibility.

ü      Optional: Implement the persistence extensions.

 

4.       You should turn in a complete report documenting your application enhancements. The report should document the environment setup, and all details of your architecture, design, and final project solution.

 

5.       Extra credit will be given for designs/implementations and/or reports, which are particularly creative.

 

Deliverables

Please provide an electronic copy of your homework submission as one zip archive by sending it to jcf@cs.nyu.edu no later than 08/07/01 at 12:00 AM EST. The archive should contain the electronic version of your report, in Microsoft Word format, and the electronic version of any components you developed for the final project. Please use the same naming conventions for the archive as you did for the homework assignments. You should also provide a readme file describing the environment setup required to run your final project.

 

Grading

 

All assignments are graded on a maximum scale of 10 points. Your grade will be based equally on:

 

a.       The overall quality of your documentation.

b.       The understanding and appropriate use of XML and Java technologies.

c.       Your ability to submit working and well-commented code.

d.       Extra credit may be granted for solutions that are particularly creative. In particular, extra credit will be granted for a web service prototype implementation of your XML application services.

 

Additional Information

 

If you have developed the project as part of a team, you may turn a joint solution for the coding portion of the final project and should state the level of collaboration in your final report. Each student will need to turn in a separate report, which cannot be the result of a joint study. Please check the class mailing list for tips and information throughout next week. Drop off location details will follow with respect to a hard copy submission.