There was a moment in history when assembly coding and the knowledge of it largely disappeared from the world. Before it, the programmers knew and cared about the binary code the CPU saw, even if they relied upon a compiler to build much of it. After that moment, the IDEs came along and did so many things automatically that programmers stopped caring about such things as linking or op codes.
We're reaching that moment in Web development today, thanks in part to fancy front ends like WaveMaker's Visual Ajax Studio. In years past, Java programmers would write deployment descriptors, Hibernate configuration files, and endless files filled with XML just to stitch together all of the JSPs and database calls. After WaveMaker, we can almost sit back and forget about firing up vi or Emacs to get a Web application running.
Monolithic Web applications have become almost standard in the world of SQL reports and most other kinds of data processing, but just as the cobbler's children always went barefoot, the programmers have been the last to jump on this bandwagon. Real programmers use vi, right? Not anymore. You start building a Web application in WaveMaker by going to a Web page with the word "Dashboard" on the top, the kind of term that usually indicates the Web page is built for pointy-haired bosses and the folks down in marketing who can't grok XML.
And once you go to this Web page, you can import a data model from a database by pushing a little icon button with a plus sign on it. You don't write SQL, JDBC, or any of the Hibernate configuration code. Then you click on a few more icons to create some Services -- note that the Dashboard doesn't call them "Web services" or WSDL as a proper programmer would do, but the subsequent pages do. After that, you push the plus sign under the Pages headline and you're pretty much done with a Web application without using a single acronym. As Dire Straits almost put it, "That ain't working/Money for nothing and your clicks for free."
Java for dummies
I'm exaggerating a bit. Building a full Web application is not as simple as getting rich after MTV plays your music video -- something that's also gone the way of binary code. But WaveMaker has stripped away plenty of the endless monotony of building Java applications by putting a pretty face on much of the endless editing of the configuration files. Naturally, creating user interfaces is also easy. The main layout page lets you drag and drop components in place. Most of the components are drawn from the Dojo hierarchy.
The result is very simple but not as powerful as if someone took Ant or Maven and slapped a slick AJAX interface on it. The basic functions are powerful, but there aren't many of them and they aren't as customizable as several of the neat Ant and Maven tools. The data model tool will respond to a few clicks and import an entire database with the JDBC interface's mechanism for reading the tables and data structures. But then it turns around and creates a Web service for adding and deleting an element for each and every possible row in each and every table. That's probably a bit excessive, and I found that I had to toss away many of them and tweak a few.
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.