Saturday, February 15, 2014

Database Rapid Application Development Tools On the Cheap

Some time ago I explored the realm of RAD tools for building database application. It didn't take long to discover that there are very few options available and fewer yet that have the appropriate level of sophistication to build enterprise solutions.

While a number of open source RAD tools exist there are very few options with the level of maturity that would be required to risk investing time and energy to learn. My initial search turned up several contenders that looked promising. One such offering called OpenXava had quite a large following and on the surface looked very promising. After downloading the package and installing I was immediately faced with an issue. While the install was very straightforward it seemed that something was wrong with the Tomcat settings causing my connection to the database to fail. I was never able to identify the cause of the error even after several days of surfing forums. While troubleshooting, I did find many people that had successfully installed and deployed applications with the tool but even after trying a second install on another computer with Ubuntu I came up empty. It really was a shame because the concept behind OpenXava was attractive. I came to the conclusion that this tool was suffering from a deployment packaging maturity issue and moved on.

After a few more hours of research I happened across a tool called Wavemaker. Unlike OpenXava this tool came packaged with a complete Web-Based WYSIWIG editor and database schema tool. Once installed the interface seemed a bit daunting but after a few hours I became familiar with the workflow. The interface reminded me of Visual Studio and provided a comprehensive set of built in control widgets. Once a widget is dragged into the UI the properties pane allows you to set attributes to customize the look and feel along with some behavior. Digging deeper into the widget exposes the ability to add client side java script to further enhance the user interface.

One of the most remarkable features of Wavemaker is the ease of which users are able to build data views. Once your database schema is developed you can drag the database widget onto the canvas and the system automatically creates CRUD views based on one of several templates. This mechanism is also forgiving when you add or remove data table fields. All you have to do is edit the views by adding or removing the field. The data grid views provided by the system are also capable of providing drop down list edit features and data field formatting. Custom formatting can also be accomplished using java script.

Deployment of applications is also fairly seamless. There are three separate options for deployment. You can deploy directly to a tomcat server or generate a .WAR file to install using the tomcat application management tool. I have used both methods and they work equally well. There is also a phone gap build option that I have yet to explore.

I have been using this tool for about three weeks and it seems I am only scratching the surface. I wouldn't say my search for viable open source RAD tools is over, but this option certainly has provided much of the functionally and ease of use that one would expect from  a RAD tool. I do want to talk a bit about one other important aspect of any RAD tool. The ecosystem of any software development tool is incredibly important. The number of people using a given solution often speaks volumes about that tools utility. In the case of Wavemaker, there seems to be adequate following but the real benefit comes in the form of the documentation of the tool on the website.

I will continue to develop on this tool and pass along any gems or annoyances I encounter. I would love to hear what other think about this tool or any other open source RAD tools.

No comments:

Post a Comment