LJ Archive

WaveMaker: It's Like...RAD!

Donald Emmack

Issue #209, September 2011

Database stuck in Windows? Take RADical action and try WaveMaker Community edition.

Rapid application development (RAD) is a trendy data-processing idea to shorten application software development time. In the truest sense, RAD should include user-friendly development tools and seamless access between end users and actual development software. Small-business users lust for software applications that fit this description. Commercial tools, like Microsoft Access and AlphaSoftware, share great success in the business community.

Both of these applications give small-business users and IT departments a simple way to develop applications for internal use quickly, with little effort. Usually, a small Web-based application can be created in only a day or two. Rapid application development combined with a treasure trove of professionally presented training videos and other learning resources keep these products in the forefront of technology and embedded in the business world.

Thus, a product like AlphaSoftware frequently is the cornerstone tool for small-business users to deploy Web tools for on-the-fly needs. Although some of these homespun software applications are downright ugly (from an aesthetic and design standpoint), nonetheless, they are critical business tools. In fact, their importance is so profound that some small businesses will not even consider a Linux environment because few tools exist that closely match the feature set of AlphaSoftware or similar commercial products.

Certainly, good arguments exist for the robust programming tools Linux offers. Ruby gains much attention as a powerhouse tool, although Ruby is a “foreign language” to most small-business owners. So, traditional open-source tools seem to lack the absolute simplicity necessary for acceptance by many business users. Further, Linux coding tools are largely unfamiliar, which reduces the pool of people who are able to assist businesses develop new applications. Alternatively, consider how easy it is to find a local IT guy who can create an Access database with full form control in only a few days!

Now, WaveMaker provides a strong Linux contender, properly positioned to battle for the interest of the business user. WaveMaker clearly targets a user audience with quick Web application development with a minimal learning curve. The product is available in both a community edition and an enhanced beta version poised for more commercial situations (wavemaker.com/downloads).

Meet WaveMaker

From a marketing perspective, WaveMaker is a robust tool for rapid application development of Web-based applications. You can peruse the WaveMaker site (www.wavemaker.com) for complete details of its promotional position. From a small-business viewpoint, WaveMaker meets the needs and requirements for rapid application development, ease of use and the ability to work across multiple platforms—including Linux.

The two editions of WaveMaker appear separated by the need to integrate with mainline applications. WaveMaker's community edition is limited to single-instance use, while the full edition enables unlimited users and interaction with commercial databases like Oracle, IBM DB2 or Microsoft SQL Server. Conversely, the community version supports the use of MySQL, PostgreSQL or HSQLDB. These two alternatives give small business users enough options for unique operating environments.

The Challenge

WaveMaker seems well suited to compete for Linux business-user interest. A tough sell, most business owners need a real-life example before they consider open-source systems. Thus, this article intends to demonstrate how WaveMaker could migrate a legacy database from the proprietary software world into the community edition of WaveMaker. This simple test is only a baseline, but it depicts WaveMaker's potential. In short, I show how WaveMaker can measure up to the tall demands of the business world and also re-affirm Linux as a viable choice for daily operations.

The example test here includes a sample business database originally developed with AlphaSoftware. The parameters of this test limit the environment to a small local Web application with only one table. It also demonstrates data export in a common format (comma-separated or Excel) file and MySQL data import. Plus, MySQL becomes the platform for the new application development. This process looks for potential issues that may arise when users cull data from a commercial application.

In summary, the test steps are as follows:

  1. Prepare the data in a common format.

  2. Install WaveMaker community edition.

  3. Use WaveMaker to auto-create a Web form for data entry and update.

Server and WaveMaker Preparation

For novice users, WaveMaker's Web site fully describes how to prepare your operating environment to support the tool. The one key decision point is whether to use the default HSQLDB database. As part of installation, WaveMaker includes the components necessary to use HSQLDB. In this test, let's use the popular MySQL as the database engine for the application.

First, let's use a Debian distribution to install MySQL. Let's also use phpMyAdmin to assist with database creation and data manipulation. If you want to follow along, check your distribution's instructions to install MySQL and phpMyAdmin, and make sure they are running before you continue. Next, download WaveMaker community edition and follow the installation instructions here: dev.wavemaker.com/wiki/bin/wmdoc_6.3/Install.

Preparation for the Test

After installation, let's plan a simple data export process to move into the new environment. My research discovered that AlphaSoftware includes a nifty export routine to send the data from its own database to other formats. I tested the export process with both text and Microsoft Excel formats successfully. To assist WaveMaker with field generation, I included field names during export. With the sample data in Excel format, use phpMyAdmin through the browser at http://localhost/phpmyadmin (or similar) to manage the MySQL experience.

To minimize errors with data import, a database and table were created in advance. In Figure 1, a new database called “linuxjournal” with a table named “sheet” already is in place. Next, let's use the import tool to populate the new “linuxjournal” database. Afterward, examine the database's structure to make sure the primary key value and index are appropriate for the test environment (Figure 2). In this example, I avoided foreign keys to minimize opportunities for errors. WaveMaker includes functions for database creation; however, the interface is not as familiar as phpMyAdmin. Further, using WaveMaker to build your data structure is an advanced topic. Therefore, the simpler approach is to stay with phpMyAdmin.

Figure 1. Once logged in to phpMyAdmin, create a test database called “linuxjournal”, and import test data with field names.

Figure 2. Verify that the indexes and keys are correct for the imported data.

WaveMaker Live

I used Linux Mint (a Debian distribution) for this test. After installing WaveMaker, the icon for startup did not appear on the desktop or in the application menu. To work around this problem, navigate to /opt/{wavemaker sub-directory}/bin/. Then, execute ./wavemaker.sh, and observe the new WaveMaker application presented on your desktop as shown in Figure 3. From here, press Start to begin the process, and the default browser opens to the application's home screen (Figure 4).

