WaveMaker Brings RAD to the Cloud with One-Click Deployment
Enterprise application developers are finding that there is a lot more to RAD (Rapid Application Development) than just development; there are also the concepts of rapid coding, provisioning, and deployment. That added expediency has created a conundrum for enterprise developers, especially those who focused only on creating applications and left the provisioning and delivery of those applications to IT managers.
Thanks to multiplatform requirements, mobility initiatives, and BYOD (Bring Your Own Device) policy adoption, the way applications are created and delivered to users must undergo a significant workflow change. After all, developers do not have the bandwidth to create separate applications for the various platforms (Windows, IOS, and so on) that they must now support and IT no longer has the resources to manually deliver those multiple applications to the various platforms that have spread through the enterprise.
Mountain View, CA-based WaveMaker Inc. may very well have the solution to those nagging problems that haunt developers, such as deployment, complicated DevOps, and multiple target environments. WaveMaker has built that solution in the form of WaveMaker Enterprise, an enterprise-level web application development platform that incorporates design, RAD, deployment, and integrates version control into a slick package that can be installed on site as a virtual appliance or used via a Platform as a Service (PaaS) model, which requires no on-premises installation or configuration.
Simply put, WaveMaker Enterprise puts the "rapid" into both development and deployment.
Hands On with WaveMaker Enterprise
Although there are truly dozens, if not hundreds, of RAD tools on the market, WaveMaker Enterprise is truly able to distinguish itself from the competition by employing some very unique concepts, technologies, and ideologies that promise to change how enterprise developers think about building and deploying applications.
Perhaps the most impressive part of WaveMaker Studio comes down to how applications are deployed; the company has created a one-click deployment methodology that delivers applications via Docker Containers, an up and coming Linux-based operating abstraction ideology that offers many of the benefits of virtualized application delivery, without the overhead of operating systems and hypervisors. Even though tomes could be written about Docker Containers and benefits offered, it is best here to just say that WaveMaker has adopted a forward-looking strategy by leveraging Docker Containers.
Nonetheless, rapid deployment is only one part of the triad that makes WaveMaker Enterprise a likely candidate for those developing web applications; the other two pieces of the WaveMaker Enterprise puzzle come in the form of development and integration.
The development portion of WaveMaker Enterprise falls under the auspices of WaveMaker Studio, an Integrated Development Environment (IDE) that incorporates RAD processes. However, WaveMaker Studio does not operate in a vacuum; it is surrounded by what is known as the Enterprise Developer Network (EDN), a web-based GUI that integrates management of the development process with a project centric approach that incorporates a measure of social collaboration.
Figure 1: Enterprise Developer Network Works as a project portal to control access to WaveMaker Studio, while keeping those involved with an application development project in the know.
From EDN, developers can define and create projects, manage access to projects, and keep participants informed on the happenings with a project (or projects). When the user clicks the Studio tab, the WaveMaker Studio application is launched and the user can then work on the project (application).
Figure 2: WaveMaker Studio offers controls to create new projects, open exiting projects in the IDE, or manage projects.
The IDE/RAD tool set offered by WaveMaker Studio is impressive. From within the IDE, developers can quickly design pages, tables, forms and so on by using drag-and-drop tools. Although those capabilities are expected in most any RAD tool, WaveMaker goes one step further by incorporating database controls as well.
By using WaveMaker Studio, developers can quickly lay out the UI and then populate the UI with data variables available from the database. WaveMaker provides widgets, which are snippets of predefined controls/capabilities that can be used to populate a page. Widgets can be used to define Boolean logic controls (such as check boxes) that can drive form entry. Other widgets encompass capabilities such as dialogs, fields, and so forth. However, WaveMaker also includes an impressive array of charting widgets, which can be used to quickly create graphs, charts, or other visual representations of data.
Figure 3: The designer portion of the IDE offers several drag-and-drop controls; these controls allow developers to quickly populate a page with user interface elements. Developers can also choose from widgets, themes, and pieces of prefabricated code to further customize the UI.
So, with just a few mouse clicks, developers can build input forms, screen-based reports, charts, graphs, and pretty much any other UI-driven element that offers responsive capabilities. Also included are device screen emulators that show an accurate representation of how a page would appear on a particular device, such as a tablet, smartphone, or PC. In other words, WaveMaker Studio includes the design elements needed to create "responsive" design applications using RESS, so a developer only needs to create a single UI, which can then be translated across multiple devices, by using WaveMaker's "Smart Layout" extension.
Another significant element of WaveMaker Studio is the DBD (Database Designer), which gives developers the ability to create database layouts and tables visually. Once again, drag-and-drop tools are used to put together database schemas, which can then be used with the IDE to prototype application operations. DBD can also import existing database schemas, allowing developers to work with predefined databases as well. Any database schema created with DBD can be quickly exported along with the application, allowing a fresh database to be created with the application, if necessary.
Figure 4: Database design can be done visually using the integrated tools offered by WaveMaker Studio. Drag-and-Drop is supported, allowing developers to quickly populate database fields for prototyping an application.
Even though the RAD functionality offered by WaveMaker Studio's IDE should meet most any developer's needs, there are a few nuances that developers need to be aware of. First and foremost is the quality of the code generated, which is generated as a Maven project using standard technologies, such as Java, Spring, Hibernate, and AngularJS. What that actually means is that the code created by WaveMaker Studio is fully compatible and can be deployed as a WAR file to most any Java Framework built to support AngularJS.
Although that level of compatibility is welcome, developers will be truly impressed with the ability to concurrently work with the generated code using external JDEs, such as Eclipse, all without defeating the functionality of WaveMaker Studio. Simply put, the code remains compatible with WaveMaker Studio, allowing developers unprecedented freedom with application coding and design.
As mentioned before, WaveMaker Enterprise can be thought as a triad of capabilities: Development, Deployment, and Integration. The last piece of the triad puzzle comes in the form of integration, which can mean different things to different people. In WaveMaker's case, Integration comes down to leveraging APIs, which can be used to tie dissimilar applications together using integration components housed within an API.
Most development tools leave the integration element to third-party or external tool sets, often requiring a different group of coders/developers to build APIs based upon specs provided to them. WaveMaker Enterprise takes a different approach and incorporates a fully integrated API generation system that leverages the power of WaveMaker Studio's IDE and incorporates RAD ideologies.
Figure 5: API Designer allows developers to quickly make, test, and document APIs, which can be consumed by other applications, providing the necessary level of integration between applications to deliver a robust end user experience.
WaveMaker's API designer uses a select and click ideology to quickly drill down through the various elements that deal with application data. Simply put, if a developer wants to create an API that gives access to a certain subset of information or returns a value to another application, the developer can quickly select the associated processes and publish those as an API. What's more, the developer can also define the availability, limiting it to Application Only, Private, Public, or unavailable to all external sources, which gives an additional level of security.
WaveMaker Enterprise effectively combines the three most important aspects of web application development—design, integration, and deployment—into a comprehensive platform that is both easy to use and yet flexible enough for even the most seasoned developers to adopt. What's more, the product's API consumption-driven applications offer additional power that even non-developers can leverage using Prefabs.
What's more, WaveMaker's usage of Docker Containers for deployment bring unprecedented simplicity to application deliver for most any enterprise, perhaps saving countless hours spent on manually deploying web applications using traditional methods. That level of simplification also extends to database design, as well as application development, which leverage the latest in RAD concepts by incorporating responsive design tools to support multiple device consumption.
Other notable capabilities include the Enterprise Developer Network, which brings project management and social developer engagement to the forefront of application design.