Wired for experience®

In continuation of our march towards understanding Rapid Enterprise Architecture, today we will talk about Data Model Layer in WaveMaker.

In any modern day enterprise, there are many data sources that applications integrate to, and these data sources are distributed, diverse and provide varying degrees of real time data.

Modern day applications need easy and sophisticated mechanisms for Data Manipulation and Data Management. WaveMaker abstracts out all the complexity, low level data manipulation needs and presents a unified REST API Layer for any type of Data Source, thereby significantly improving the productivity of an application developer dealing with data management and data integration.

In case of WaveMaker, application can integrate to a variety of data sources. They include,

The diagram below shows a unified architecture, that allows all the data sources (irrespective of its type) to be surfaced to the application as REST APIs.

As an Application Developer, one need not worry about the underlying complexity of the Data Source. WaveMaker simplifies it by presenting a REST APIs / Endpoint to connect to the Data Source and manage it seamlessly.

As mentioned in the previous blog, the data source is then managed by Variables from the application. The Variables are bound to the UI Widgets. In this way, all the complexity of the data source and business logic is hidden from the UI developer and applications can be developed in a faster pace.

When it comes to Database as the Data Source, WaveMaker has built-in features that makes it easier to manage the information model. WaveMaker supports a built-in Database Designer that makes it easy to model the database schema using drag and drop mechanism.

WaveMaker supports auto generation of the ORM layer for the database tables. The objects are then abstracted using a DAO as well as a Service (REST) Layer as shown below.

WaveMaker enables extreme productivity in developing Data Driven Applications. Most of the data driven applications needs faster response, responsive UI, easy data management and real time data visibility. Using the above architecture, WaveMaker easily supports creating UI Widgets (forms, grids, lists, charts etc.) that can be easily bound using REST APIs to any data source on the back-end. Also since all the interaction is REST based, the user experience is seamless by using SPA UI pattern.

Low-code platforms was a buzz word among big companies last year. In fact, in 2016, big players like Google, Microsoft, Oracle, SalesForce staked their claim in this market segment through acquisitions and organic product launches.  However, what are these low-code platforms?

Low-code platforms are app development platforms that allow you to build your apps faster with minimum coding.  These low-code platforms have been in existence for some time now.  They initially sprang up as just-auto code generation tools but have evolved since then into enterprise-grade app development platforms covering the entire app delivery.  Modern low-code platforms speed up the entire app delivery process from requirements to go-live.  Some critical areas in app delivery cycle that get optimized in low-code platforms include the following:

No-code platforms – Is it a new phenomenon?

Of late a new breed of platforms, akin to low-code platforms, have sprung up.  They are called the No-code platforms.  What are they? Are they any different from low-code platforms? Are they one and the same?  

Let’s understand, that during the development phase, low-code platforms score over traditional development approaches because they involve a more intuitive visual development approach.  The visual development approach allows the app builder to drag and drop predefined out-of-the-box components into the work area.  However, many a time, during app development, there are features that require customization.  For instance, when building a particular page of an app, your visual designer would have given an innovative clock widget, in his screen mocks based on the company's standardized widget set, and that is not a part of the default UI widget library of the platform.  In this scenario, low-code platforms like WaveMaker, allow you to extend the platform capabilities by letting you build such a widget and make it available as a drag-n-drop component for future projects.  

However, what if the company employed a team of developers who built a UI widget library based on the company’s approved design template and is made available out-of-the-box in the platform itself.  Then app-building becomes a no-code experience.  

Hence no-code-platforms are more like an evolution of low-code-platforms to particular scenarios, where the coding extensions are taken care of by providing out-of-the-box visual components.  The interesting part is that no-code platforms do not actually guarantee a no-code experience.

So, when does low-code become no-code?

There could be many scenarios in which a low-code platform can start acting like a no-code development platform.  Some of the broad categories include:

To Summarize, no-code platforms are no different from low-code platforms.  They are just a specialized version of the low-code platforms, where the customization has been taken care of by pre-building all the required visual components.  The next time a vendor claims to be a no-code development platform, feel free to refer to this article on where they fit in.


As a user, what is the first thing that comes to mind when you hear the words: enterprise software? Perhaps something difficult to use and gray in color? Maybe a dinosaur-like UI that gets in the way of your productivity? But how did this come to be? Let us rewind the clock to a few decades ago to understand how enterprise software was purchased and used.

Enterprise applications were designed to meet the complex, scalable and mission-critical needs of an organization. Purchase decisions were (still are?) made on spreadsheets and it was difficult to quantify the user experience. From the user’s perspective, there was a wide gulf between enterprise and consumer apps - with a different set of expectations from each. It was also a time when software purchase was a one-time activity or riddled multi-year maintenance contracts. Due to the high switching costs, poor user experience was a barrier that was not high enough. Also, organization culture leaned towards a “just get it done” attitude especially when it came to internal tools, resulting in user experiences that weren’t well designed or tested.

The times, they are a-changin'

While the hangover of yesteryear remains, the state of enterprise apps UX is changing rapidly. Consumerization of IT and user interfaces from the consumer world are setting the bar now for enterprise software. With the advent of cloud, social and mobile, the gulf of expectations has narrowed because we are switching between apps related to work and play throughout the day. Enterprise employees are also consumers, and they’ve come to expect consumer-level design in all the tools they use. The millennial workforce expects enterprise apps to be fast, connected, and available on all devices, at all times. Meanwhile, SaaS has lowered the cost of switching and encouraged competition - moving the battleground from the spreadsheet to user experience. Also, the adoption is clearly measurable, hence, the user experience is now more quantifiable than ever. Moreover, enterprise software makers are using design thinking to create the best possible applications. Due to all these reasons, even internal apps, custom applications, and partner apps are expected to be of the highest quality with respect to user experience.

How to create enterprise apps with consumer-grade UX?

Good design also enables enterprises to eliminate inefficiencies and extra costs that are passed on to the end-user in time spent, money lost, and frustration increased. In fact, when an enterprise prioritizes user experience for its internal tools, it becomes a more effective organization; recent studies show that design-driven companies outperformed the S&P average by 228% over the last ten years. So how does an enterprise create enterprise apps with consumer-grade UX without compromising on the speed of application delivery?

Beautiful apps at the speed of business

At WaveMaker, we fully appreciate the role of user experience in the success of enterprise software. That belief also translates into features in our award-winning RAD platform. The following capabilities empower developers to churn out beautiful apps at the speed of business using the WaveMaker low-code platform:

Get started with a free trial of WaveMaker RAD Platform today!