My sister-in-law recently came for a weekend visit, which means one thing: shopping. Like most men, I don’t like to shop. I figure I already have a pair of shoes, a couple pairs of pants, a few white shirts, and a half-dozen ties. So what more do I need?
Well, as a Java coder, I could always use a few more tools. So guess what? You and I are going shopping. But you’d better not bring your Visa card, because these stores won’t accept it.
Their stuff is free. First, let’s pull into the IBM alphaWorks site, at www.alphaworks.ibm.com. Back in 1996, IBM tacked up the alphaWorks shingle with only a small set of tools. Since that time, the site has exploded. AlphaWorks is teeming with dozens of tools. Many have won awards. For instance, Java Report gave Jinsight, a visual tool for optimizing and understanding Java programs, first place in the utilities category. XML Productivity Kit for Java, a companion to XML Parser for Java, got third place in the same category.
Several XML tools from alphaWorks received an honorable mention from Java Report: XML Diff and Merge Tool, XML Parser for Java, LotusXSL, and Dynamic XML for Java.
You’ll also notice a dozen other XML tools under the Technologies section of the site. The most notable is XML Interface for RPG, C, and COBOL. (For a detailed discussion on XML Interface for RPG, see Jim Barnes’ article “RPG IV and XML Together” in the November 2000 issue of MC.)
But you’re probably bored with XML by now, so let’s stroll past that section and take a look at a few other alphaWorks products that received an honorable mention from Java Report: Xeena, TSpaces, and Distributed Application Tester.
And here are a few more I like: Jikes Bytecode Toolkit, Developer Kit for Linux, Jikes Debugger, Developer Kit for Linux, and EJBMaker.
That last one, EJBMaker, is a tool for Enterprise JavaBean developers who are writing Enterprise JavaBean applications for the WebSphere Application Server environment. Now, tell me why IBM would make a tool that generates Java code that will only work on WebSphere. VisualAge for Java Enterprise Edition, a $2,000 or so product, already has an EJB wizard. Maybe it has something to do with the fact that WebSphere Advanced, a $10,000 or so product, is required to run EJBs. I’d rather the tool generated Java 2, Enterprise Edition-compliant code that could be used in any Web application server (like open-source JBoss.)
Watch Your Wallet
It’s easy to get caught up with the thought that all of these cool tools are free. The only trouble is, they’re not free. According to the alphaWorks mission statement, its intent is to provide early tool access for developers. So, like the name says, alphaWorks is a site where you can gain free access to tools in the alpha (and beta) stage, to assist IBM. Some of the tools do end up as truly free open-source utilities, but others become bundled with chargeable products or become products in their own right. Take, for instance, alphaWorks’ High Performance Compiler for Java (HPCJ), which takes Java source and creates a true Windows binary executable. Today, HPCJ is nowhere to be seen on the alphaWorks site, save for a note that says HPCJ has “graduated” to become integrated with IBM’s VisualAge for Java.
You Say You Want Free?
I did promise we’d go to stores where the software is free, so let’s pop over to Apache’s Jakarta site, at jakarta.apache.org. The Jakarta site doesn’t have as much to offer as alphaWorks, but I’ll guarantee that what they do have is free and doesn’t cater to pricey IBM products. Here’s complete list of the utilities available from Jakarta, all of which are full-blown products:
• JAX—a utility that compresses JAR files by as much as 70 percent
• Ant—a compilation facility for Java
• Element Construction Set (ECS)—a Java API for generating elements for various markup languages
• Log4J—a package that enables logging at runtime without modifying Java code
• ORO—a set of text-processing Java classes that provide advanced regular expressions
• Regexp—a lightweight regular expression package
• Slide—a content management and integration system
• Struts—a Web application building framework
• Taglibs—Jakarta’s unique extensions to JavaServer Page (JSP) tags
• Tomcat—a world-class Web application server
• Velocity—a Java-based template engine
• Watchdog—a set of validation tests for Java servlets and JSPs
You should already know about Tomcat (see “Tomcat for the OS/400: An Open Source Web Application Server,” in the December 2000 issue of MC). Some of the other items on the list bear serious consideration, too. You can expect future MC articles on at least two Jakarta products, Ant and Taglibs. I'm going to download several others. Need runtime logging, software validation, or a content management and integration system? Try Log4J, Watchdog, and Slide. Are you doing server-side Java? Want an application design strategy? Try Struts or Velocity.