Product review: WaveMaker’s point-and-click Java
WaveMaker Visual Ajax Studio and Rapid Deployment Framework make a fast and simple facade for Hibernate and TomcatFollow @peterwayner
It's clear that the guys at WaveMaker didn't set out to build something that outdoes Maven at its own game. They wanted to create the equivalent of, say, Microsoft Access or PowerBuilder for the Web, using Java technology hidden underneath. They did a good job. I was able to whip off some basic systems in just a few minutes. When I hit roadblocks, I was able to figure out the limitations pretty quickly.
The limitations were fairly obvious any time I tried to do something a bit differently. One of the options when you build a Service is to put a Java class or a POJO (Plain Old Java Object) to handle any arbitrary demand. This is simple to do and it works well -- as long as you write clean Java code. I got odd messages when I wrote code that wouldn't compile correctly because I used the wrong type. The editing window for these POJOs just isn't as powerful as Eclipse or any of the other tools built for real programmers.
Is the trade-off worth it? For many casual programmers, I think the answer is an enthusiastic yes. Java technology continues to be well-regarded and relatively robust, but it is usually harder to configure and maintain because all of the powerful features add complexity. A tool such as WaveMaker would be ideal for a Java shop that wanted to hire the kind of folks who can stitch together 10 lines of PHP or Python. WaveMaker hides all of that Java confusion.
Skilled programmers with years of experience customizing the J2EE stack, though, will start rattling the tin cup against the cell door -- but not as quickly as they might expect. Decent solutions can often be found in the simple point-and-click world, and it frequently helps to have access to someone with deep Java experience when you try something a bit odd. Those endless Java stackdumps can be pretty daunting.
The AJAX tools from Tibco and JackBe offer very similar tools for design. They also let you come pretty close to building your user interface by dragging and dropping the various components. They have similar editors and, to a certain extent, a similar architecture.
But there are deep differences in some places. JackBe, for instance, invested heavily in building a much more solid server-side framework for mixing and matching data on the server. This kind of feature can be essential in environments with sensitive data that shouldn't travel outside the firewall. You could accomplish much of the same by writing your own Java code with WaveMaker, but that's not as close to point-and-click as JackBe's Presto.
WaveMaker is one of the first tool vendors to adopt the AGPL (Affero General Public License), the new version of the GPL aimed at server-based code. If you choose this route, you can have the stack for free, but you need to release any and all modifications to the stack if you put up a running server with it. Tibco's General Interface is available under the BSD license, which requires no distribution of your modifications.
Most big development shops will probably skip the open source options, at least for serious projects. WaveMaker's commercial subscriptions top out at $10,000 for unlimited Java virtual machines and include "certified software, updates and upgrades, proactive alerts, and full production-level technical support." That pretty much bundles everything together in one big package -- just like the tool wraps up all of the fun of building a basic Web front end to a database.