Wavemaker

From Wildsong
Jump to navigationJump to search

Overview

Wavemaker is a RAD browser based development tool for creating Java/Javascript/Ajax applications. Wavemaker is 100% open source. (Apache 2 license)

I am interested in it because I need to create applications backed by PostgreSQL databases.

Get it from http://wavemaker.com/ -- download and run the installer. On a Mac it's an application, on Linux it installs into /opt/wavemaker-version by default.

Wavemaker is Java and comes bundled with Tomcat so you can just run it and it connects via a web browser.

Projects are stored in your home directory under WaveMaker-version on Linux or Documents/WaveMaker on Mac.

Getting started

First download and install. I used the Ubuntu .deb package and did sudo dpkg --install wavemaker_6.5.3.Release_amd64.deb.

Next build a database. Come back when you are done. You can build one in Wavemaker but it's a lot of work. Use pgadmin or a text file and psql.

I have some commands to build my sample database here: Motion database.

Start Wavemaker running (as yourself not root). On my Linux server I run this:

/opt/wavemaker-6.5.3.Release/bin/wavemaker.sh

When running on a server it tries to open to "localhost" in your browser. You have to plug in the correct server name or IP address.

The intent is that you build on a staging server and deploy to Cloud Foundry. I don't know how to deploy yet! I assume I can deploy anywhere I want as long as the server supports the right pieces. (Tomcat 6)

A project directory is created in your home directory.

/home/AGI/bwilson/WaveMaker 6.5.3.Release/projects/MotionDBDemo
[bwilson@dart MotionDBDemo]$ cat file_map_readme.txt this file gives details on what's in all the files here

Sample database

The motion database can be used keep track of bicycle and car things. It is part training log, part asset manager.

The basic tables are: trip rider photo vehicle maintenance

The junction tables are: j_trip j_photo

Importing data into Wavemaker

  1. Services in top bar
  2. Import database

Once you have done this then the tables will be available as Data Widgets but there are no joins!

Services tab (the one on the left not the one in the top bar)

Setting up relationships

Wavemaker docs on relationships and foreign keys

So far it seems to have done a pretty good job on its own.

LiveViews are like Views in a database. I can create a LiveView to access the joined results as a single Data Widget. I think.

Insert -> LiveVariable

"Related" problems

What I am having problems with is seeing details in related tables. They show in the LiveVariable but not in the actual running user interface. I found some discussion of this here: http://dev.wavemaker.com/forums/?q=node/6165 and installed the TestRelatedRelated project that was uploaded there into Dart. This was all written 2011 though, seems like it should be fixed.

I had to install MySQL and http://dart.geo-ceg.org/phpmyadmin/ to get it going.

A "LiveVariable" holds the results of a database query.

A "LiveForm" automates the creation of a form tat accesses data in a datatable.

Work around = use a view in PostgreSQL??? Make the complex join look like a single simple table. I might not get editing going tonight. Darn. Let's go make some views. Motion database#Views

Related products

Eclipse http://eclipse.org/

Spring http://springsource.com/