Platform as a Service (PaaS) with VMware Wavemaker
I’m not a developer. The most experience I have with programming is Unix shell scripting (about 10+ years ago) and ‘old-school’ programming back in college (almost 20 years ago). Thus, trying out a development tool was a foreign concept to me however that also makes me the perfect “dummy” to test out VMware’s Wavemaker – part of their total Cloud Computing “Platform as a Service (PaaS)” solution.
No, VirtualizationAdmin.com isn’t a development site but, think about it – if you could develop a web application to perform common tasks for you or provide services to others (potentially thousands) of associates in IT or even thousands of end users in under an hour, then there is no doubt that you need to take a look at the solution. What does this have to do with virtualization? VMware is quickly adding to their development portfolio and you’ll be hearing more and more about things like vFabric, CloudFoundry, RabbitMQ, SQLFire, GemFire, Posgres, and Spring at VMUGs and at VMworld. In my research of these different products to help me understand VMware’s Platform as a Solution (PaaS) lineup, the one tool that I immediately wanted to try was WaveMaker. Even if you are a non-developer and VMware Admin like me, I’m betting that after reading this, you’ll feel the same way I do.
What is WaveMaker?
WaveMaker was bought by VMware back in March 2011. If this is news to you and you don’t recall reading the press release, I don’t either so you aren’t alone. Wavemaker is a tool that “let’s non-developers to build Java applications”. (wait – don’t let that scare you off! I said “non-developers” and that’s you!) VMware bought SprinSource in 2009 and Spring is the leading open source development tool, used by most Java developers. The goal of Wavemaker is to make Spring development easy, for everyone. Wavemaker is a graphical tool that allows you to simply drag and drop to easily create a new web-based application. That application can then be easily deployed directly to an internal cloud or to a variety of other platforms, including Amazon, Rackspace, OpSource and Eucalyptus. The Wavemaker development tool runs on Windows, Mac OS, Red Hat, Ubuntu and other operating systems and supports databases including MySQL and Microsoft's SQL Server. WaveMaker is available free under an open source license.
WaveMaker users typically are people in a business who are not developers but who want to build a Web app, usually one featuring forms. For example, one of the most common uses is to build a page that lets end-users enter a credit card to purchase a product.
In comparison to someone using a traditional development tool, Wavemaker claims that you will be able to:
- Eliminate 98% of all application coding
- Cut the learning curve to build a web-based application by 92%
- Reduce software maintenance by 75%
Why Should I Try a VMware AppDev Tool?
Why should you try it? Think about it. Today, and more and more in the future, information technology isn’t a collection of silos. IT is getting more and more complex and more is expected of IT people. You can’t sit idly and just claim to be the expert in “storage” or “networking” or “virtualization”. Virtualization, for example, is the software running on the servers but it only works with functioning storage, networking, servers, applications, and databases. It’s time to branch out and get comfortable with the IT systems, other than the ones that you work with every day. No, I’m not asking you to go back to college or to read a 1000 page book. I believe I’ve found a “platform as a service development tool” that is finally easy, even for VMware admins like you and I.
Don’t go the way of the dinosaur – become an “infrastructure engineer” and become comfortable in all the systems of IT – NOW.
To try out WaveMaker for myself, I downloaded it at www.WaveMaker.com/downloads. It runs on Windows, MacOS, or Linux. The 91MB executable quickly downloaded it. I ran the executable, accepted license agreements, and took all the defaults.
Figure 1: Welcome to the WaveMaker Setup
WaveMaker installed in about a minute and automatically launched the Configuration Tool.
Figure 2: The WaveMaker Configuration Tool
This configuration tool downloaded other necessary dependencies for WaveMaker, launched WaveMaker Studio, and the Welcome Screen.
Figure 3: The WaveMaker Welcome Screen
The WaveMaker Studio is what you’ll be using to create your first web application. I highly recommend the short videos on how to use WaveMaker as they demonstrate, step by step, what can be difficult to describe in an article.
Creating Your First Application with WaveMaker
With WaveMaker Studio installed and ready for use, you have what you need to build your first web-application. Never built one before? Neither have I so here is the step by step of how I built mine.
If you want to take a few minutes prior to starting your application, I recommend watching some of the free videos, downloading some sample code, and/or checking out the WaveMaker community. All of these are accessible from the WaveMaker welcome screen.
However, if you want to just go right in, you can build your first application as the “Hello World” app. If you have ever taken any development, you know that the first application everyone builds just shows “Hello World” on the screen. That’s what we are going to do, with a little drag and drop, to build a Spring Java application that does the same. It can be done in just a few minutes.
To do it, from the Welcome screen, click on the Projects tab and click New Project. Give the new project a name and click OK.
Figure 4: Creating a New WaveMaker Project
Click on the Display Caption on the toolbar and enter Hello World.
Figure 5: Changing the Caption of Your Hello World Button
Optionally, change the background color under Styles -> BackgroundChromeBar (as you see in the WaveMaker HelloWorld Screencast).
Now, click RUN.
Figure 6: Running your WaveMaker Application
This will save your project and build a preview of your application. Make sure that you don’t have any popup blockers blocking the launch of the new app. If you do have a popup blocker, you’ll want to allow all popups from your localhost system.
Here’s what the first Java application I ever built looks like:
Figure 7: My Hello World Application
No, it’s not pretty or even, perhaps, a real “application” (as it doesn’t do anything other than say “Hello World”) but I did build it not knowing a single line of Java and I could publish it up to “the cloud”, specifically a cloud like VMware’s CloudFoundry.
To find out what this Java code looks like that I created, I clicked on the Code tab and, here you go, here’s my Java app:
Figure 8: Java Code Shown
No, so far, we haven’t actually published this code to a “platform as a service” but this does show just how easy it can be to build a Java app that can be quickly and easy published to the web. If I spent a few hours, I can easily see how I could build a full-functioning web application that processed data to a database or something similar.
No longer should you be intimidated by the past “silos” of IT, get some exposure to all aspects of IT, not just virtualization, by learning storage, networking, databases, cloud computing and, yes, even basic application development.