Recent articles:
Popular archives:
Java: A platform for platforms
Sun's reorg may seem promising to shareholders but it's also a scramble for position. The question now is whether Sun can,
or wants to, maintain its hold on Java technology. Especially with enterprise leaders like SpringSource and RedHat investing
heavily in Java's future as a platform for platforms
Also see:
Discuss: Java: A platform for platforms?
Although the poetry game is quite fun, the applet actually represents outdated, mid-90s technology. To bring the applet up to date we're going to add a collaborative touch. In fact, this month we'll add two facilities for collaboration.
Note, though, that our creation requires the most robust of Java virtual machines. Our tests indicate the poetry applet works for the following platforms:

The poetry applet
Offline collaboration
You've whiled away your day at work, channeling all your energy into a masterful outpouring of poetic expression. Now, how
do you share this feat with the world? You can write it down and print it out, or -- with our New TechnologyTM -- you can submit your work to the poetry servlet!
The poetry servlet is a simple database of submitted poems; you can either submit your own poem or browse through the poems submitted by other creative geniuses.
Online collaboration
Simply being able to read what someone else has written often is not enough. Sometimes two heads work better than one. For
this multiple-poet situation, we want realtime collaboration so that many people can come together and produce something better
than any one of them could have done alone. Again, our New TechnologyTM can help!
Using the distributed list classes that we introduced with the earlier whiteboard articles, we can add online collaboration to the poetry applet. By storing the state of the poetry board in a distributed list, we can truly share the poetic experience.
Our collaborative poetry application naturally is divided into client-side and server-side components. Let's take a look at what each of these entails.

The collaborative framework
Client side
The client side of the poetry application features one main class, PoetryBoard, which implements the click-and-drag poetry board -- the basic user interface through which poetry is created.
Every tile on this board is represented by the Tile class. Tile is a serializable stateholder that stores a word plus its color and location, and provides the actual tile drawing code.
We're making the class serializable because we need to use the object streams for communication purposes.
Finally, the actual poetry applet is implemented with the PoetryApplet class. This creates and controls a PoetryBoard, which provides client-side networking with the poetry servlets, and the user interface facility for engaging online collaboration,
and loading and saving poems.