The Top Products of 2000Java Report's Annual Writers' Choice Awards
- By John K. Waters
STOP ME IF you've heard this one: What do you get when you ask a group of opinionated Java professionals to put together a list of their favorite tools and technologies? If you happen to be the product review editor of Java Report,
and the Java jocks in question happen to be contributors to the magazine, what you get is the latest installment of our annual Writers' Choice Awards. (Hey, you had a chance to stop me.)
It's hard to believe that another year has gone by, but judging from the quality, variety, and quantity of Java products available to developers as the year 2000 draws to a close, it seems to have been time well-spent for many vendors. Last year, our master list included more than 750 Java products; this year that list includes a whopping 1,120! Clearly, the Java market is maturing, and Java developers are being presented with more choices than ever before.
Sorting out those choices for this issue was no easy task. We modified last year's product categories, argued with the writers over what should go where, and somehow managed to organize things before anyone was seriously maimed. As in years past, we invited our cadre of Java Report contributors—82 reporters, feature writers, reviewers, and columnists—to vote for the top products in each of these categories. This year we heard from writers based in England, Europe, South America, Slovenia, Australia, and throughout the U.S. All of them are Java pros, from in-the-trenches coders to big-picture architects. Religious fervor in this group ranges between hard-core Java fundamentalists and enthusiastic agnostics. All of our voters contributed articles recently published in Java Report.
Each year we send these volunteer voters as complete a list of Java tools and technologies as we can possibly assemble. Everyone agrees that we outdid ourselves this year. Leave it to our favorite irascible reviewer, Frank Flowers, to sum up the challenge we presented: "Congratulations on compiling the longest list of Java applications I've ever seen—39 pages! I have a real job, you know." It would, of course, be unreasonable to expect every voting writer to possess intimate knowledge of every item on such a massive manifest. What we did expect was that the top products in each category would already be on their radar screens. And we were right.
It's worth noting that there were no ties for the top three spots. Still, many products edged their way into those top spots by just a vote or two. In the end, we all agreed that publishing only the top three vote getters just wouldn't tell the whole story. To be fair to both readers and vendors, we awarded honorable mentions to worthy products that nearly made the cut.
We all agree that every product listed here, whatever its ranking, is doing something right and is well-worth a look!
—John K. Waters, Product Review Editor
BEA WebLogic Enterprise: BEA Systems Inc.
One of the few hands-down winners in any category, WebLogic Enterprise is BEA's platform for developing, deploying, and managing Web applications based on enterprise Java open standards. It supports CORBA, Java, and EJB programming standards, as well as WML and XML. It also supports all major browsers, wireless devices, databases, and platforms. The Enterprise edition integrates BEA's Java and CORBA technologies with the BEA Tuxedo transaction technology, to provide a flexible component-based development environment.
"Without a doubt, WebLogic is currently the most sophisticated application server available, with excellent support for EJB. BEA did a great job of integrating existing middleware products with Java. Due to its reputation, the developers can depend on the services provided."
—Matjaz B. Juric
IBM WebSphere Application Server, Enterprise Edition: IBM Corp.
IBM's Web app server was edged out of first place by a handful of votes. This is an e-business application deployment environment built on open standards-based technology. The standard edition of the product supports the use of Java servlets, JSPs, and XML for the development of dynamic Web content. The advanced edition is a high-performance EJB server for implementing EJB components that incorporate business logic. The enterprise edition integrates EJB and CORBA components to build high-transaction, high-volume e-business applications.
"WebSphere is a solid product for deploying Java-based e-commerce applications on the Web. It has been proven by successful deployment in the real world and is growing in new and exciting ways. It proves that Java servlets accessing CORBA and databases are a force to be reckoned with."
SilverStream Application Server: SilverStream Software Inc.
Very popular in the voting this year, one of our writers called this product "a stand-out entry in a crowded field." The SilverStream Application Server is a platform for building and deploying complex Java and HTML applications for the Web. It provides comprehensive support for J2EE technologies, plus value-add features for rapid application development and deployment. The latest version of the product, 3.5, includes support for popular Java IDEs, EJB development tools, and JSP design tools from third parties. This product also includes integration with popular Web servers and an intuitive visual interface for deploying EJB application code. Linux support is now in beta.
"The SilverStream Application Server is reliable, scalable, and robust. I use it, and that's where I cast my vote."
• iPlanet Application Server: the Sun–Netscape Alliance • PowerTier for EJB: Persistence Software Inc. • Total-e-Server: Bluestone Software Inc. • Oracle Application Server: Oracle Corp. • iPortal Application Server: Iona Technologies • GemStone/J: GemStone Systems Inc. • Bluestone XML Server: Bluestone Software Inc.
AUTHORING & DEPLOYMENT TOOLS
InstallShield Java Edition: InstallShield Software Corp.
Another hands-down winner, the 3.0 Java Edition is an extensible setup-authoring environment for corporate developers, server-side Java developers, and independent software vendors who are creating applications for multiple platforms. It supports segmented installation, and one-step JVM bundling. Platform Pack architecture allows platform vendors to incorporate OS-specific features and enable platform-specific installation functionality.
"InstallShield Java Edition is an effective installation solution for multiplatform Java development. The interface is simple and intuitive, making the time to learn to author a robust self-extracting archive minimal. Also, InstallShield Java Edition offers more advanced features such as an open API allowing Java engineers to tailor the installation to the needs of our products."
—Dr. Adam Kolawa
InstallAnywhere Enterprise Edition: Zero G Software Inc.
A popular tool among Java Report
writers for building cross-platform installers, InstallAnywhere is written entirely in Java. The enterprise edition of the product is designed for building customized multiplatform installers. It allows enterprise and commercial software developers to build global solutions that deploy via intranets, the Internet, or CD-ROM, which can scale from applets to the enterprise-class client/server applications.
"My company uses Zero G Software's InstallAnywhere to deploy a large client/server Java application. IA constantly draws comments from both customers and our own developers!"
DeployDirector: Sitraka Software*
One of the newest products on this year's list, DeployDirector was something of a surprise vote getter, especially considering that it only began shipping in July. A 100% Java solution for the deployment and management of client-side Java applications and applets, the product allows for the rapid deployment of applications to users via the Internet. It automates distribution and management of client-side Java Runtime Environment (JRE) and application updates.
* formerly KL Group Inc.
"I know it sounds like a cliché, but we've found that DeployDirector really does reduce the time and costs associated with deployment in a Web-based enterprise. It's robust, highly scalable, and does its job very well. I especially like the class-level differencing feature, because it ensures that only the minimal set of changes are deployed to clients during a version upgrade."
• WebSphere Studio: IBM Corp. • SwingBuilder: SwingSoft Ltd. • SourceGuard Enterprise: 4thpass LLC • Java API for XML Parsing: Sun Microsystems Inc. • Blaze Advisor: BlazeSoftware Inc. • StructureBuilder: WebGain Inc.
CHARTING & GRAPHS
JClass Chart: Sitraka Software
JClass Chart is 100% pure, data-aware Java component for creating sophisticated graphs and charts in applications and applets. It supports numerous types of business and scientific charts, including line, bar, pie, stacked bar, and plot. It allows users to employ a rich text format for customizing labels or mixing images and URLs with text. This product can be used with many popular IDEs, supports the latest JDK releases, and works with a flexible data source that can access files, JDBC, and sockets. It has lots of interactive features.
"Because of the time and effort saved using packages from [Sitraka Software], my company has been able to reduce time-to-release while incorporating attractive and intuitive user interface components."
Visual UML: Visual Object Modelers
Visual UML is an object-modeling tool that provides comprehensive support for all ten diagram types defined in the OMG 1.3 UML specifications. The product can be used for modeling many types of systems, including information systems. It is also used for modeling real-time systems. The product features: an integrated model/data dictionary; a full-featured intuitive user interface; a multiple document interface; extensive control of chart objects' positioning and appearance; a comprehensive use-case editor; import/export/merge model fragments and diagrams; export diagrams to Windows Metafiles, BMP, JPEG, TIFF, PNG, PCX, and EPS image files; export diagrams to Windows Clipboard, group editing; cut/copy/ paste objects; an XML interface; and more.
ChartWorks: Visual Mining Inc.
The ChartWorks System comprises two tools for designing and adding "live" charts and graphs to Web, client-server, and decision-support applications. ChartWorks Designer is a 100% Java, point-and-click chart design tool designed to allow the building of online charts without the need for HTML, CGI, or Java programming skills. It saves charts in one of three formats: HTML, GIF, or the default CDL format. Charts can also be printed directly from the ChartWorks Designer. The ChartWorks Server is a Web-enabled repository for generating charts on demand and broadcasting them via the Internet. The latest version, 3.6, includes enhanced image generation, and it integrates with applications written in Visual Basic and with InterDev, Cold Fusion, SilverStream, and NetDynamics.
• Grid.J Rogue Wave Software • JClass Field 3.5: Sitraka Software • NetCharts: Visual Mining Inc.
Java Foundation Classes: Sun Microsystems Inc.
Java Foundation Classes (JFC) extends the original Java GUI library, the Abstract Window Toolkit (AWT), by adding a comprehensive set of GUI class libraries that is completely portable and delivered as part of the Java platform. The JFC allows developers to create and deploy large scale, mission-critical intranet, Internet, and so-called crossware applications. The JFC delivers a rich API with a growing set of components and services to develop commercial-grade applications.
"The Java Foundation Classes are built with a model-view-controller architecture, allowing separation of rendering, event handling, and data manipulation functionality. Additionally they are written entirely in Java and do not depend on any native code—making their look & feel completely portable from platform to platform. This combined with ease of use,extensibility, and customization, has taken Java GUI development to a new level."
JLOOX: LOOX Software Inc.
JLOOX is a real-time dynamic graphics and data visualization toolkit for Java developers. It extends Swing by providing a collection of high-level graphics objects built on Java2D. Features include zooming, drill-down, layering, animation, dynamic objects (toggles, dials, gauges, knobs), and charting, with an interactive editor for rapid creation and animation of graphic screens. JLOOX carries no runtime, royalty, or deployment fees.
JClass Elements*: Sitraka Software
JClass Elements is a set of 100% pure Java extensions and enhancements for Swing in JDK 1.2., loaded with tools and timesaving components to improve the look and quality of Java applications. It includes thread-friendly, lightweight components for adding features such as proper resizing behavior to applications, an advanced multicolumn outliner, progress manager, JCTreeExplorer, and JCSpinBox. It is only available as part of the JClass suites.
* formerly SwingSuite
"JClass SwingSuite is a very good extension for doing GUI work in swing..."
• SSLava Toolkit: Phaos Technology Corp. • Voyager: ObjectSpace Inc. • FlexxGuard: IBM Corp. alphaWorks • JIntegra: Linar Ltd. • Graph Foundation Classes for Java: IBM Corp. alphaWorks • JSAFE: RSA Security Inc.
COMPILERS/ CODE MANAGEMENT
High Performance Compiler for Java: IBM Corp. alphaWorks
High Performance Compiler for Java compiles Java bytecode into optimized platform-specific native (object) code. The resulting code is, in general, significantly faster than the bytecode executed in a JVM/JIT environment. The degree of performance improvement depends on the application. The IBM compiler draws on Big Blue's C and C++ compiler experience in optimizing Java code for maximum performance. The resulting binary code is geared to a particular piece of hardware, which gives Java apps a jump in performance. Earlier this year, this product "graduated" from the alphaWorks site. All versions of High Performance Compiler have been integrated into IBM's VisualAge for Java development environment.
Jikes: IBM Corp.
Jikes is IBM's open source Java code compiler. It translates Java source files as defined in the Java Language Specification into the bytecoded instruction set and binary format defined in the JVM Specification. Product features include strict adherence to the language specification, fast compile speed, built-in dependence, analysis, allowance for incremental compilation, and automatic makefile generation. The Jikes project is a software development project jointly managed by a group of companies and individual volunteers worldwide.
"Jikes is an excellent lightweight, high speed compiler. The price is right! We've been using this compiler with ANT and have been very satisfied with the results."
Codewright: StarBase Corp.*
Codewright is an industrial-strength programmer's editor designed specifically for the Windows environment. It supports more than a dozen languages, including Java, C/C++, HTML, and Pascal. Features in the 6.0 version include intelligent code completion (CodeSense), a code reuse tool for developers and teams (CodeFolio), and a visual tool that allows users to add or change language support on the fly (ChromaCoding). The new CodeSense feature minimizes typing by recognizing and completing function names.
* formerly Premia Corp.
"This is a terrific code editor. I use the macros to automate internal activities such as differencing, searching, and comment-file creation. This is a product that works well and (surprise! surprise!) has good, well-written documentation."
• Xeena: IBM Corp. alphaWorks • Class Navigator: Comware Australia • TSpaces: IBM Corp. alphaWorks
TopLink for Java: WebGain Inc.
This 100% pure Java product allows users to map complex business objects to relational databases so that users can leverage existing data and deploy new Java applications. It incorporates a metadata architecture that separates the details of persistence from the business logic. No SQL programming is required. The product transparently maps EJB Components to relational tables. With Entity beans, both bean-managed and container-managed persistence is supported. TopLink is fully integrated for use in Session beans. It can be used in conjunction with many Java architectures.
Oracle JDeveloper: Oracle Corp.
This is Oracle's component-based development environment for building, debugging, and deploying database applications for the Internet. JDeveloper features support for developing and deploying Java-based software in the database. It allows users to create stored procedures, EJB-based components, and CORBA Objects. It includes integrated JDBC drivers, SQLJ precompiler, connection manager, database browser, data-aware controls, and form wizards for the creation of data-driven applets, applications, servlets, and components. JDeveloper ships with JDK 1.1.7 and Java 2 Standard Edition version 1.2, and allows switching between available JDKs. JDeveloper is tightly integrated with the Oracle Internet Platform products.
SQL Anywhere Studio: Sybase Inc.
SQL Anywhere Studio lets users create and deploy mobile computing applications, enabling them to exchange data between corporate systems and remote devices, such as handheld computers or mobile phones. It supports single-user or multiuser implementations, and is designed to minimize memory and system requirements of data-driven applications on these devices. The 7.0 version, released earlier this year, was designed to be easier to administer than its predecessor and lets users synchronize information in both directions between remote devices and standard back-end enterprise database systems, including those from Sybase, Oracle Corp., IBM Corp., and Microsoft Corp. The latest version features Adaptive Server Anywhere, Sybase's mobile database.
• IntraBuilder Client/Server: Borland, Inprise Corp. • Pointbase Mobile Edition: PointBase Inc. • SQL Anywhere Studio: Sybase Inc. • Blend.J: Rogue Wave Software Inc. • EnterpriseSoft Report Writer: EnterpriseSoft, Actuate Corp. • XML Diff and Merge Tool: IBM Corp. alphaWorks
DB2 Universal Database: IBM Corp.
The DB2 Universal Database Version 7 fully integrates e-business, business intelligence, and content management capabilities. The latest version includes in-memory relational database technology, designed to speed up text search for Web applications; deep XML integration to facilitate data interchange in support of B2B applications; integrated, scalable warehousing and data analysis features; and integrated support for spatial data, to visually tie customers or operations to location.
"[DB2 Universal Database] cohabits well with the Windows NT environment, and it provides excellent scaling and integration opportunities with the DB2 mainframe database. For developers and system architects looking for a scalable platform that can take full advantage of a 3-tier architecture, including high performance mainframe systems, DB2 is an excellent choice."
POET Object Server Suite: POET Software Corp.
Object Server Suite is a leading object-oriented database management system for the creation of packaged applications. Built around POET's trademarked FastObject Technology, it is widely embedded in Java applications and C++ applications that require high performance, scalability, faster time-to-market, small footprint, and no DBA administrative costs.
" ... POET enables object persistence using a simple and intuitive programming model. Project experience has shown that POET's proven OODBMS technology accelerates both development time and performance of many applications."
Cloudscape: Informix Software
Cloudscape is a small footprint, 100% pure Java object-relational database management system. It implements SQL-92E with some of the more advanced SQL-92 features, and Java extensions. It also comes with Cloudview, a database schema development tool and browser. Cloudscape functionas as a built-in, zero-administration data manager for single-user apps, or as a built-in data manager for multiple-user app servers. V. 3.5.1 is now shipping.
"Cloudscape goes beyond the classical relational database management products to deliver true Java object support within the DBMS itself."
—John K. Waters
• jConnect for JDBC: Sybase Inc. • Cocobase Lite: THOUGHT Inc.
Integrated Development Environments
VisualAge for Java Enterprise Edition: IBM Corp.
Taking the top spot for the second year in a row, IBM's VisualAge for Java Enterprise Edition is another favorite among Java Report contributors. This product allows users to build 100% pure Java applications, applets, and JavaBean components. Automatic version control makes it easy to go back to a working version of earlier code. VisualAge organizes programs in logical elements: projects, packages, classes, and methods. By managing dependencies, it provides instant incremental compile when code is saved.
"VA's ability to do complete testing of servlets, JSPs, EJBs and domain classes is unmatched. It has saved me and my development team hundreds of hours by allowing us to do all our testing in one environment ... And the code we develop with VA Java Enterprise ends up getting deployed on Weblogic Application server with little or no changes to our initial development."
Borland JBuilder: Inprise Corp.
JBuilder is a visual development toolset for developing pure Java applications, applets, JSP/Servlets, JavaBeans, EJB, and distributed J2EE applications for the Java 2 Platform. The latest version, 4.0, adds support for J2EE EJB development, and works with BEA Systems' WebLogic application server. JBuilder 4.0 also includes the AppBrowser environment with XML-based project manager, StructureInsight, HTML and XML viewers, advanced graphical smart debugging, Two-Way-Tools, a fast compiler; and more.
"It's good to see a premier Java development environment evolve along with the language itself. JBuilder continues to provide strong support for creating GUIs. But it also has excellent features for developing middleware, including support for servlets, JSP, XML, EJB, and JDBC. The latest version even works with the WebLogic application server. Now you can write code end-to-end within one environment."
CodeWarrior PersonalJava Platform Edition: Metrowerks Corp.
This is a development tool for Sun Microsystems' PersonalJava Application Environment that uses the CodeWarrior IDE. It speeds the development of PersonalJava applets and applications targeting networkable consumer devices, including set-top boxes, high-end mobile phones and PDAs, Internet TV, automotive navigation systems, and Internet screen phones.
"I'm a big fan of CodeWarrior, so I was delighted when I learned that the company had released a version for small-device programmers. CodeWarrior PersonalJava Platform Edition 1.0 offers excellent support for Sun's PersonalJava technology. This is a great tool for small-device application developers. Anyone working on applications for set-top boxes, Internet-connected cell phones, or PDAs will want to take a serious look at this product."
—L.J. Cohen, Nov. 2000 review
• VisualCafé Professional Edition: Symantec Corp. • Forté for Java: Sun Microsystems Inc. • SilverStream Designer: SilverStream Software Inc. • Espial Architect: Espial Group Inc. • Bolero: Software AG
MISC. DEVELOPER TOOLS
MQSeries Client for Java: IBM Corp.
This product is an MQSeries client written in Java for communicating via TCP/IP. It enables Web browsers and Java applets to issue calls and queries to MQSeries, giving access to mainframe and legacy applications over the Internet without the need for any other MQSeries code on the client machine. It is now shipped as part of the MQSeries classes for Java. These classes also include support for direct Java Native Interface (JNI) connection to an MQSeries server, so that a Java program written using them can be deployed to use either JNI or TCP/IP client connectivity.
"Simple to use, yet powerful tool for integration of various systems. Performance, ease of use, reliability, and Java platform form a sound foundation of a product that can simplify the means of communication to third-party in any Java-based project."
VisiBroker for Java: Inprise Corp.
The Visibroker for Java object request broker provides full support for the CORBA 2.3 specification, including: Portable Object Adapters (POA), Objects By Value (OBV), RMI over IIOP, clustering, and load-balancing. It provides a complete development environment for building, deploying, and managing distributed applications that are open, flexible, and interoperable.
"VisiBroker for Java in version 4.0 delivers several important improvements and new features. It is one of the first CORBA 2.3-compliant products on the market. This, together with the leading performance, makes it a very good choice for the development of CORBA applications."
—Matjaz B. Juric
SanFrancisco: IBM Corp.
IBM SanFrancisco is a Java-based collection of components that allows developers to assemble server-side business applications from existing parts, rather than from scratch. Pre-tested SanFrancisco components enable developers to build and modify business applications quickly. SanFrancisco also provides the capability to make new Java platform components that can be reused. It is more than just a set of Java method components; it's a Java method factory as well. SanFrancisco is based on the Java programming language, so applications can be written once and run on a wide range of servers.
"Wondering if a framework of business components can do something for developers? A couple of years of experience, several versions of the framework, and couple of major project successes proved [to me] that a proper development concept (framework driven) and the right product (SanFrancisco) always make a difference. A big one."
• Espial Architect: Espial Group Inc. • Espial Espresso: Espial Group Inc. • Jeode: Insignia Solutions Inc. • JGL Object Manager: ObjectSpace Inc. • JClass: Sitraka Software • XML Parser, Java Edition v1.0.0: IBM Corp. alphaWorks
Rational Rose, Professional Edition for Java: Rational Software Corp.
This product is designed to take advantage of the object-oriented features in Java. It facilitates visual application assembly and component management. Features include: model evolution from analysis to design; team development using configuration; management and version-control systems; and automatic generation of Java source code (version 1.0 and later). It offers support for large frameworks and facilitates the use of commercial frameworks and components, including JDK Class Library, Java Method Invocation (JMI), Java Database Connectivity (JDBC), Internet Foundation Classes (IFC), Java Generic Library, VJ++, COM Library, ODI for Java, and Graphic Java Toolkit (GJT).
Paradigm Plus: Computer Associates International Inc.
Paradigm Plus is an object-oriented analysis and design tool to support Web application development through Java code generation. The product's analysis and design capabilities are used by Web developers to visualize, plan, and construct Java applications. It also exports components as HTML, so developers who don't have direct access to Paradigm Plus can view component specifications, models, and other design information via the Web. The forward and reverse engineering capabilities enable iterative development and "round-trip" engineering.
System Architect: Popkin Software
This is a modeling solution designed to provide the tools for development of enterprise-level systems. It integrates industry-leading support for all major areas of modeling, including business process modeling, object-oriented and component modeling with UML, relational data modeling, and structured analysis and design. All functionality is harnessed within System Architect's extensible repository, with native support for Microsoft VBA.
"Software analysis and design (which equals modeling) is one of the most important phases in the software development life cycle. Using the right modeling tool can greatly simplify the job. According to my experience, the Popkin System Architect provides the most usable features for enterprise-wide use. Together with the support for diagramming techniques, it is the first choice for software modeling."
—Matjaz B. Juric
• Together/J: TogetherSoft Corp. • RoseLink for BEA WebLogic Enterprise: Ensemble Systems Inc. • JProbe Threadalyzer: Sitraka Software • Formula One for Java: Tidestone Technologies Inc.
Optimize It! Professional: Intuitive Systems Inc.
This is a new Java tool for testing and improving the performance of Java applications, applets, and JavaBeans. Optimize It! goes behind the scenes of the VM and reveals how computer resources (memory and CPU) are used.
"We found Optimize It! to be the leading tool for testing Java software. We have used it for measuring the performance of distributed method invocation and were surprised by the ease of use and the rich feature set, that enabled us to do the job quickly and painless. We would recommend the Optimize It! Professional to any Java developer, as he/she will see what really happens inside the JVM."
—Matjaz B. Juric
JProbe Profiler: Sitraka Software
JProbe Profiler is another Java Report contributor favorite. This product searches and destroys performance bottlenecks in Java method code. It provides accurate time and memory profiling with multiplatform support for Windows NT and Solaris in JDK 1.1, JDK 1.2, and JIT environments. Designed for Java platform developers, the product's user interface and heap reference tools allow users to pinpoint bottlenecks in code, find and eliminate memory leaks, or simply explore how the code runs.
"We have found KL Group's (now Sitraka Software) products generally to be exceptional. The JProbe suite of tools for testing are especially noteworthy."
jtest: ParaSoft Corp.
jtest integrates essential types of Java code testing into one suite. In addition to performing white-box testing, the product supports static analysis, black-box testing, and regression testing. The new version helps developers prevent and detect errors automatically. The product offers suggestions on how to improve the quality of the code. Implemented in Java, jtest 3.0 uses its own copy of Java Runtime Environment 1.2.1 to avoid JVM version conflicts.
"Unit testing early in the development cycle is essential for reducing development and maintenance costs. I think jtest is about the strongest product currently available for unit testing."
• WebKing: ParaSoft Corp. • Distributed Application Tester: IBM Corp. alphaWorks • Bean-test (formerly EJB-test): RWS Software Inc.
Jinsight IBM Corp. alphaWorks
Jinsight is a tool that lets users visualize and explore a Java program's runtime behavior. It is used for performance analysis, debugging, and any task in which users need to better understand what the Java program is doing. It displays performance bottlenecks, object creation, garbage collection, execution sequences, thread interaction, and object references, and has features to help find and solve memory leaks. It can also take repetitive execution behavior and boil it down to its essentials, eliminating redundancy and uncovering the highlights of an execution.
"Jinsight is another excellent tool from IBM alphaWorks that we would recommend to any developer who is curious how his/her application executes inside the virtual machine."
—Matjaz B. Juric
Decafe Pro: authored by Diana Prince
This is a shareware Java decompiler that reconstructs the original source code from the compiled binary CLASS files (applets). The product is able to decompile the most complex Java applets and binaries, producing accurate source code. It's also a Java editor with a method browser, a global variable replace function, an export to HTML tool, and more. It supports bytecode disassembly. A stand-alone Windows application, Decafe Pro doesn't require users to have Java installed. It also has build-in Batch Process, to fast decompile any number of classes. The Java editor uses the latest GUI with syntax-coloring, bookmarks, and more.
"Decafe Pro is an elegant, easy to use Decompiler. I just drag class files into the tool and it decompiles them instantly. This tool is very valuable when debugging code for which the source is not readily available."
XML Productivity Kit for Java: IBM Corp. alphaWorks
This is a companion technology to the XML Parser for Java. It provides the next level of programming resources needed to quickly build and deploy robust XML applications using the Java language. The XML Productivity Kit for Java allows for the rapid integration of XML documents into a Java development environment. The kit contains two pieces. The first piece, referred to as XPK4J JavaBeans, enables users to connect XML processing beans in a visual builder such as Visual Age for Java. The second piece, XBeans, allows Java developers to create JavaBeans from document type definitions.
• HTML to Java Converter: authored by Kirill Kouzoubov • WingDis: WingSoft Corp. • Dynamic XML for Java: IBM Corp. alphaWorks • Jikes Parser Generator: IBM Corp. alphaWorks
Java HotSpot Server VM: Sun Microsystems Inc.
Sun has a version of Java HotSpot VM for the server side and client side. These two solutions share the Java HotSpot runtime environment, but have different compilers. Version 2.0 of the server VM contains the Java HotSpot runtime environment and the server compiler, and supports the Java 2 Platform Standard Edition, v.1.2.2 and v 1.3. It is currently available for free download.
"The Java HotSpot Server VM is a revolutionary step forward for Java performance, and one that has been, sadly, needed for some time. I see this as an evolutionary leap for the Java platform, and as helping to firmly establish Java as a viable server-side technology."
ChaiVM: Hewlett-Packard Co.
The ChaiVM is compliant with the JVM specification and tailored specifically for embedded systems. It includes characteristics such as the ability to be stored and executed from half a megabyte of ROM. It handles automatic memory management through incremental garbage collection, a function that can happen while the application runs. And it can be deployed with only the libraries required by the device. ChaiVM is tightly integrated with other Chai products. In fact, HP is now marketing an integrated, customizable suite of software products, development tools, and services for designing information appliances, called the Chai Appliance Platform.
TowerJ: Tower Technology Corp.
Maintaining its hold on one of the top spots again this year, TowerJ is a perennial favorite among Java Report writers. A high-performance Java deployment platform for enterprise Java applications, Tower J converts standard Java bytecode into compact optimized native binary executables for server-class computers that can be dynamically extended via bytecode or native libraries. The current release (version 3.5) supports Java 2. The VM's "mixed-mode" deployment technology allows Java-based e-business applications to use both bytecode and unmodifiable native code.
• Sun VM: Sun Microsystems Inc. • Sun Kaffe: Sun Microsystems Inc.
WEB AUTHORING/MANAGEMENT TOOLS
Dreamweaver: Macromedia Inc.
WebCollab: IBM Corp. alphaWorks
WebCollab is a 100% Java-based application that provides a method for displaying static visual data (slides, drawings, etc.) during teleconferences. This enables collaborative parties in different locations to make whiteboard presentations while on the phone or Internet. Participants may refer to and mark up presentation foils using the Live Pointer, which tracks the motion of a user's mouse in real time. The product contains a number of advanced annotation options that allow users to define their own sets of symbol libraries to annotate the slides. WebCollab runs with any Java-enabled Web browser. The application consists of the WebCollab client (an applet), the WebCollab server, and an HTTP Web server.
NetObjects Fusion: NetObjects Inc.
Last year's second place finisher, NetObjects Fusion is a smart Web site production application that integrates automated site building, professional quality design, and data management. This Web site production application for business professionals provides full support and visual control for Java applets. It offers drag-and-drop productivity and the flexibility to customize.
• Visual Page: Symantec Corp. • Allaire HomeSite: Allaire Corp. • Lotus XSL: IBM Corp. alphaWorks • B2B Integration Server: webMethods Inc.