Assignment 1: Web servers, XML, and web service calls. You will need the Java JDK 1.4 as well as the Java Web Services Development Kit for this assignment. As a development environment, we recommend Eclipse 2.1 or later (available in Moore 100B).
You will also want the source code for a simple "stub" class, WSClient, which uses the Dynamic Invocation Interface to make a call to a Web Service running within the CIS department to fetch your email and return it in an XML string. This class can be instantiated and run as a stand-alone program (see the comments in the file for instructions), and it can be called from your Java classes (store it in a subdirectory called dii and call dii.fetchHeaders).
Note that if you use Eclipse, you will want to set the classpath using the Eclipse GUI (this is via Project|Properties, Java Build Paths, Libraries in Eclipse 2.1). Also, further information on cookies, including how to share them across multiple paths in your server, is available from Netscape.
Assignment 2: XQuery, mappings, and caching.
You will likely need the query workload, tag mappings, value mappings, and Web Service client. You might want to look at dblp.xml, although your client will not directly manipulate it.
Assignment 3: Crawling and P2P indexing.
You will need the Pastry JAR file, here; and the JTidy parser JAR, available here. Note that you may also want to download the FreePastry source code (also available from the site linked above) so you can see demo code. The files HelloWorld.java, HelloWorldApp.java, and DistHelloWorld.java in src/rice/pastry/testing may be particularly useful. The JavaDoc files for Pastry are also online in the same place. JTidy's JavaDoc files are in the doc/api subdirectory within the zip file. You should start your web crawler at the HTML page www.seas.upenn.edu/~aneeshk/miniWeb. If you prefer to test on your own web server, the test files are available here.