Categories
Insights

Modern RAD for Modern Enterprise Applications

The age-old problem chasing Enterprise IT custom application software development is the inability to deliver applications on time and at the speed with which business demands. Some stats here will validate this:

One in six projects have a cost overrun of 200%, on average, and a schedule overrun of almost 70%. Source: HBR Study

75% of business and IT executives anticipate their software projects will fail. Source: Geneca Study

Enterprises over the years have been dealing with some key challenges not limited to, complexity in dealing with technology stacks, lack of faster approaches to application development, lack of business user participation through the lifecycle, lack of on-demand infrastructure readiness etc.

Another major complaint of employees is the lack of usability and user experience design of enterprise applications. Former NYTimes.com Design Director Khoi Vinh captured this common frustration in his seminal 2007 article.

If it looks like a cow, swims like a dolphin and quacks like a duck, It must be Enterprise Software

Now let us take a step back and talk about how we solve this enterprise conundrum of developing custom applications at rapid pace with good-looking user experience and with enterprise standards. To do this, let us understand a concept called Rapid Application Development and its history.

What is Rapid Application Development?

A system development approach that employs tools, techniques, and methodologies designed to speed application development. Source: Fundamentals of Information Systems 7th Edition by Ralph Stair and George Reynolds 

RAD tools have been around from the late 80’s. Multiple attempts have been made to improve application development productivity. Historically, the key focus of these tools was mostly just on code generation. Developers still had to worry about app infrastructure, code openness and extensibility, application integration plumbing, hosting, and monitoring of apps. While these tools helped in developer productivity, it came short of fulfilling the enterprise desire to create applications that are rich in user experiences.

Era of Consumerization

Consumerization of IT has raised the bar with respect to User Experience and Usability. Enterprises are expected to carry over the learnings from the consumer world and pay high attention to this. We have witnessed the emergence of these technologies that has fundamentally shaped the nature of computing. These include and are not limited to, user centered design, cloud computing, Web APIs, Enterprise mobility, Client Side Development Frameworks and Continuous delivery.

So the next logical question is can we combine the modern technological innovations and RAD together to provide an wholesome platform to Enterprises looking to develop modern user centric responsive custom web applications at speeds that can match business expectations.

This is the emergence of what I call Modern RAD (Modern Rapid Application Delivery) platforms.

What do Modern RAD platforms offer?

Modern RAD not only focusses on reducing application development timelines, but also addresses a whole slew of other related aspects of modern web applications required for today’s modern Enterprise. Modern RAD emphasizes on:

  • Ready-made Application Infrastructure: Providing a browser based development environment. No more hassle of installing, setup, ongoing configuration etc.
  • Usability: Making sure good-looking and rich user interactive applications can be developed. Increased attention to creating pixel perfect responsive UI applications on both Desktop as well as Mobile Devices.
  • Full Stack Development: By leveraging modern client side frameworks and server side technologies, Modern RAD is now capable to auto generate code for the entire application (client side, Server side as well as integration touchpoints to external systems and services via APIs).
  • Pre-Defined Best of Breed Technology Stack: Providing a pre-defined well tested best of breed of software components as the technology stack for application development. No more worries about enterprises having to maintain multiple teams to support complex permutations of technology stacks.
  • Business User Participation: Simplifying the application development process such that technical business users can work together with professional developers in developing the application. This greatly benefits enterprises as business user comes in with domain knowledge and can validate the implementation, as it is being developed.
  • API-led Integration: Providing REST API based integration approach such that application can easily integrate to an internal, external as well as Cloud-based service. This allows for faster, easier development and avoids reinventing the wheel again.
    and  finally one more important thing,
  • Displace Stigma attached to RAD: There is a stigma attached to using RAD platforms. “How good is the application created using RAD, as compared to a self-developed one?” Scalability, Security, Extensibility, Maintainability, Enterprise Architecture, Modularity of generated Code get questioned. Modern RAD this time around, also lays a great emphasis on this. In addition to features that help increase develop productivity, these items are addressed at greater degree to comfort Enterprises in adopting and deploying at large scale.

Is Modern Rapid Application Development the answer to the problems that plague today’s Enterprise IT? Or is it too good to be true? What do you think?

You can also watch the recorded videos of our Webinar Modern RAD – Too good to be true?, where we have discussed modern RAD and evaluate its potential for enterprises to cope with rapidly evolving business demands.

Categories
Enterprise Application Development

Introducing WaveMaker 8

A new WaveMaker is here! If WaveMaker 7 was about APIs, WaveMaker 7.6 was about templates, WaveMaker 8 is about mobile apps and modern UI. This reaffirms our commitment to integration, usability and mobility, which we believe are the key pillars of modern application delivery. Along with WaveMaker 8, we are also releasing WaveMaker Online so that you can create web and mobile apps on the cloud, without any infrastructure or setup hassles.

