Java's come a long way since its first commercial release in 1995. Perhaps the best gauge of Java's success is the growth in Java tools over the last eight years: from the first applet authoring tools, to entire enterprise application development environments, to device development kits, each year, vendors roll out more and more tools to make a Java developer's job much easier. And each year, JavaWorld honors those tools that stand out in their usefulness, innovation, and commitment to advancing the language by presenting our Editors' Choice Awards (ECA).
This year marks the seventh year that JavaWorld has presented these awards. In early 2003, vendors, readers, and JavaWorld authors and editors nominated more than 150 tools and technologies in the following 10 categories:
- Best Java Data Access Tool
- Best Java IDE
- Best Java Performance Monitoring/Testing Tool
- Best Java Application Server
- Best Java Device Application Development Tool
- Best Java-XML Tool
- Best Java Installation Tool
- Best Java Book
- Most Useful Java Community-Developed Technology
- Most Innovative Java Product or Technology
Nominations were accepted for any commercial, open source, or free Java-based technology shipped on or before April 1, 2003.
A panel of JavaWorld writers and editors narrowed the nominations down to three finalists in each category. In making their decisions, the judges evaluated the features and functions of each technology or tool and its influence on Java. From those 30 tools, the judges then selected the 10 winners during a second round of voting. Winners receive Awards crystals and finalists, Awards certificates.
The true winners here are Java developers, who have a plethora of tools, many of which are free or open source, to ease their development tasks. Read on to find out which tools lead the pack. Finalists are listed in alphabetical order.
Best Java Data Access Tool: Oracle 9iAS TopLink, Oracle
Oracle9i Application Server TopLink is an advanced Java persistence architecture for developing and deploying enterprise Java applications that use relational databases. TopLink offers EJB CMP (Enterprise JavaBeans container-managed persistence), and persists regular Java objects as well as JSP (JavaServer Pages) and servlets. The tool's persistence infrastructure includes a GUI (graphical user interface) workbench, caching, Java-to-relational-mapping support, nonintrusive architectural flexibility, locking, and transactions. TopLink supports all Java technologies, J2EE (Java 2 Platform, Enterprise Edition) application servers, and relational databases enabled by JDBC (Java Database Connectivity). "TopLink distinguishes itself from other O/R [object-relational] mapping tools by offering developers fine-grained control over their persistence architecture and a long list of powerful features, including optimistic and pessimistic locking, automatic type conversion, transformational mappings, and more," says Moe Fardoost, director of Oracle9i Application Server product marketing.
TopLink's numerous features stood out for ECA judge Abraham Kang, security systems architect at Apexon, when evaluating this particular category. "TopLink has some nice features such as distributed caching of clustered Enterprise JavaBeans," he says. "It also has a functional GUI, which helps with configuration."
Fardoost attributes TopLink's success to Oracle's interaction with the Java development community. "Product development is driven by developer needs and providing the features that they appreciate the most," he says.
- CocoBase Enterprise O/R 4.5, Thought Inc.
- Hibernate 1.2.4, hosted by SourceForge.net
Best Java IDE: IntelliJ IDEA 3.0, JetBrains
Our judges couldn't say enough about JetBrains's latest IDE:
"IntelliJ rocks," says Kang.
"IntelliJ did it again," says Frank Sommers, president of Autospaces. "Just when we thought we saw what's possible in a simple, easy-to-use, yet extremely powerful IDE, version 3.0 topped our expectations."
"IntelliJ IDEA is by far the best IDE for advanced developers," says Michael Yuan, a PhD candidate at the University of Texas at Austin.
Since entering the Java IDE market in early 2000, this small Czech company has quickly garnered quite a loyal following of Java developers. Vladimir Roubtsov, a senior engineer at Trilogy—a software company that lets developers pick their favorite commercial or free IDE to work with—says that most of his developers have chosen IDEA.
Some of our judges have also switched to IntelliJ. "I have tried many IDEs each year when I review the latest crop," says Daniel Steinberg, director of Java offerings at Dim Sum Thinking. "Until last year, I always returned to a text editor and command-line tools. Now I use IDEA."
Kang also notes its appeal over other development environments: "IDEA has doubled my efficiency with its extensive refactoring tools, customizable quick keys, templates, Ant integration, and automated common programming tasks. Once you have tried IntelliJ, you will never go back to your previous IDE."
IDEA's refactoring abilities kept coming up again and again in our judges' comments, as did the tool's simplicity, flexibility, and intelligent editor. Nevertheless, Sommers had one complaint: "This IDE is addictive. At first, I used it to edit my Java code, then I started using it for my XML editing needs, and next I started using it to manage JSP-based Websites with it. I will probably use it for Web service development as well."
- Borland JBuilder 8.0, Borland Software
- Eclipse 2.1, Eclipse.org
Best Java Performance Monitoring/Testing Tool: JUnit 3.8.1, JUnit.org
For the third consecutive year, JUnit again finds itself a winner in our performance monitoring/testing tool category. JUnit Director Kent Beck attributes JUnit's continued success with the Principle of Mutual Benefit:
"Using JUnit makes programming more fun for programmers and more valuable to their employers, and makes the results more useful for users," he says. "There is also a social aspect, where JUnit was championed by two guys [Beck and Erich Gamma, who both wrote the tool] who already had reputations as hackers. So writing tests went from something they did (the quality assurance department) to something we did. Some of our technical decisions also played into this, like the use of the ordinary programming language as the testing language (most testing tools have their own embedded special-purpose language)."
ECA judge Tarak Modi, senior specialist with the North Highland Company, appreciates that particular feature of JUnit: "I do not spend too much time writing tests in some cryptic language. The learning curve is almost nonexistent, and the benefits are realized almost instantaneously."
Indeed, simplicity made this tool a favorite among our judges. "JUnit may not be the most feature-rich testing tool," notes Ju Long, a research associate at the Center for Research in E-commerce, University of Texas at Austin. "But since it is so easy to use, it is widely adopted. That makes it the most important tool for unit testing."
- JProbe 5.0, Quest Software
- Optimizeit Suite 5, Borland Software
Best Java Application Server: BEA WebLogic Server 8.1, BEA Systems
Though IBM and BEA continue to publicly bicker over who leads the application server market, this race to one-up each other continues to benefit developers: the Java application servers keep getting better and better, especially, according to our judges, BEA WebLogic.
"All of the app servers are pretty much J2EE 1.3 certified, but BEA is still the leader when it comes to features and functionality built on top of J2EE," says ECA judge Kang. "BEA's integrated tools ease development, integration, management, and monitoring."
Version 8.1's new features include tools that simplify development and deployment, standards-based Web services functionality, a performance increase of more than 30 percent, new monitoring capabilities, and training services.
Future releases will focus on enhanced management and administration, as well as standards support for the latest technologies, says Eric Stahl, director of product marketing at BEA Systems.
"WebLogic Server maximizes developer productivity, reduces the cost of operations and management, and drives standards-based integration into the enterprise, helping customers get ahead in an increasingly competitive world without damaging the bottom line," says Stahl. "As the fastest server available, it allows administrators to configure a cluster in just minutes, as opposed to hours or days with other vendors' application servers."
BEA's superior performance was just one of the deciding factors for ECA judge Roubtsov: "BEA WebLogic Server continues to lead in performance and standard compliance," he says. "WebLogic tends to support the most recent Java API levels and is an exceedingly developer-friendly product."
- IBM WebSphere Application Server 5.0, IBM
- JBoss 3.0, JBoss.org
Best Java Device Application Development Tool: Java 2 Platform, Micro Edition (J2ME) Wireless Toolkit 2.0, Sun Microsystems
Sun's J2ME Wireless Toolkit (J2ME WTK) helps programmers develop wireless applications with Java. It includes an emulation and testing environment for those applications targeted to Java-enabled devices that implement the Mobile Information Device Profile (MIDP) and related extension APIs. For version 2.0, Sun added support for the MIDP 2.0 specification and features, making J2ME WTK the only tool that currently provides such capabilities. J2ME WTK 2.0 also includes support for testing over-the-air downloading and installation of MIDlet applications, the Wireless Messaging API, the Mobile Media API, new device skins, and new gaming APIs.
"J2ME WTK is the mostly widely used tool for MIDP development," says ECA judge Yuan. "It can be used standalone or integrated into IDEs. It even integrates into Ant. Many vendor-specific MIDP development kits are modeled after J2ME WTK."
The tookit is also integrated and bundled with many J2ME IDE environments, including Sun ONE Studio Mobile Edition, Borland's JBuilder, and Metrowerks CodeWarrior Wireless Studio. "It is also promoted by Oracle's and IBM's developer sites as a tool to learn how to develop MIDP applications," says James Allen, senior product marketing manager of J2ME developer tools in Sun's J2ME platform marketing group. "So, it's got a lot of popularity in the wireless developer community."
"Sun continues to innovate in the wireless space with the release of the J2ME Wireless Toolkit supporting the MIDP 2.0 specification," says ECA judge Humphrey Sheil, technical architect at Cedar Enterprise Solutions. "Tool support is crucial to any technology, and wireless is no exception. Strong toolsets help foster early adoption of a technology, and with no clear winner yet in the wireless space, Java needs every single edge it can get."
- IBM WebSphere Studio Device Developer 5.0, IBM
- Sun ONE Studio 4 Update 1 Mobile Edition, Sun Microsystems
Best Java-XML Tool: Xerces2 Java Parser 2.4, the Apache XML Project
The Xerces2 Java Parser is another repeat winner in this year's awards; the open source XML parser also was selected as Best Java-XML Tool in JavaWorld's 2002 Editors' Choice Awards. Ted Leung, principal at Sauria Associates and an Apache developer, attributes Xerces2's continued success to its open source status and broad standards support. "Xerces2 is the only Java XML parser with support for XML Schema, grammar caching, and DOM [Document Object Model] Level 3 support," he says.
Some of our judges consider Xerces a standard in itself: "Xerces is the standard by which all other XML parsers are measured," says Erik Swenson, consultant and founder of Open Source Software Solutions.
And ECA judge Kang comments, "Xerces is the de facto standard when it comes to Java-based XML development."
Additional standard support was added to version 2.4: XML 1.1, DOM Level 3 load/save, and fixes based on the XML Schema errata.
"Xerces gets the Number One spot," says ECA judge Jonathan Simon, developer and product manager at Liquidnet Holdings. "Basically, cool things to do with XML and Java may come and go, but low-level access to the XML code in an object structure is always necessary."
- JAXB (Java Architecture for XML Binding), Sun Microsystems
- Xalan-Java 2.5, The Apache XML Project
Best Java Installation Tool: Java Web Start 1.2, Sun Microsystems
Java Web Start allows users to launch applications with the click of a button. "You can download and launch applications, such as a complete spreadsheet program or an Internet chat client, without going through complicated installation procedures," says Blake Connell, group product marketing manager for Java desktop solutions marketing at Sun. "Java Web Start includes the security features of the Java 2 Platform, so the integrity of your data and files is never compromised. In addition, Java Web Start enables you to use the latest Java technology—with any browser."
"Java Web Start is what Java applets should have been," comments ECA judge Yuan. "It deploys and updates fully functional Java applications to the client side. It could bring life back to client-side Java development."