The J2EETM Tutorial


I joined Sun--actually, a small Sun spin-off called FirstPerson--in August 1993. I knew about the company because a few of my favorite coworkers had left NeXT to work at FirstPerson. But my main reason for joining was that I loved the cartoony user interfaces FirstPerson was developing interfaces that featured a character nicknamed Duke.1

Figure 1 Duke, the Unofficial Mascot of the Java Platform

FirstPerson's first demo, called Star 7, was a household remote control with a small touchscreen. By the time I arrived, they were working on a demo for video on demand.

The wonderfully loony animation for the video-on-demand demo was created by a San Francisco studio called Colossal Pictures (where, incidentally, my husband had gotten his start in the animation industry). Both demos were written using a programming language that was then called Oak.

My first task was to help the creator of the Oak language, James Gosling, write the language specification. What I really wanted to do, though, was to write task-oriented documentation aimed at ordinary programmers.

By July 1994, FirstPerson was in turmoil, having failed to convince cable companies that their video-on-demand solution was what customers needed. I stayed at the company only because I was about to go on maternity leave.

Programming for the Internet

When I returned to work in the fall of 1994, the company's dynamic and vision had completely changed. They had decided that the Oak language--with its ability to produce platform-independent, secure, easily transported code--was ideal for the Internet. And they were creating a Web browser called WebRunner that showcased the ability to deliver Oak code, packaged in a form they called applets, over the Internet.

I set to work writing a guide to help people write and use applets. When the WebRunner browser was first released in early 1995, the guide was part of the small set of documentation included with the browser. That guide was the granddaddy of The J2EE Tutorial.

The guide was the first documentation to include applets. It looked somewhat similar to The Java Tutorial, and in fact The Java Tutorial probably still has some of the text originally published in the guide. Because we had no HTML tools, however, I had to generate the guide completely by hand. Let me tell you, hand coding navigation links for a document in progress is not fun, even for a small document. Much less painful was making name changes: The language name changed from Oak to Java, and the name of the browser from WebRunner to HotJava.

Mary Enters the Picture

In early 1995, we hired a contract writer named Mary Campione. She and I knew of each other from her time in NeXT developer support. Mary's job was to help programmers use platform features such as threads. We soon realized that our work was too similar for us to do it separately, and we started working together on a programmer's guide for the Java platform.

On May 18, 1995, Mary Campione and I released the first version of our guide, which we called The Java Programmer's Guide. It was an incomplete first draft--nothing pretty--but it provided people with the information they needed to get started programming for the Java platform.

The next week, Sun officially announced the Java platform at a show called SunWorld. The best part of the show for us was the announcement that Netscape had agreed (just hours before) to support applets in their Web browser.

In the following months, Mary and I continued to add to and refine our programmer's guide. 2We worked together closely, sharing the same office and even the same train commute from San Francisco to Palo Alto. By coincidence, we even got pregnant within days of each other.

By late 1995, the first wave of books in The Java Series was being developed. The Java Series was a group of books published by Addison-Wesley and written mainly by employees of what used to be FirstPerson. By that time, FirstPerson had been absorbed back into Sun, in the form of a division called JavaSoft. The Series Editor was JavaSoft technical publications manager Lisa Friendly.3

Our programmer's guide was slated to be one of the books in The Java Series, but the publisher wanted it to have a less intimidating name. So we changed its name to The Java Tutorial. There we were, two increasingly large women working insanely long hours to finish the book before the babies arrived in mid-1996. We managed--just barely--to get the book to our publisher in time. We couldn't have done it without the help of yet another ex-NeXTer, Randy Nelson, who took care of all the final details of the book and Web site.

The Tutorial Team Grows

When Mary and I returned from maternity leave, we felt completely overwhelmed. Our book and Web site covered the 1.0 version of the Java platform (JDK 1.0), but JDK 1.1 was scheduled to be released soon and work had already started on JDK 1.2 (which would be renamed to the Java 2 Platform, Standard Edition, Version 1.2--J2SE v 1.2, for short). We would be able to update our existing documentation to 1.1, but for 1.2 we'd need help.

Help arrived in the form of guest authors and Alison Huml. The guest authors were writers and engineers on the teams developing the new 1.2 features. Alison was a postgraduate student with experience in both software and publishing. She did whatever was necessary to make the Tutorial succeed, ranging from producing camera-ready copy for books to writing text and examples.

Between 1998 and 2000, the Tutorial team updated the Web site many times and produced two completely new books, as well as two major revisions of the original book. In mid-2000, Mary retired from paid work. Alison and I still work on The Java Tutorial, in both its Web and book forms. Although we rely on guest authors from time to time, the rate of change has become less frantic as the J2SE platform matures.

The J2EE Tutorial

Now there's a new platform--and a new tutorial--in town. The success of the Java 2 Platform, Enterprise Edition has been phenomenal. Developers are clamoring for information about how to write applications using this new Java platform for the server. And this book helps, continuing the tradition of The Java Tutorial, but this time for the J2EE platform. Like the original Tutorial, this is an example-filled, easy-to-use entry point and quick reference for programming with the J2EE platform. And I'm sure, like the original tutorial team, Stephanie, Dale, Eric, Kim, and Beth all have stories to tell about the time they've spent working on the J2EE platform and bringing you this book.

Just a note--Because the J2EE platform sits on top of the J2SE platform, you need to be comfortable writing programs for the J2SE platform before you can make full use of this book. If you're not comfortable with the J2SE platform, go to The Java Tutorial4 and learn!

Then come back here, so you can find out all about developing and deploying applications for the J2EE platform.

Kathy Walrath

Sun Microsystems

San Francisco, CA

December 21, 2001

You can get more information about Duke in the article "It's Duke's Birthday, Too!":

By looking at, you can see what was in each of our updates.

Lisa has some great anecdotes about the early days of FirstPerson. You can read some of them at

On the Web at, or in book form as The Java Tutorial: A Short Course on the Basics.