Best in Java
< em>JavaWorld</em> honors the top Java technologies
The party has only just begun at this year’s JavaOne, and to add to the festivities, last night JavaWorld celebrated those innovative technologies and tools that have influenced the Java platform. During the JavaWorld 2001 Editors’ Choice Awards ceremony, held at the Ansel Adams Center in San Francisco, nine organizations and one author were honored for producing the best Java tools. All 30 finalists were also recognized at the ceremony for demonstrating the outstanding innovation currently emerging from the Java platform.
A tradition at JavaWorld since 1997, the Editors’ Choice Awards (ECA) honors companies, organizations, and individuals for their efforts in driving Java forward. The event always begins with a selection process; this year, vendors, readers, and JavaWorld authors and editors nominated tools and technologies in the following 10 categories:
- Best Java Virtual Machine
- Best Java IDE
- Best Java Performance Monitoring/Testing Tool
- Best Java Class Library
- Best Java Application Server
- Best Java Device Application
- Best Java-XML Technology
- Best Java Book
- Most Useful New or Revised Java API/Technology
- Most Innovative Java Product
Any commercial, open source, or free Java-based technology shipped on or before March 31, 2001, could be nominated. Beta versions were not eligible.
A panel of nine judges, all of them JavaWorld authors, voted in several rounds to narrow the more than 100 nominations to three finalists in each category. The panel then went through yet another round of voting to choose the winners. In making their final decisions, the judges thoroughly evaluated the features and functions of each technology or tool and its influence on Java.
The several weeks of nominations and voting culminated last night at the Ansel Adams Center. JavaWorld columnist Frank Sommers, founder and CEO of AutoSpaces and an ECA judge, kicked off the event with an address on future Java-based technologies. Afterwards, JavaWorld editors presented the awards to each of the 10 winners. All winners and finalists received an Awards crystal acknowledging their accomplishment.
Without further ado … the winners of the JavaWorld 2001 Editors’ Choice Awards:
Best Java Virtual Machine: Java HotSpot Server VM 2.0, Solaris, Sun Microsystems
Sun Microsystems’ Java HotSpot VM architecture combines a high-tech memory model, garbage collector, and adaptive optimizer with a sophisticated object-oriented style. Featuring a uniform object model, rapid thread synchronization, and system-specific runtime routines generated at VM startup time, the Java HotSpot VM was designed to deliver top performance and reliability.
“One should commend Sun for implementing VMs for many different platforms,” notes Sommers. “The HotSpot engine provides very high performance and great stability.”
Updated from version 1.0.1, Java HotSpot Server VM 2.0 features improvements in runtime and garbage collection, as well as enhancements to the Java HotSpot Client VM and Server VM optimizations. New runtime capabilities include enhanced fatal-error reporting, improved support for debugging and profiling, and a unified source base. Version 2.0’s garbage collectors feature larger heaps, a better soft reference policy, and support for larger applications.
Both the Windows and Solaris editions of the HotSpot VM were chosen as finalists, with the Solaris edition taking first prize. “My first choice is the Solaris edition,” continues Sommers, “because Java coupled with this operating system obtains one of the most reliable ways — if not the most reliable one — to deploy mission-critical enterprise applications.”
For more information on the Solaris version of Java HotSpot Server VM 2.0, along with the other winners mentioned here, visit the Resources section below.
Other finalists:
- Blackdown 1.3 Linux, Blackdown.org
- Java HotSpot Server VM 2.0, Windows, Sun Microsystems
Best Java IDE: JBuilder 4 Enterprise, Borland Software
Acknowledged in JavaWorld’s last Readers’ Choice Awards, Borland again accepted the award this year for Best Java IDE. Designed specifically to support the Java 2 Platform, Enterprise Edition (J2EE), JBuilder 4 Enterprise is a tool for creating business, database, and distributed applications. In addition to supporting Enterprise JavaBeans (EJB) 1.1-compliant development on the Windows, Solaris, and Linux platforms, version 4 features new visual two-way tools, designers, and wizards that speed the development and deployment of e-business applications.
“Ever since version 3.5, JBuilder has been a fast and stable tool, and its free version is strong enough for its intended users,” comments ECA judge Daniel Steinberg, director of Java offerings at Dim Sum Thinking. “As a Mac guy, I really like the way JBuilder runs on Mac OS X in the Borland demos.”
Developers can use JBuilder 4 Enterprise to build dynamic, data-driven Web apps with InternetBeans, JavaServer Pages (JSPs), and servlets. The tool is integrated with Borland Application Server and also supports BEA’s WebLogic Server, this year’s Best Application Server winner. Users can run and debug EJB and CORBA applications either locally or remotely and can deploy EJBs instantly without shutting down the application server.
In May, Borland announced the release of JBuilder 5, which supports XML and IBM WebSphere.
Other finalists:
- Forte for Java 2.0, Sun Microsystems
- VisualAge for Java 3.5, Enterprise Edition, IBM
Best Java Performance Monitoring/Testing Tool: JUnit 3.5, JUnit.org
On their way to OOPSLA 97, Kent Beck, director of JUnit, and Erich Gamma, coauthor of Design Patterns (Addison-Wesley, 1995), wrote JUnit — a regression-testing framework used by developers who implement unit tests. JUnit has always been free, but this year it debuted as an open source tool.
“JUnit is simple for programmers to understand, use, and extend,” says Beck. “And there are ports of the basic architecture to every imaginable programming language.”
“The bang-for-the-buck factor puts JUnit 3.5 ahead of the rest,” says ECA judge Tony Sintes, senior principal consultant at BroadVision and JavaWorld’s Q&A expert. “While JUnit is a bare-bones approach to software testing, it forces you to think and program with testing as a major component of development, not as an afterthought.”
JUnit.org has already released JUnit 3.6 and 3.7. For future releases, JUnit.org plans on improving the IDE integration and the user interface, says Beck. He also hopes that, in the true spirit of open source projects, more developers will contribute to JUnit’s growth.
“It’s been three and a half years of lots of hard work and no money,” said Beck after accepting the award last night. “And the years will continue.”
Other finalists:
- Jtest 3.3, ParaSoft
- Optimizeit 4.0, VMGear
Best Java Class Library: The Collections Framework, Sun Microsystems
A unified architecture for representing and controlling collections, Sun’s collections framework lets developers manipulate collections independently of their representation details.
“It is extremely well designed, very well thought out, and extremely useful,” says Sommers. “Given that it is shipping with the standard JDK classes, it has already become indispensable for all but the most trivial Java programs.”
The Collections Framework features high-performance data structures and algorithms, which diminish coding efforts and foster faster runtimes. Its common language provides interoperability among disparate APIs, and its standard interface for collections and algorithms encourages software reuse.
The framework features general-purpose, legacy, wrapper, convenience, and abstract implementations as well as six collection interfaces and array utilities.
“I’m really impressed with the Collections Framework,” says ECA judge Humphrey Sheil, CEO of Teogas Systems. “It’s extremely well designed and well integrated into the core JDK.”
Other finalists:
- JClass Enterprise Suite 4.5.1, Sitraka Software
- JGL 3.1, ObjectSpace
Best Java Application Server: BEA WebLogic Server 6.0, BEA Systems
Previously honored by JavaWorld readers as Best Java Middleware Product, BEA’s WebLogic Server snagged the award this year for Best Java Application Server.
WebLogic was one of the first application servers ever launched; BEA introduced version 6.0 in December 2000. It includes an enterprise messaging platform, integrated XML support, EJB 2.0 with message-driven beans and container-managed persistence, and J2EE certification. BEA also added new management and usability features designed to enhance administrator and developer productivity. In addition, developers no longer need a separate Web server, as version 6.0 features a tightly integrated Web/application server architecture.
“Few vendors implement application server clustering better than BEA,” says ECA judge Govind Seshadri, an independent Java consultant. “If reliability and scalability are your top priorities, then WebLogic is a shoo-in.”
Looking ahead to the next release of WebLogic Server, BEA plans to support Web services and the latest J2EE technologies.
Other finalists:
- iPlanet Application Server 6.0, Enterprise Edition, iPlanet E-Commerce Solutions
- WebSphere Application Server 3.5, Advanced Edition, IBM
Best Java Device Application: Java 2 Platform, Micro Edition (J2ME), Wireless Toolkit 1.0.1, Sun Microsystems
The J2ME development environment specifically addresses the growing market of post-PC technologies, from smart cards to set-top boxes. With the J2ME Wireless Toolkit, Java developers receive an emulation environment, documentation, and examples to develop applications that comply with the Mobile Information Device Profile (MIDP). The toolkit is currently based on the J2ME Connected Limited Device Configuration and the MIDP technical specifications.
“The emulators provided with the toolkit enable developers to test the appearance of their applications against the display of a Java-enabled phone and pager,” says ECA judge Michael Cymerman, director of research and development at GroupServe. “All in all, this tool is an excellent starting point for developers looking to enter into J2ME coding.”
Version 1.0.1 provides two GUI-based development interfaces in addition to command-line support. Another benefit: developers are free to test their applications on any emulated target device.
“The J2ME Wireless Toolkit simplifies the development and testing of MIDP-based applications,” continues Cymerman. “The KToolbar enables developers to focus on writing Java code rather than the administration necessary to deploy MIDlets. By offering both hooks into other development tools and a solid build process based upon Ant from Jakarta, Sun has made this new Java profile extremely accessible to developers.”
Other finalists:
- WebSphere Transcoding Publisher 3.5, IBM
- Whiteboard SDK 1.0, Bluetooth Edition, Zucotto Wireless
Best Java-XML Technology: Java API for XML Processing (JAXP) 1.1, Sun Microsystems
Using the Document Object Model (DOM), the Simple API for XML (SAX), and Extensible Stylesheet Language Transformation (XSLT), the JAXP API enables applications to parse and transform XML documents independent of any specific XML-processing implementation. Developers don’t need to change any code to switch between XML processors, so it’s easy for them to XML-enable their Java apps.
“Given that XML is widely used as a data-encoding format and is the de facto way to expose data in Web-based systems, the ability to consider XML documents as objects in the Java environment is critical for Web-based applications,” notes Sommers. “JAXP allows Java applications to integrate with data represented as XML documents.”
JAXP 1.1, Sun’s latest release, supports SAX-2 and DOM Level 2, and also features an XSLT framework based on TrAX (Transformation API for XML). JAXP will be added to both the Java 2 Platform, Standard Edition 1.4 and Enterprise Edition 1.3.
Other finalists:
- Xalan-Java 1.2.2, the Apache XML Project
- XML Parser for Java 3.1.1, IBM alphaWorks
Best Java Book: Thinking in Java, Second Edition, Bruce Eckel (Prentice Hall, 2000)
Another repeat winner last night was Bruce Eckel for his book Thinking in Java, Second Edition;his first edition was recognized in JavaWorld’s 1999 Readers’ Choice Awards. For the second edition, Eckel updated the book to Java 2 standards. “I wanted to make it pure Java 2 from end to end,” Eckel says. “At this point, we should forget about Java 1 because Java 2 was such an improvement.”
Thinking in Javais unique in that it is reproduced in its entirety on the Web. In addition, the book includes a CD that contains eight hours of lectures, slides, and exercises that teach the foundation of C syntax. Its purpose is not to teach the reader how to be a C++ programmer, but to provide enough background on C so that the reader can seamlessly move into Java.
“Thinking in Java should be read by every Java programmer,” says ECA judge Sommers. “Its main point is that Java is much more than a programming language, and that it therefore requires a new mode of thinking about code and a new mode of thinking about design.”
Eckel does plan on writing a third edition, which will focus on the new technologies introduced in version 1.4 of the JDK. He also hopes to improve the multithreaded and distributed programming chapters. Currently, he’s enhancing the online version’s feedback system so that readers responding to a certain section can also see other reader contributions. Feedback has been instrumental to the success of Thinking in Java, and Eckel thanks all those readers who contributed their opinions and comments throughout the publishing process.
For more from Bruce Eckel, read JavaWorld’s recent interview “Eckel Thinks in Java,” by John Zukowski (JavaWorld, June 8, 2001).
Other finalists:
- Java Performance Tuning,Jack Shirazi (O’Reilly, 2000)
- Java Servlet Programming, Second Edition,Jason Hunter and William Crawford (O’Reilly, 2001)
Most Useful New or Revised Java API/Technology: Java Message Service API 1.0.2, Sun Microsystems
A technology for J2EE, Java Message Service (JMS) works with other technologies to produce asynchronous communication between components in a distributed computing environment. The JMS API defines a standard set of messaging models and coding strategies that all JMS-compliant applications support.
JMS 1.0.2, to be included in J2EE 1.3, features message-driven beans, which enable asynchronous message use. It also supports the Java Transaction API, which forms distributed transactions that merge message sends and receives with database updates.
“The Java Message Service API 1.0.2 adds much required asynchronous messaging functionality to the J2EE platform, allowing enterprise Java to compete with entrenched technologies for the title of premier enterprise computing technology,” comments ECA judge Sheil.
Other finalists:
- Log4j 1.0.4, the Jakarta Project
- Mobile Information Device Profile (MIDP), Java Community Process, Sun Microsystems
Most Innovative Java Product: Tomcat 3.2, the Jakarta Project
Receiving the award for Most Innovative Java Product was the Jakarta Project’s Tomcat 3.2. Initially launched in December 2000, version 3.2 includes performance improvements, more than 100 bug fixes, and support for both multiple virtual hosts and SSL connections in stand-alone mode.
An open source project, Tomcat serves as the reference implementation for the servlet and JSP specifications and is included as the Web container in the J2EE reference implementation.
“Tomcat is such a powerful, reliable, and robust server that supports Java servlets and JSP,” notes ECA judge Qusay Mahmoud, an independent Java consultant. “It is very easy to configure, set up, and use. It’s the way to go.”
The Jakarta Project will release Tomcat 4.0 shortly, with features including:
- Servlet 2.3 and JSP 1.2 support
- Access logs
- CGI support
- Container-managed security improvements
“Tomcat, being an open source project, is the fruit of a lot of labors from all over the world,” said Craig McClanahan, technical lead for the project, upon accepting the award last night. “I want to accept this award on behalf of everyone who has contributed to it. You haven’t seen anything yet!”
Other finalists:
- Java Web Start 1.0, Sun Microsystems
- VisualAge for Java 3.5, Enterprise Edition, IBM
The true winners…
With such first-rate products available to Java programmers, it’s clear who the real winners are.
“We’ve seen Java innovation and development reach new heights,” says JavaWorld Editor-in-Chief Carolyn Wong. “The ultimate winners are the Java developers, as these products help improve the efficiency of their technical development work.”
The new releases and updates that are planned by these winning organizations, companies, and individuals will only improve the success of Java programmers and further secure Java’s future as thelanguage of the Internet.
Acknowledgements
JavaWorldwould like to thank its expert judges for their contribution to the ECA and their support of JavaWorld:
- Michael Cymerman, Director of Research & Development, GroupServe
- Oliver Enseling, Independent Software Architect
- Qusay Mahmoud, Independent Java Consultant
- Govind Seshadri, Independent Java Consultant
- Humphrey Sheil, CEO, Teogas Systems
- Tony Sintes, Senior Principal Consultant, BroadVision
- Frank Sommers, Founder and CEO, AutoSpaces
- Daniel H. Steinberg, Director of Java Offerings, Dim Sum Thinking, Inc.
- John Zukowski, Strategic Java Consultant, JZ Ventures Inc.