Two plug-ins rev up Eclipse

M7 NitroX 2.0 and MyEclipse Enterprise Workbench 3.8.3 smooth Java and JSP development

See correction at end of review

Anyone who wonders whether there is any middle ground between the rough-and-ready approach of open source and the staid polish of proprietary software should examine the MyEclipse and NitroX development environments. Both are commercial collections of plug-ins and tools that add a number of useful features for developing server-side applications to the free Eclipse open source IDE.

The two environments come from companies with different approaches. M7’s NitroX is focused on creating Web applications. It comes in three different versions at three different price points, but the core of all three is AppXRay, a deep introspection technology that integrates the name spaces of the Java and XML configuration code. The simplest of the three versions offers help debugging JSP code for $299; the middle version adds support for Struts applications for an additional $200; and the high-end version includes tools for creating and debugging JSFs (Java Server Faces) for another $200. There are some discounts for multiple licenses.

MyEclipse Enterprise Workbench from Genuitec offers a broader range of slightly weaker tools for a yearly subscription of only $29.95. Some of the tools are open source plug-ins created by others, but Genuitec polishes them up and adds some generally good documentation before releasing them in one big package.

MyEclipse comes with plug-ins that automate some of the work for producing a Web application with Struts, but the collection also includes tools for tasks such as configuring database connections with the Hibernate framework. There’s even an SQL browser.

Both of these projects are working to replace many of the features for creating EJBs and JSP pages that IBM originally included in its flagship IDE, WebSphere Studio Application Developer. IBM stripped these out and released the core as Eclipse, no doubt choosing the name as a not-so-subtle jab at Java’s nominal owner, Sun. Eclipse has flourished, attracting a number of developers who create their own plug-ins. Many of these plug-ins are open source but some are proprietary. The result is a nice mix of common code shared by all and proprietary code owned by someone with an incentive to make it as slick as possible.

M7 NitroX for JSP, Struts, and JSF

The NitroX and MyEclipse environments are both good examples of how proprietary tools can coexist with open source. Any dedicated Java/Struts Web application programmer will probably want to turn to the NitroX toolkit first, if only because it’s the most extensive. The AppXRay feature seems to be devoted to the proposition that a programmer should only type a name once. AppXRay comes with many code-completion tools that can see deep inside of Java code modules and XML configuration files. After you give some method, field, or configuration option a name, AppXRay will probably find it and put it in the right pull-down menu for the next time you want to use it.

AppXRay goes much deeper than the standard debugger, by parsing and storing much of the information from XML configuration files. This is a welcome addition, because programming with modern frameworks such as Struts is a hybrid between Java and XML. Most programmers can tell you stories of how all of Java’s fancy type-checking does nothing to prevent bad data in a misconfigured XML file from ruining their applications.

The information from AppXRay is also a big help when debugging. You can see deeply into JSP pages and connect this information with the information buried inside the XML configuration files. NitroX extends the standard outline and variable browsing panels in Eclipse to handle many of the XML editing chores for the major XML files.

NitroX also comes with a JSP design page that’s split between code and a schematic HTML layout. You can find a part of the JSP code by clicking on a part of the final layout schematic. It’s similar to using a WYSIWYG HTML page-layout tool, but it also includes icons and boxes for some of the standard JSP tags. If you include loops or build other constructs in your JSP page, you can visualize some of the effects.

The NitroX system is not perfect. AppXRay still leaves some rough, uncharted ground at the edges of the application. For example, I discovered it is possible to create some actions that don’t have the right type, but the wizard did warn me of this error. Some of the creation wizards will do only half of the job. The process of building a Struts application hasn’t been reduced to a few simple forms quite yet. Still, NitroX’s ability to see deeply into the XML configuration files is a big step forward.

MyEclipse Enterprise Workbench

It’s not exactly fair to compare the Struts development environment in NitroX and the Struts templates in MyEclipse because MyEclipse doesn’t have many of the advanced information compiled by AppXRay. This doesn’t mean that MyEclipse is lacking. There are several good wizards for creating Struts applications and editing the XML configuration file. You can spin out a new Struts app with a few clicks and then add actions or other features using the wizards. These methods are closer to templates than something worthy of the fancy buzzword “AppXRay,” but they’re still quite nice. (The simplicity left me wondering why MyEclipse uses so much PHP on its Web site. Don’t they eat their own dog food?)

The real value in MyEclipse comes from the broader range of tools included in the distribution. There are editors for CSS, JavaScript, HTML, and XML. Wizards will help you create projects for Struts or EJBs, and produce all of the major components of these projects, such as actions, session beans, or forms. There’s also a tool for editing the Hibernate configuration files and one for executing raw SQL queries.

My experience with the database explorer is probably a good indication of how other developers will find MyEclipse. The database tool bundled with MyEclipse is also available as SQLExplorer, a GNU LGPL (Lesser General Public License)-protected plug-in for Eclipse that is based on the Squirrel SQL stand-alone project. I downloaded SQLExplorer in the past and failed to get it to work because I didn’t put the database drivers in the right location. The version included with MyEclipse also failed me at first, giving me an inscrutable error message. I was ready to complain until I found the excellent documentation, which walked me through installing the drivers. The folks at MyEclipse didn’t fix the error message in this case, but they did produce some good, simple documentation that’s not available with the open source versions of their plug-ins.

The biggest competition for the NitroX and MyEclipse toolkits comes from either the high end or the low end. These plug-ins return much of the functionality that IBM stripped away from WebSphere Studio Application Developer, a detail that will lead some programmers with a fat budget to go buy WSAD. These packages, however, are less expensive. Both offer many of the features for creating and debugging Web applications and include some new ones. In fact, NitroX, which also works with WSAD, would benefit WSAD users who need Struts or JSF support.

Extremely thrifty programmers could duplicate some of the functionality for free by adding raw plug-ins to Eclipse. In some cases, the raw plug-ins are more advanced than the versions included with MyEclipse. It’s hard to argue with a $30 price tag, however. If one piece of the MyEclipse documentation saves you a few minutes or even an hour, it’s money well spent.

The justification for NitroX is a bit harder to make, if only because the product is 10 to 20 times more expensive. If you regularly build JSP and Struts applications, though, the cost is only a few dollars per workday. I can easily see how the code-completion technology from AppXRay will save time, day in and day out.

Does it make sense to switch to these tools from other platforms such as IntelliJ Idea or Borland JBuilder? It’s more of a matter of taste, because these IDEs also offer good support for building Java Web applications. Plus, the full price of NitroX is in the same league as many of the big products. The one advantage that NitroX and MyEclipse have is the Eclipse plug-in “ecosystem.” You can run these products with other plug-ins and they’ll probably get along fine. This cross-pollination between proprietary code and open source is a good example of how both can live in cooperation.

Correction:

In this review, we originally misstated yearly subscription information. In fact, although the price includes one year of updates, the license does not expire. The error has been corrected.

InfoWorld Scorecard
Value (10.0%)
Ease of use (30.0%)
Documentation (15.0%)
Performance (15.0%)
Capability (30.0%)
Overall Score (100%)
M7 NitroX 2.0 8.0 8.0 8.0 8.0 9.0 8.3
MyEclipse Enterprise Workbench 3.8.3 10.0 8.0 8.0 8.0 7.0 7.9
From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies