SAN FRANCISCO (06/28/2000) - When I go to one of these conferences, I never have any idea what I'll wind up writing about it. It's a little scary wondering if I'll have anything to say at all. I need not have worried this time: a lot more was covered at this year's JavaOne than I had time or space to write about.
An architect designing a building has three fundamental things at his or her disposal: tools, methodologies, and materials. It's the same for a software designer. The tools in this case are the language, compiler, development environments, and debuggers. The methodologies are the design techniques, modeling processes, and use of patterns. The materials are the libraries, components, APIs, and protocols for constructing an application.
JavaOne conferences in the past have focused primarily on Java's tools -- on the language and surrounding utilities necessary to work with Java effectively.
But as the language has matured and stabilized, the emphasis has shifted increasingly toward materials and methodologies.
The "As I See It" series has primarily emphasized the new materials and methodologies that Java designers can use as they develop new systems and refactor existing ones.
This conference wrap-up summarizes the newest and best materials and methodologies in the areas of:
- Interactive demoware
- Collaboration tools
- Design technologies
- Client-side technologies
- Server-side technologies
- Interactive demoware
- Interactive demonstrations are useful for showing and explaining the great software you've built. - Through interactive, step-by-step tutorials, these demos can also teach others how to use your software.
If you want to create a demo, tutorial, or help system that's viewable over the Web -- and you want it to be interactive -- then consider using Qarbon's ViewletBuilder2. It requires no browser plug-ins, but it does insert a banner ad along the top of your Web page. A great benefit of ViewletBuilder2 is that the toolkit and server delivery are both free. If you don't mind banner ads on your pages, or if your company plans to buy all the advertising space on its Website, this could be the tool for you. Open-source developers won't mind the ads, and image-conscious sales organizations will love the system. On the other hand, companies needing to put internal tutorials on their intranets may want to serve them up without ads. Qarbon has no plans to provide an ad-free version of ViewletBuilder2, but who knows? Someone may provide sufficient cash incentives to do it.
For more information, see "As I see it, day two".
Collaboration tools are expected to be hot in the coming decade. They allow remote users to work together effectively. CrystalGate offers a network-collaboration engine designed to produce realtime collaborative environments and also provides a free programming toolkit. For more information, see "As I see it, day one".
From whiteboard to computer
Visual Ink has created a system that tracks what you draw on a whiteboard and then captures it to an onscreen "canvas." For more information, see "As I see it, day four".
These are the architectural methodologies you need to develop maintainable, robust systems.
IBM Corp.'s James Cooper hosted a discussion on Java design patterns discussion, and Stefan Nilsson of the Royal Institute of Technology hosted a talk on designing for good performance. Both discussions covered a lot of ground in their respective topics. For more information, see "As I see it, day one".
J2EE design patterns
Java 2 Platform, Enterprise Edition (J2EE) design patterns are used by Sun's Java Center to achieve common J2EE design goals. For more information, see "As I see it, day four".
Martin Fowler, a leader in the field of refactoring, gave excellent advice on restructuring existing code to improve it. The discussion is worth hearing for its humorous content alone. For more information, see "As I see it, day four".
When you add streaming media to your applications, good design can make a big difference in performance. For more information on streaming media, see "As I see it, day four".
Client-side apps utilize the power of desktop systems to provide fast, interactive response. Several new technolgies stand to bring client-side apps back to the forefront of the Java application picture.
The Browser Pluglet API helps you turn a browser into a useful client. For more information about writing browser plug-ins in Java, see "As I see it, day four".
GuideLayout is the layout manager of your dreams. You really, really should check it out. For more information, see "As I see it, day three".
What's coming in JFC/Swing?
Many things are being added to JFC/Swing, including integration of drag and drop into Swing components; spinner components and formatted text fields; document-interaction filters and regular expressions; and a highly improved "focus control" mechanism. Excited yet? For more information, see "As I see it, day four".
Basically, EJBs are a server-side technology. But what they do for client applications is pure magic. Find out more at "As I see it, day three".
Java has been the platform of choice for server-side apps for several years now. And the picture keeps getting better.
Servlets and JSPs
"As I see it, day one" tells you what you need to know about how Java servlets and JSPs work and when to use them. Day one of the series also includes a discussion of tag libraries -- a mechanism for extending JSPs without resorting to embedded scriptlets. For a few additional tidbits on server-side technologies, see "As I see it, day two".
XML data binding for Java
When it arrives, you're going to love this. Sun's data-binding API, Adelard, turns XML applications into Java classes that you can extend and program naturally. For more information, see "As I see it, day three".
Jasper, Tomcat, and other Jakarta goodies Jasper and Tomcat, part of the Jakarta Project, are what you'll need to dish up servlets and JSPs. Read more about these tools, as well as a Java-based build tool like make and a regular-expression package, at "As I see it, day three".
Word at the conference is that Marty Hall's Core Servlets and Java Server Pages Programming (Prentice Hall, 2000) is both authoritative and well written. Hall hosted an acclaimed discussion on J2EE at the conference. For more information, see "As I see it, day four".
About the author
Eric Armstrong has been programming and writing professionally since before there were personal computers. His production experience includes artificial intelligence programs, system libraries, realtime programs, and business applications in a variety of languages. He works on contract at Sun's Java Software division in the San Francisco Bay Area and is a regular contributor to JavaWorld. He wrote The JBuilder2 Bible and authored the Java/XML programming tutorial available at www.java.sun.com/xml. Eric is also involved in efforts to design next-generation collaborative discussion/decision systems.