CS169 Tools and Resources

I expect that each group will need to use a variety of tools over the course of your projects; common to most groups will probably be:

  1. A web server, such as IIS.
  2. Database access via a web site or from a program.
  3. CVS or similar source control software.

This page is intended to summarize the various options available to your groups, and to provide links to useful pages and services which we can help you with.

Accounts for this class are provided for use in the NT lab in 330 Soda. Each of you should have an account in this lab. Your files are kept on the Scotland server. This server is running IIS 5.0, and can be used to host your web pages and Access databases.

Each group (see Group List) has a directory on Scotland (U:\cs169\Group 1, etc.) You'll want to use this directory for shared files like web pages, CVS repositories, and documentation.

 

Web Servers

The primary web server you'll be using is IIS 5.0. This isn't a really fantastic link if you're looking for a good overview of the features of IIS -- it's an in depth developer reference; if someone knows of something simpler, let me know.

The first thing you'll want to do is to set up a web page for your group. It's fairly straightforward -- basically, you have to add access for IUSR_SCOTLAND to the web directory you're trying to publish. I've put more detailed instructions here.

Servlets and Other Servers

Some students have asked about the possibility of running other web servers. The instructional computing facility will not provide this service; if you feel you have a special need which cannot be met by IIS, please set up a meeting and we can discuss alternatives.

In particular, groups planning to develop in Java may want to consider servlets -- lightweight webservers implemented entirely in Java. You can find a good overview of servlets here. Servlets are built from simple Java base classes, such as javax.servlet.http.http.HttpServlet. You can see a simple example here.

Servlets are run via a simple Java Web Server. I recommend just using the server that comes with the Server Development Kit, as it's free and quite easy to install. You can down the Java Server Development kit for Windows here.

To install the JSWDK (once you've downloaded it to your CS169 account directory), unzip the file and run the startserver program from the DOS prompt. You'll need to make sure that you have your PATH and CLASSPATH variables set up properly, since they aren't always configured right on the lab machines. The first entry in your PATH should point to the jdk1.2/bin directory, and your CLASSPATH should point to the jdk1.2/lib/tools.jar file. On my machine, these two variables were set as follows:

Some of the lab machines don't have jdk1.2 installed properly -- look in the program files directory and make sure it's there before continuing.

You should now be able to run the startserver script without errors, and be able to connect to your machine (http://localhost:8080/) and see the JavaServer main page which includes lots of examples and help setting up the server. This is a fairly complete basic server implementation -- you can connect to it remotely and get and put HTTP data to your heart's content.

 

Databases: Creating and Accessing

I'm hoping that most of the groups will be able to use Microsoft Access for their databases. Access databases can be administered from a local machine (without administrative privileges on the server machine), and are generally very easy to set up and maintain. It is possible that Microsoft SQL Server could be run on Scotland; if this is needed, please let me know ASAP.

For general information about developing for Microsoft Access, including some helpful resources about how to make Access databases web-visible, see Access Developer Reference.

For an overview of general data access technologies made by Microsoft, see General Microsoft Data Access Reference.

Important: There are two access databases in each account on Scotland. Unfortunately, these databases aren't visible to the outside world because they haven't been exported via the ODBC control panel on Scotland. You won't be able to access them via the web (or any database connectivity protocol) until this is done. Here are some instructions for doing this. Send me an email if you can't get it to work.

Even given that you are using IIS and Access, there are a tremendous number of ways to access a database via a web page. I'll try to briefly summarize the major techniques here:

IDC

Internet Database Connector (idc) : This is Microsoft's old way of making database content visible to web pages. It uses a simple template based mechanism to substitute web query data into a web page. There are some references online, although Microsoft has recently removed all references to it and appears to be discouraging developers from using it. Here's a simple example of idc; both source and database are available. (Currently the database is offline since the accounts are somewhat busted). IDC is very simple to use, although it's not a good way to do serious data manipulation.

ASP

Active Server Pages (ASP) are the new Microsoft way of getting database information into web pages. ASP is a very general strategy for dynamically generating HTML data via Visual Basic which also includes a simple way of querying databases.

For general ASP reference, see Microsoft's ASP Reference Manual.

There is a lot of documentation about ASP on the Microsoft Pages; there's a good example here. See the library index at this location for more links.

ODBC

Open Database Connectivity (ODBC) is Microsoft's standard for accessing databases via C or C++ using embedded SQL statements. Implementations of it run on most database servers in the world, and it's most certainly the appropriate method for accessing Access databases via standalone software not written in Java.

Microsoft's OBDC page has a good overview of the technology and some links. The "Samples" section includes a lot of sample code.

JDBC

Java Database Connectivity (JDBC) accesses databases via Java and ODBC. There are a number of JDBC implementations, and they are often specific to a particular database package. Sun provides a general tool for JDBC-ODBC conversion, and I found a fairly thorough example showing how to interface JDBC and Access.

JDBC: A simple tutorial for JDBC and Access

Sun JDBC-ODBC Bridge Information

 

Version Control: CVS

The Concurrent Versioning System (CVS) is a widely used tool for version control and multi-user source file management. Though there are other solutions which exist (e.g. Microsoft SourceSafe), CVS is a good thing because it runs on all platforms and has been tested and seriously debugged by the free software community.

To download CVS, see the Cyclic Software CVS download page.

Or click here to directly download a Windows command-line client (recommended for the lab machines).

Cyclic software maintains a very good website on CVS and why you should use it. The have a discussion of the unreserved checkouts feature (multiple users editing the same file which has to be merged together late), and when you should and shouldn't worry about it. (This was a question in lecture.)

There's also a CVS FAQ.

I'm going to avoid putting my own descriptions of how to use CVS because it's extremely well documented. I've included a link to the Cyclic Software CVS Manual, which is both a good introduction and reference page. It's big, so be patient if you're loading it remotely.

 

This page maintained by Sam Madden (madden@cs.berkeley.edu). Last Update 4/04/2000