What’s new in WaveMaker 8?

Here’s the list of some of the major new features in WaveMaker 8. You can find the full list of features and improvements on the Releases Notes page.

Hybrid Mobile Apps

You can now build hybrid mobile apps using WaveMaker. Hybrid mobile apps are an easy way to create apps that can take advantage of device features like camera, geo-location etc., and creating a platform specific installer using Apache Cordova. WaveMaker for Hybrid Mobile apps is in its alpha version with support for building Android based apps and will be enhanced in the upcoming releases.

New UI and collaboration

WaveMaker 8 brings you an improved Studio with a modern UI without compromising the familiar feeling of Studio 7. Existing users will instantly notice the increased real estate for the canvas. Also, previewing your apps for multiple devices and resolutions is easier than ever. Collaborating with other developers and contributors is now much more integrated and seamless.

Your apps, your choice

Whether it is our open source Community Edition or the open systems stack, we are committed to providing software that is free from vendor lock-in.

With WaveMaker 8, you can now push your application’s source code to an external repository such as GitHub, Stash or Bitbucket. What this means is that you own the source code of your application by pushing it a public or SaaS repository of your choice.

WaveMaker 8 also introduces the option to deploy apps to your Amazon Web Services (AWS) account. In other words, WaveMaker does not charge any markup for deployment. You pay the deployment costs directly to your hosting provider, reducing your application delivery costs.

WaveMaker Online – Develop on the cloud

With WaveMaker 8, small and medium businesses, project consultants and enterprise work groups can start building apps from day one using the same visual Rapid Application Development or  RAD platform used by WaveMaker’s enterprise customers, without the hassles of investing in additional hardware or setting up the software environment.

WaveMaker Online is available for a 30-day free trial and has convenient pricing options. For more information and to get started, visit get-started

Existing WaveMaker Online users can log in with the same credentials. Your projects will continue to work as is.

Hope you have a great time creating apps with WaveMaker!

Categories
Enterprise Application Development

How to Create API-Centric Web Apps

As we are all aware, in today’s hyper connected world of applications, it is not uncommon for any product, service or application to have APIs. APIs (Application Programming Interface) have become the de-facto foundational technology for enterprise app development and more specifically for Web applications.

An API-Centric or API-Driven Web Application is a web application that basically executes most, if not, all its functionality through API calls. In an API-Centric web application, front-end communicates with backend using just APIs.

There are a number of advantages of developing an API-centric web application, namely,

  1. Easy consumption on multiple devices. RESTful APIs provide a lightweight integration model that significantly helps in creating mobile applications.
  2. Business logic is well contained with individual APIs.
  3. Ease of application development as focus of application in on the front end user interaction.
  4. Forces Reuse, as APIs developed can be used by multiple application on multiple form factors.
  5. With the proliferation of APIs (Open, Cloud, SaaS) etc., developing applications becomes faster and easier.

In this post, we will see how developers can easily create API-Centric Web applications using WaveMaker Studio. Using Import functionality, a developer can use a wizard to import REST, SOAP APIs into the application development. Figure 1, shows how a REST API is imported in Studio,

REST APIs can be secured or non-secured. WaveMaker REST API Import Wizard allows for quick consumption of Secured as well as Non-Secured REST APIs. Secured APIs can be imported in 2 ways,

  • Using Basic HTTP Authentication, passing in Username and Password. Enable the HTTP Authentication check box as shown in Figure 2, to import the API.
  • Passing Security Tokens via HTTP Header properties. For example in order to authenticate via OAuth Security, Authorization: Bearer token is sent in the header to get back an OAuth access token. See Figure 3 that shows how the Authorization Token is passed to the API. Similarly other tokens, cookies can be used as required by the REST API.

API-Centric Applications also make it easier for external applications (Mobile as well as Web) to integrate to it easily. It does it by exposing REST APIs to the external world.

WaveMaker Studio soon [1] will have support for creating a Swagger 2.0 compliant API Specification file for the auto generated REST APIs as part of the Application developed. See previous post on API Designer that talks about Studio-Auto generating REST APIs. In the upcoming version, API Designer will generate Swagger conformant REST API documentation. More about it in a later blog post. Figure 4 shows below the Swagger 2.0 document for the HR DB (Sample DB) REST APIs auto-generated by Studio.

This Swagger document can also be taken and used to publish the APIs for the external world using WaveMaker Gateway product.

Excited about developing API-Centric applications using Studio?  If so, login to WaveMaker Online and create one. If you have any suggestions and feedback  contact us.

Mayur Shah (mayur.shah@wavemaker.com)

WaveMaker Passionate Technologist