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
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.
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.