Figure 3. To the point, WaveMaker responds with a minimal window allowing you to start or stop the application.

Figure 4. At first, WaveMaker gives you the opportunity to create projects, open existing ones or just work through a tutorial.

From this point, click Create a New Project, give it a name, and then WaveMaker drafts the workspace for the application within the browser (Figure 5). This is the primary control center for development. While the look and feel may seem unfamiliar, WaveMaker reduces training time through intuitive command labels and software component tree organization.

Figure 5. A clean slate or “Palette” is the home screen of WaveMaker.

Establishing Database Connection

Once WaveMaker is up and running, it must establish database connectivity to continue. Next, select Services and then Database Services to define the connection to “linuxjournal”. Now, WaveMaker needs the right information to connect to the database (Figure 6). With MySQL, the first step is to change the initial drop-down list from the default HSQLDB to MySQL. Next, input the database userid, password and exact database name in the fields provided. Click Test Connection at the bottom of the window to ensure connection. Once successful, select Import to continue the data import process, and WaveMaker responds with the elements of the MySQL database in a new window (Figure 7). Stop here and evaluate your structure. It's important to validate keys and indexes. Also note the field names of your data to ensure they are listed properly.

Figure 6. WaveMaker's Template to Establish Database Connectivity

Figure 7. After import, your database structure is displayed.

Application Design

With a predominantly GUI interface, WaveMaker now is ready to create a Web-based application. A pivotal benefit for the small-business user, this interface relies on simple drag and drop for many operations. Automatic processes assist with form creation, data placement and manipulation. Plus, error correction is quite simple and capitalizes on the familiar Edit and Undo routine whenever you change your mind!

First, click on Canvas and Palette as shown in Figure 8. The link to the “linuxjournal” database previously created now is available in WaveMaker's tree view. Now, let's create a simple entry and update application—in one step. With the mouse, drag the database onto the blank area of the working screen. WaveMaker automagically populates the working area of the Canvas with the sample data from “linuxjournal”. It's remarkable to watch WaveMaker create editable (bold) fields for the data on the bottom of the Canvas. Figure 9 shows the results.

Figure 8. Navigating to the Location of Your Imported Table (Called “Sheet”)

Figure 9. After drag and drop, WaveMaker creates the list of data on the top of the screen, and the editable fields are listed below. Red text was added by the author.

In essence, data from the MySQL table is displayed on top, and a detail section (with editable fields) is created below. At the same instant, WaveMaker creates three buttons for data manipulation: New, Update and Delete (Figure 10). The current view displays the skeleton of the application, complete and test-ready. Select Test from the top window, and a new browser window with the application displays in test mode. Choose Run, and WaveMaker saves and then runs the application in a new browser window, as shown in Figure 11.

Figure 10. In the bottom right, WaveMaker automatically provides New, Update and Delete buttons for the application.

Figure 11. Live Operation of the Sample Data Migration in Less Than 20 Minutes

Now, work with this mini-program to verify the success of the transition, exit the application and then re-visit phpMyAdmin to see the elements properly added, changed and deleted.

Pinch Yourself

WaveMaker just completed this test migration in approximately 15–20 minutes! Certainly more complex data migrations will require a concerted effort to ensure proper foreign keys and precise index setup. Yet, the viability of this principle is proven for a small application migration.

In this test, WaveMaker performs quite well. Building the application and running it on the same machine is a bit sluggish, but this will change substantially with respect to hardware specifications and overall configuration.

No Parking!

This test purposely excluded necessary elements to make many applications really suitable for business. Nevertheless, adding buttons, screens and tabs is very straightforward. For example, user login logos and multiple tabbed displays often are staples of even the most rudimentary business applications. WaveMaker includes many nicely packaged tools that enable users to drag and drop additional features immediately into the live Palette.

WaveMaker builds these other essential elements with a host of “widgets” along the application's left panel (Figure 12). Users take advantage of this noncode environment and simply drag and drop new features into the Palette. For example, a handy calendar (Figure 13) or simple page navigation (Figure 14) require no direct code. Plus, login security and roles are handled efficiently in the Services and Security tabs of the application—once again, a simple user interface.

Figure 12. A Sample of Widgets Included with WaveMaker

Figure 13. The Included Calendar Widget

Figure 14. Simple Creation of Data Navigation Buttons

The Takeaway

For business users, WaveMaker excites the potential of open-source possibilities. In recent years, the strongholds of proprietary operating systems usually included finance and point of sale. Because few comparable business-class applications exist, the impetus to move into the open-source world is sometimes difficult. It's also clear that mainstream business users may consider Linux when the core applications of their business can be migrated with ease.

Often overlooked, small database development served as a type of commercial software lynchpin. Thus, business operators are often locked in the proprietary realm. As a former AlphaSoftware user, I too see the impediments to change. Plus, applications like AlphaSoftware give developers a standardized tool to develop and deploy executable software in addition to Web applications. This is a market segment not directly marketed by WaveMaker. As with most software, familiarity of interface and technical support are all weighty factors in the decision.

WaveMaker seems like a bold step and immediately gathers the attention of business users. It is a true competitor to the commercial Web application development world and deserves attention by the business community. VMware's recently announced acquisition of WaveMaker (dev.wavemaker.com/blog/2011/03/08/wavemaker-springs-to-vmware) gives this application a boost in recognition and in business users' confidence in its future stability. Go give WaveMaker a try!

Don Emmack, a Change Management consultant, assists government and business users with infrastructure and operational issues. A former Sr. Vice President for an international consulting firm, his work includes domestic and international clientele. Don is an early adopter of new technology, yet remains hopelessly addicted to his 1980s-era fax machine!

LJ Archive