@Chris
First, a brief intro to WaveMaker. WaveMaker has two parts: a visual builder that runs in a browser (think of an updated MS Access for the web) and a runtime Java framework that runs in any Java server. The runtime Java framework is licensed under the Apache open source license, so there is no lock-in, you can use WaveMaker to generate your Java project and then open the project in Eclipse, IntelliJ or NetBeans.
You can create a complete Java web application using WaveMaker with just three mouse clicks:
Click 1: import an existing data schema from any jdbc-accessible database. WaveMaker automatically creates an custom enterprise data widget for each table in the schema. At the same time, WaveMaker creates a Hibernate mapping and the Json wiring to connect the Java Hibernate classes to the Javascript enterprise data widgets.Click 2: use the WaveMaker visual builder to drag an enterprise data widget from the palette onto a page. WaveMaker has a "Live Data" capability which lets you see the data for your application within the builder itself.Click 3: press the run button in the WaveMaker visual builder to deploy your application to WaveMaker's built-in Tomcat server. You can also deploy the application as a WAR file to any Java server, as well as edit the WaveMaker project in any Java IDE.
WaveMaker Studio was built in WaveMaker, so if you want to know what kind of apps you can build with WaveMaker, it's easy to see! For ISVs, it is also easy to embed WaveMaker Studio within your application, providing a build-in configuration tool for SaaS applications (similar to the Force.com tools for SalesForce).
You build an app by creating or importing a database schema then connecting it to UI components using drag and drop in the visual builder. Once you define or import a data schema, WaveMaker automatically creates custom enterprise data widgets that can create, read, update and delete information in each table.
So now, on to your questions:
And what does it produce?
Does WaveMaker produce Java classes on the server? Yes, WaveMaker generates Hibernate classes to perform the object relational mapping automatically, including any views or Hibernate queries you have defined in the visual builder. Wavemaker creates a standard Java project based on Spring/Hibernate - you can edit the project in any Java IDEDoes WaveMaker generate Javascript code to display the UI? Yes, WaveMaker uses the Dojo library for widgets and generates the Javascript needed for the UI. Just as with the server, you are free to add your own custom Javascript as well.Does WaveMaker generate HTML to display the UI? WaveMaker generates a complete web app, including the index.html page, but most of the UI work is done with JavaScript. You can add custom html and css styling to the project.How is the UI and business logic separated? WaveMaker uses the MVC architecture to separate UI and business logic. Business logic lives on the server as Java code. UI is mostly defined using the visual builder, but you can add custom Javascript in the client as well to give maximum UI flexibility.Is it possible to integrate a WaveMaker project into an existing JEE Project? Yes, WaveMaker has an advanced feature called Pluggable Service Types that allows a developer to use WaveMaker as a visual GUI builder for existing JEE applicationsDoes WaveMaker project only import jars? WaveMaker supports importing both Jars or just Plain Old Java Objects
One of the reasons we are reaching out to the JavaRanch community is to better understand how Java developers can use WaveMaker to accelerate their development of Java app. At a minimum, WaveMaker is a fast way to create your Hibernate data binding. Alternately, it can also be an easy way to create a rich internet UI without having to do a lot of Javascript programming.
Please try it out and let us know what you think - the free download is here:
http://www.wavemaker.com/downloads