Categories
Insights

RAD Definition is Changing

Rapid Application Development (RAD), also termed low-code development, is a visual approach to creating apps that enable greater developer efficiency. However, what started as technology to help the masses address the speed of basic development has since matured so RAD definition is changing.

RAD platforms started out as tools for citizen developers without substantial technical knowledge of coding, who could use intuitive “out of the box” features to create applications suited for simple departmental and experimental needs. While these early RAD platforms (not this “rad”) brought basic coding capabilities to the masses, the applications created were short-lived and unable to evolve and scale with changing business needs. To address this gap in enterprise IT, RAD technology transformed to meet the needs of developers looking to efficiently undertake more sophisticated legacy app modernization projects, end-user customer experience updates, and long-term digital transformations.

Gone are the days of non-responsive front-end technology, cumbersome integration approaches, and non-standards-based widget and page development. The RAD platforms of today are far more nimble – they’re capable of leveraging millions of APIs and the most advanced open-standards-based technology stacks while maintaining enterprise-grade security and end user experience. As a result, IT teams can tap into these functionalities to execute large-scale digital transformation and modernization projects faster than ever before. The technology enables a higher degree of coding intermixed with visual development, facilitating the creation of long-standing and flexible enterprise-grade applications (see Figure 1).

While there’s no question that low-code platforms have transformed over time to become the advanced, high-impact digital tools of today, the enterprise IT environment continues to evolve as user expectations and preferences shift over time. This dynamic begs the following question: where is RAD headed next?

The future of RAD platforms

Increased usage – As technology further matures and encompasses professional developers’ needs, RAD technology will become the de-facto productivity platform for professional developers executing long-lasting enterprise IT modernization and digital transformation projects.

Enhanced enterprise-grade applications – Over time, professional developers will continue to push the boundaries of RAD as they bring best practices in app development, deployment, and DevOps from their vast experiences into every stage of the application lifecycle. Enhancements will span a range of capabilities, including cloud deployment, real-time integration, and increased developer collaboration.

A central hub for app development via integrations – With increasing API adoption and service consumption, RAD platforms will continue to become the central hub for application development via lightweight integrations to external services. The integration model will redefine the user experience and will serve a specific use case. Examples of such integrations include RPA, BPM, cloud services, SaaS services, IoT, AI, analytics, etc.

Emphasized digital experiences – The customer/user experience will only grow more important as enterprises compete digitally. As a result, RAD platforms will increasingly cater to building highly user-centric digital experiences with clear customer touchpoints.

Long-lived applications – With serious professional enterprise application developers using flexible RAD processes, the future will hold increased development of mainstream business applications that prevail for many years (long-lived applications) and continually serve organizational needs.
RAD platforms have come a long way since their inception, and time will tell exactly how citizen and professional developers will leverage this approach in the future. Regardless, the IT community can count on the fact that as enterprises’ digital needs continue to develop, RAD platforms will continue to be a high-impact tool for modernizing years of legacy applications and creating digitally agile business infrastructures.

Categories
Insights

The Continued Evolution and Revolution of Low-Code

Rapid Application Development (RAD) or low-code development is a dynamic approach to creating applications that minimize hand-coding to increase developer productivity. At first, low-code technology grew out of the needs of citizen developers with little coding knowledge to create basic applications using intuitive “out of the box” features – but over time, the technology has matured drastically to suit the nuanced and complex needs of IT professionals.

Today’s low-code technology features advanced open-standards-based approaches, comprehensive API capabilities, enterprise-grade security measures, and more to help developers execute on sophisticated digital transformation and modernization projects efficiently. However, the evolution of low-code technology is far from over. In fact, I predict that the low-code space will continue to grow in the following ways in the year ahead:

1.       Increased usage – Low-code technology enables a higher degree of nuanced coding intermixed with intuitive visual development, allowing developers to efficiently create high-quality and specific enterprise-grade applications. As more and more enterprise IT teams recognize the ways in which this type of development process can free up internal resource constraints, low-code technology will become the de-facto productivity platform for professional developers.

2.       Enhanced enterprise-grade applications – In 2019, professional developers will continue to push the boundaries of RAD as they bring best practices and relevant app development, deployment, and DevOps experience into every stage of the enterprise application development lifecycle. These enhancements will undoubtedly span a range of capabilities, including cloud deployment, real-time integration, and increased developer collaboration across and within teams.
3.       Central hub for app development via integrations – With increasing API adoption and service consumption, low-code platforms will become even more of a central hub for application development. The current model of enabling streamlined integrations to external services will open the door to an even wider range of use cases – including RPA, BPM, SaaS IoT, AI, and analytics integrations.

4.       Emphasized digital experiences – The customer/user experience will only grow more important as enterprises go head-to-head in a progressively competitive digital environment. As a result, RAD technology will increasingly cater toward building highly user-centric digital experiences with clear customer touchpoints where feedback can be provided quickly and easily from any device, channel, or location.

5.       Longer-lived applications – The flexibility of low-code technology will contribute to a future in which most mainstream business applications are built to be long-lived and capable of adjusting and scaling alongside changing business objectives. Previously, factors like cumbersome integration approaches would result in the creation of “locked in” applications incapable of change over time – which is both inefficient and costly.

There’s no question that low-code technology will continue to be a high-impact tool for CIOs and developers looking to tackle big enterprise IT projects more efficiently and flexibly in 2019 – and beyond.

Originally published by Vijay Pullur, CEO WaveMaker, in VMblog.com

Categories
Enterprise Application Development

WaveMaker cited in Forrester’s Now Tech: Rapid App Delivery, Q1 2019

Forrester’s Now Tech: Rapid App Delivery, Q1 2019 is out and has recognized WaveMaker as a Rapid App Delivery provider, whose primary functionality segment is in low-code for application development and delivery pros. The report, prepared by Forrester analysts John R. Rymer and Rob Koplowitz, focuses on vendors who produce digital process automation solutions for wide deployments (DPA-wide) and low-code development platforms. It is a ready reckoner for CTOs and all application development and delivery professionals.

Rapid App Delivery landscape

Forrester has tried to strategically analyze and segment the rapid application delivery market, thereby giving the much needed clarity to an already crowded market. The analysts analyzed the RAD vendors based on market presence and functionality. The report also lists all the main vendors under each category to help enterprises align their needs to individual vendor solutions.

The market presence is a straightforward classification into large, midsize & small on the basis of estimated or reported revenue. More importantly, the Forrester research team divided the RAD market into the following three categories based on functionality:

  • Low-code for Application Development & Delivery Professionals
  • Low-code for Business Developers
  • Digital process automation for wide deployments (or DPA-wide)

Low-code AD&D Platforms vs other platforms – WaveMaker’s Takeaways

In WaveMaker’s view, Low-code Application Development & Delivery platforms are best suited for enterprise IT teams, which are trying to solve multiple use cases by developing complex applications. These platforms can be used to customize and modernize apps, including user experience focused-customer facing applications and also have basic process automation capabilities. Such platforms also provides a variety of integration options, advanced data management capabilities and a broad partner ecosystem. Hence, low-code platforms for AD&D professionals are essentially seen as an alternative to traditional programming-led application development.

Low-code for Business Developers platforms empower business people to deliver applications with a single/few use cases and without complex customization needs. Hence, these platforms exhibit features such as business reporting, data management and advanced process automation capabilities.

DPA-wide platforms is a newly identified platform segment by Forrester which combines the ability to automate wide range of processes with minimal low-code capabilities. Such platforms have advanced content management capabilities along with supporting integration and partner ecosystems.

WaveMaker as a Low-code AD&D Platform

WaveMaker’s product vision has always been to create the most advanced & open low-code platform for enterprise IT, enabling them to create modern complex applications. WaveMaker provides advanced tools for AD&D professionals with variety of integration options, advanced data management capabilities and a long list of business & technical partners. WaveMaker, with its presence in all major geographies including North America, Europe, Asia-Pacific also caters to all major industry verticals like financial services, manufacturing and retail.

In WaveMaker’s view, we have rightly been cited by Forrester in the Low-code for Application Development & Delivery segment.

To access Forrester’s Rapid App Delivery Report 2019 full version, Click here:
(payment or subscription required for access).

Categories
Insights

Empower Citizen Developers in your Enterprise

In today’s digital world, Apps have become an essential part of all enterprise activities.  App demands are driven by both external customers, who demand it to be interactive and internal customers(employees), who want tons of custom business apps to be built.  Internal app demands are primarily generated by non-technical-business teams.  The apps are usually non-mission-critical but business-critical apps.  The people who demand these apps are business users who usually have limited -technical knowledge.  A small portion of these app demands are getting satiated by out-of-the-box SaaS services but they still have a big chunk of custom demands that have to be built..  There is an inherent dependency created on the technical/IT teams to take care of these app needs.  But in organizations, IT/technical teams have focused mostly on the core/mission-critical apps.  This creates a catch-22 situation for these business app developers, where they themselves cannot create an app and the IT team is a bottleneck.  In essence app development is in the control of a select few technical developers and the IT team.  In other words, there is no “Democratic way to include all stakeholders into the app development process”.  

Unleashing the new generation of “Citizen Developers”

Back in 2011, Gartner predicted that at least 25% of all business applications will be built by citizen developers.  The emergence of the non-technical business developers also called as citizen developers, is real now.  Gartner defines a citizen developer as “A user who creates new business applications for consumption by others using development and run-time environments sanctioned by corporate IT.”.  

Low-Code Platforms and Citizen Developers

One of the primary reasons for the coming-of-age of the citizen developers include the emergence of modern low-code platforms.  Low-Code platforms like Wavemaker bring in a new zeal for the citizen developers where they can use visual app-building approaches, 1-click deployments, and DIY app maintenance to quickly create an app from an idea.  

However, the emergence of both the citizen developers and low-code platforms has not played out that much with a lot of the enterprise technology leadership.  There are still challenges within enterprises to establish a centralized innovation platform for citizen developers to quickly create an app from an idea.  There are no established methodologies that can be adopted by enterprise IT to make the combo of citizen-developers and low-code-platforms work effectively.  Agile processes are only partially successful with low-code platforms.  Partial involvement of technical teams is still a reality.  Even a small involvement of technical teams brings in big hurdles to unleash the true power of the citizen developer movement.  

Is BiModal-IT a solution?

Is Gartner’s BiModal-IT, a solution for ushering in the Citizen Developer movement? The answer would be  Yes and No.  BiModal-IT is a high-level methodology that is to employed by enterprises and propagates the creation and operation of 2 distinct teams to tackle the issues of renovate and innovate.  Citizen developers can be employed in both teams, more so in Innovate teams.  

BiModal-IT doesn’t specifically get into the intricacies of how exactly the citizen developers can be empowered.  Gartner though gets into those details in another publication specifically targeting the citizen developers.  There it talks about how Citizen developers can contribute to enterprise innovation(mode 2 of BiModal-IT), how they need separate special infrastructure and tools (like low-code platforms) to get empowered.

citizen enterprisesBimodal IT and Pace Layering (Courtesy: Gartner)

WaveMaker 2-pass development methodology

2-pass development is a new methodology proposed by WaveMaker, specifically targeted at using a low-code platform in the most optimized manner to completely leverage the omnipresent citizen developers in an enterprise to usher an era of enterprise innovation.  

2-pass development methodology, as it says, includes two development passes:

  • A Business Pass, driven by a team comprising of non-technical business developers who build their apps using a low-code platform like WaveMaker.  They build their apps visually by drag and dropping out-of-the-box UI components.  When there is a custom requirement for an app, they pass on the development for a “Technical Pass
  • A Technical Pass, driven by a team comprising of technical experts and developers writes the code and wraps them as visual components, that can be used by the Business Pass team to build apps.  

*Read more about the 2-pass development approach and its benefits in my blog here.

2-pass development methodology bridges the missing links bring in much-needed standardization and process optimization into the app development using low-code platforms with citizen developers.

This setup can enable the enterprise citizen developers in a big way and usher in innovation within the enterprise.  “Democratization of app development” becomes a reality. WaveMaker platform is helping customers serve theirs. It is truly commendable how low-code platforms like WaveMaker is helping add tremendous amounts of value to many enterprises by giving them the freedom to build codeless, intuitive technology at the click of the mouse.

Categories
Insights

Guidelines before you choose your low-code platform

Forrester defined low-code development as, “Platforms that enable rapid delivery of business applications with a minimum of hand-coding and minimal upfront investment in setup, training, and deployment.”

To achieve this, a  low-code platform allows collaboration between developers, business analysts, and subject matter experts which enables an alignment between business and IT. it helps reduce IT backlog, speeds up development and delivery times. Lastly, modern frameworks used in low-code platforms provide consumer-grade applications using enterprise-grade technology at a fraction of the cost.

For a company or a business to choose the right low-code platform development tool, they need to weigh out what benefits/priorities are a good fit for their requirements. We have put together seven key questions that will help you make an informed decision while choosing the right low-code platform for you.  

  1. Is the platform built on open standards?
    While most low-code platforms claim “No Vendor Lock-in”, the reality is that most of them use proprietary technologies and application stack. Choose a low-code Platform that is based on proven open-source technologies in order to ensure an open and extensible approach to application delivery. Also, the platform should use the best-of-breed application stack for developing full-stack applications.
  2. Does the platform simplify external integration with inbuilt integrations?
    While most vendors offer decent visual development capabilities, it is extremely important to look for features that ease external integration of data and services as most business data is stored in disparate, proprietary systems. Look for out-of-the-box integrations and verify whether custom integrations can be built and reused across apps.
  3. Does the platform offer cross-platform development?
    The ability to create applications using a single code base that can adapt to any native platform or operating system (which could be iOS, Android, Windows Mobile, BlackBerry/RIM, etc) using a hybrid adaptive design enables applications to be run seamlessly on any device giving it cross-platform capabilities.
  4. Does the platform handle scale-ability and cloud needs?
    Ensure that low-code platform vendors don’t get away with merely providing a hosting and release management solution. Check for the ability to scale applications and handle private cloud needs. Look for solutions that allow for rapid and continuous provisioning, deployment, instant scale-ability, and maximum utilization of resources. Verify whether the platform supports building custom software stacks and deploying micro-services-based apps, and orchestrates IT infrastructure effectively.
  5. Does the platform make it easier to create, share & consume APIs?
    Today, APIs are at the front and center of business applications and architecture. Most low-code platforms support APIs at best. However, one must choose a platform that takes an API-first approach to application delivery. It should be easy to import data from any service and bind it to UI components. Moreover, the platform should allow developers to create, publish and discover APIs with ease.
  6. Is it easy to maintain the code generated?
    With most low-code platforms, even the most experienced developer would not understand the code generated by the platform. Maintainability is a critical aspect of application delivery and is overlooked by many of these platforms. Verify that the code generated follows design patterns, is well-organized, uses standard naming conventions, and generates documentation that developers can understand and maintain.
  7. How well does the application handle security?
    Enterprise applications need both coarse-grained and fine-grained security control mechanisms. The low-code platform must support flexible authentication and authorization mechanisms to secure users and various tasks within the application. Check for integration support for popular identity management systems like AD, LDAP, SSO, and OAuth.

To Summarize, we at WaveMaker,  have taken into account the above questions keeping the end-user and business stakeholders in mind while creating our low-code platform. The WaveMaker low-code platform reduces the coding effort by an estimated 75% with its ready to use templates, themes, and easy drag & drop features. It facilitates easy integrations of APIs, import databases including web services as well as allow you to secure your application with authentication and roles. Developers are allowed to customize, extend markup, script, styles and they are provided with the option of 1-click test and deployment.

Get Started to experience what you can do with WaveMaker.

Categories
Insights

Long tail apps and the shadow IT problem

In today’s world, applications and software are at the crux of any enterprise. Whether it is a humble spreadsheet dashboard or a mission-critical transaction processing platform, each application has a role to play despite the varying degree of IT focus accorded to them.

One way to look at the enterprise application portfolio is from the lens of their rate of change, as explained by Gartner in their Pace-Layered Application Strategy. This strategy divides applications into three application categories, or “layers,” to distinguish application types based on their rate of change.

A closer examination reveals that these layers also denote the proportion of focus and budget traditionally accorded by enterprises. And if one were to analyze the number of applications with respect to their popularity (with respect to IT focus and budget), the distribution would be a long tail one as shown below.

 

It is apparent that Systems of Innovation and to some extent Systems of Differentiation fall under the long tail apps category.

Long-tail apps: Definition and characteristics

The diverse set of heterogeneous applications that are used by small sets of employees or teams for a specific purpose and are typically beyond the scope of IT governance can be classified as long-tail apps.

Long-tail applications generally have the following characteristics:

  • situational or need-based
  • driven by urgent business needs and hence, cannot wait in the IT queue
  • require a quick turnaround time
  • multiple apps for the same need
  • created using ad-hoc technologies
  • very large in number but used by small sets of employees or teams
  • created by non-technical or business users
  • beyond the scope of IT governance

Long tail apps and shadow IT

Businesses want innovation and change. IT wants stability and control. With tight budgets, IT can rarely get to all of the custom apps the business needs. Hence, business teams or groups end up creating long-tail applications which are not approved by IT and are generally rely on non-standard and proprietary technologies. The result is a smorgasbord of systems and applications generally called as “shadow IT” or “stealth IT”.

Issues migrating long-tail apps

When IT does try to migrate long-tail applications, they face the following problems:

  • unavailability of platforms that can consolidate all the long tail apps and be used by both non-technical users and developers
  • skill gap due to underlying heterogeneous and, often, proprietary technologies
  • high cost of migration due to proprietary technologies and platforms
  • resistance from business users as they may not be able to modify the apps on their own after migration

How to fix the problem of shadow IT created by long-tail apps?

When 81% of line-of-business workers and 83% of IT staff admit to using non-approved SaaS apps (Source: CIO Insight), it is a daunting task to banish shadow IT especially when traditional ways of delivering applications work against innovation – which is usually found in the long tail as we have discussed earlier.

In order for organizations to quickly deliver apps that users want without compromising on IT security and governance, enterprises need to follow a two-fold approach:

  1. Innovate: Enable business units to build their own apps but on technologies sanctioned by IT by making sure that the tools to create new applications are widely available and easy to consume.
  2. Renovate: Migrate existing long tail applications by liberating them from proprietary technologies using proven modernization techniques and platforms.

We have been able to successfully help enterprises across the globe navigate the shadow IT problems due to long-tail apps. WaveMaker Rapid Application Development Platform is a proven choice for both innovation and renovation because of the following reasons:

  • Visual development that delivers web and mobile apps at the speed of business
  • Instant migration of legacy applications based on proprietary technologies such as Lotus Notes, MS Access, Oracle Forms, etc.
  • Centralized IT for all the applications with hassle-free continuous integration and release management
  • A single platform that works for business users as well as professional developers
  • The future-proof platform that is based on open standards and technologies trusted by millions of developers
  • No vendor lock-in with flexible deployment and export options
  • Offers the lowest total cost of ownership and transparent pricing
Categories
Enterprise Application Development

The Hawk Hill View

Low-code Application Development vs Traditional Development

Hawk Hill is one of my favorite places. When you sit there, you see the sea on one side and the bay on the other.  You can clearly see the change of pattern in the water between the two sides. The bay shows the calm waters while the sea is full of waves. This view is awesome as it show the two bodies of water at the same place (of course, the majestic view of the Golden Gate is present as well).

I was in a similar situation some time ago when our team was developing functionality for appointment scheduling for a popular retail chain.

On the one hand, we had their website written with traditional architecture and practices. And on the other, we created an application for appointment scheduling with our low-code platform. The comparison of traditional and modern RAD development never looked so enlightening before.

About the application

Appointment application included:

  • Creation of the appointment functionality
  • Google Calendar for appointments in the backend involving store and email notification of events
  • Presentation of these appointments to the store salesperson on mobile devices (As an application in the micro-app container provided by SpotCues)

Screenshots of a few representative pages

The solution also involved changes to the existing website including:

  • Adding buttons with the right styles to the website  and optimizing it for different devices
  • Launching the appointments functionality in a pop-up
  • The dialog then needs to be sized correctly based on the device it is viewed on
  • Content from the website application needs to be passed to appointments applications for locations and other details

The solution took around 6 weeks to deliver. But it clearly presented the comparison of 2 development methodologies.

Proposal and Requirements

For the proposal, we created a simple prototype of appointments functionality within a day

  • Simple online database-backed storage
  • Micro app for listing/filtering/searching the appointments based on the location of the store
  • Email-based notification to the user and store manager
  • Responsive view on all devices

All of the above was done using the ready-to-use RAD components. A real working prototype of the application presented good clarity. The proposal was quickly accepted by the customer with very few changes.

Implementation –  A smooth sailing

The appointment application functionality was implemented with great-looking multi-device UI and  Google Calendar-based backend and notifications. This also included authenticating with OAuth2 and using Google Service Account for calendar service.  Ready to use RAD connectors were utilized to reduce the code.

The application was developed for listing/searching/filtering the appointments using reusable card layout and reusable styles. This is used by the store persons to view the schedule in a micro-app container provided by SpotCues.

This was all built using RAD and was available in three weeks. The reuse of readily available connectors, UI components, and styles generated a modern application with APIs enabled and multi-device responsive UI.

Integration and Delivery – Challenges begin

Non-availability of resources, specifically UI developers

The website changes were expected to be built by the customer’s IT team. But they were already under a lot of other work related to the website. The non-availability of the IT team specifically the UI developers to make the relevant changes is not a new challenge.

Coding is time-consuming

Our team was tasked with the changes to minimize integration efforts on the customer side. The buttons, styling, and multi-device behavior were all supposed to be handled in a jQuery script. This was all manual work. We ended up spending a substantial amount of work on that. Three weeks were spent just on the integration efforts.

APIs makes your applications future proof

A lot of information needed to be passed to the appointment application. APIs could have been very handy in this situation. The appointment application could have requested information about locations and hours of the stores to the website API if they were available. But unfortunately, the website application was but with Java Server Faces (JSF) and no APIs were available. A lot of scraping logic needed to be built which not only increased the time but also provided a solution inferior in quality and maintainability.

The codebase for multiple devices

The script handled code to generate styles for different devices. This was duplicated for different screen sizes to adjust the size of the dialog and other related things. The default application built with RAD if rendered as is would have served well for all devices by default.

Larger QA cycles for handwritten Code

Hand-coded script code took more than double the time in QA. Hand-written code comes with its own uncertainties and manual errors. Generated applications on the other hand had most of the reusable components well tested and ready to go.

Microservices based design help with faster delivery

The website was a single monolithic application. The release of the appointments functionality was completely tied to the release of the website. The release of the website itself was stuck on a lot of other issues not related to the appointment application. A Microservice-based design of the website could have helped with continuous delivery.

Summary

Working on the edge of a traditional and modern low-code rapid application clearly presented the benefits we can achieve later. Modern RAD provides great-looking multi-device UI and autogenerated backend and connectors to slash the development and QA times. Microservices and automated delivery options enable you to release much more frequently. Of course, we will also try to automate such integrations with our RAD platform in the future based on this experience.

Categories
Enterprise Application Development

Rapid Workflow Based Application Development

Enterprises are looking to constantly re-engineer business processes to be more effective and productive.  Business processes modelled as Workflows offer many advantages, not limited to, modelling of processes as tasks, involvement of business folks, distributed deployment of tasks and parallel execution. There are many tools that provide visual modelling of business processes as workflows, tasks and involve manual human intervention as well as automatic assignment of tasks and completion.

Modern-day RAD platform like WaveMaker offers, visual drag and drop WYSWYG interface to design, implement front end application User Interface. WaveMaker offers out of box beautiful responsive design of Web as well as Mobile Applications.

WaveMaker in combination with BPM tools can offer enterprises ability to model complex sophisticated business processes and at the same time offer a visually interactive user experience and interface for end users to interact with the application.

Now that we understand the importance of such integration, let’s dive specifically into one such integration between WaveMaker and JBPM – a flexible Business Process Management (BPM) Suite.

WaveMaker and JBPM Integration Application Development

JBPM is lightweight, fully open-source (distributed under Apache license) and written in Java. JBPM is used by many Java Developers for modelling business processes. See more at JBPM can be used to model simple as well as complex business processes as Workflows.

JBPM Integration with WaveMaker

JBPM offers a REST API Integration model for client applications to integrate to it. Using the REST APIs a client application can remotely invoke, fetch and interact with JBPM Workflows and Tasks.

Overall Application Needs

Let’s see how WaveMaker Application Developers can leverage JBPM to build sophisticated workflow process applications.

High-level components of Process-Based Application

  • Business Processes modelled as Workflows
  • Workflow involving multiple Tasks and Flows
  • User Roles and Task Assignment
  • Application Business Logic
  • Application UX and User Interface Screens
  • Application Persistence
  • Application Security

The table below shows which parts are built within WaveMaker and the ones built using JBPM Tool. Note: WaveMaker can also model processes using Page Navigation and Page Assignment using its own business logic. When you need a business process designer to model processes, one needs to choose this type of integration.

Application Feature Implemented Within
Business Process Modelling using Workflows BPM Tool
Workflow Tasks and Role Assignments BPM Tool
Application Look and Feel WaveMaker Using Themes
Application User Interface WaveMaker Drag and Drop Interface
Application Security WaveMaker Inbuilt RBAC Security
Task Invocation WaveMaker Using BPM REST APIs
Task Monitoring WaveMaker Using BPM REST APIs
Application Persistence WaveMaker Using Database Integration

 

Business Process Modelling as Workflows

Launch JBPM Console, and you can log in and start creating Process definitions, Task List and users/roles. Here is one such example, of a Bank Loan Approval Business Process that is modelled using JBPM workflows. As you can see the process involves multiple steps from the time end-user applies for a loan to the time the loan gets approved. These steps are modelled as tasks and there are various gatekeepers (roles) that need to approve the step in order for the workflow to the next step. Bank
Loan Approval Process Modelled

  1. Workflow Tasks and Role Assignments

In the JBPM Process Designer, you can have a Workflow modelled with various tasks as shown below. Each Task can be assigned to an approver who needs to manually intervene and move the workflow ahead. As you can see below, there is a verification step involved in Bank Loan approvals. And there is a verification task that is assigned to a Role (“Verifier”) and that person will manually intervene in the workflow and approve/disapprove the loan step depending on business rules.

As you can see in the workflow, there are multiple tasks in the overall workflow process. At different tasks level, you can see that there is an approver involved that will move the process to the next step.

  1. Application User Interface and User Experience

WaveMaker provides an intuitive drag and drop interface to develop UI Screens and Widgets. Application developers can create the UI Elements using WaveMaker.

WaveMaker supports a number of out of box widgets to easily create the UI Screens.  The UI can be customized in terms of look and feel using WaveMaker Themes. The UI created out of the box from WaveMaker is by default Responsive in Nature. Here is an example of a WaveMaker created UI Screen.

  1. Binding UI to JBPM Processes

WaveMaker supports easy integration to REST APIs using the Import Web Services Wizard. JBPM exposes REST APIs for client applications to consume and remotely invoke, fetch, and monitor workflow processes and tasks.

Here is the link to see the documentation of REST APIs from JBPM,

Few of these REST APIs used in the Bank Loan Application are shown and explained below,

Get-Process Information:  Get Information about JBPM Process Instance, given an instance ID

REST API URL: /rest/runtime/demo:LoanProcesses:1.0/withvars/process/instance/{processinstanceid}

In order to import this API in WaveMaker, use Import Web Services Wizard as shown here,

Security for invoking the REST API

WaveMaker can import/invoke secure as well as non-secure APIs. While importing these REST APIs from JBPM, the appropriate security credentials need to be provided in order to import the services and invoke them from the application. Here is the security configuration that needs to be provided provide, as an example,

Once these APIs are imported, WaveMaker creates Service Variables for each API. In the User Interface, these service variables are then bounded to the respective Widgets to bind the data from the service to the widget.

For example in a loan processing app, when a loan processing application form is filled, the loan processing workflow needs to be kick-started, this is done by binding the respective service variable to the submit button as shown below

Other examples of REST APIs that JBPM Provides

Invoke Start Process: Invokes a specific task within a workflow

REST API URL : /rest/runtime/demo:LoanProcesses:1.0/process/LoanProcesses.LoanApproval/start?map_Address={map_Address}&map_EmailId={map_EmailId}&map_PAN={map_PAN}&map_Salary={map_Salary}&map_LoanAmount={map_LoanAmount}&map_Name={map_Name}&map_CompanyName={map_CompanyName}&map_EmployeeId={map_EmployeeId}&map_Gender={map_Gender}

Start a specific Tasks

REST API URL:
/rest/task/{taskid}/start

  1. Application Security

WaveMaker supports out of box authentication, authorization and access control for the various application components.  The Application can use various forms of Authentication stores (LDAP, AD, Custom Legacy Systems) to authenticate users and also support Role Based Access Control both at coarse as well as granular levels for UI Screens, Widgets and individual services.

  1. Application Persistence

WaveMaker support the persistence of any custom data that the application needs to manage. WaveMaker supports all the major SQL databases to persist data.

In summary, as you can see in this article, WaveMaker in combination with BPM tools can allow Enterprises to rapidly develop sophisticated process-based applications both as responsive web applications as well as Mobile Hybrid applications.

For more on WaveMaker, please visit, wavemaker, to sign up for a free trial account, wavemaker online and for a demo request, contact us here

Categories
Enterprise Application Development

7 ways to a simpler, easier and faster mobile app delivery

In the past few years, we have seen an explosion of mobile applications. Every interaction we do as a consumer or a business user is facilitated by a Mobile App. They offer convenience, better user experience, and appropriate context for end-users to benefit from.

What started in the consumer space has now also engulfed Enterprises. Every application within Enterprises that is being redesigned, recreated, or freshly created starts with a Mobile initiative today.

In order for Enterprise Mobile Applications to be successful and widely adopted within Enterprises, here are key requirements that need to be fulfilled and not limited to,

#1 User Experience

A clear expectation is that out of the box, the apps look beautiful and have intuitive user experiences. Consumerization of the web has raised the bar high with regard to User Interfaces. Within Enterprises, Employees, Partners, and End Users expect nothing less than good-looking User Interfaces.

#2 Enterprise Security

Security in today’s world is of paramount importance. In the case of Enterprise Apps, Data is more valuable and is at risk of getting breached and in most cases, holds financial value attached to it. Mobile Applications have more risk of data exposure and therefore the Apps provisioned on the Mobile devices need to support Authentication, Authorization, and Data Security by integrating with the choice of Enterprise Identity and Security Platforms.

#3 Loosely Coupled Application Architecture

Today Enterprises are creating microservices and developing apps using loosely coupled architectures. Mobile Apps are developed using Services (REST, Web Services). As the world moves towards creating services around every asset, there is a greater need to simplify the ability to integrate Mobile Apps into services.

#4 Device Capabilities

Today’s Mobile Devices are becoming highly sophisticated in terms of features and functionality offered. Mobile Applications can benefit in user experience and features offered by leveraging the device/hardware capabilities. Developers need a simpler way to access the device features and use them within the app to make them rich and contextual.

#5 Open Platform

While there are many platforms that offer Mobile Application Development, Enterprises are very wary of getting locked into proprietary and closed platforms. Mobile Applications can benefit from using Open Standard Enterprise Technologies in the app and thereby future proof investment and platform choice made.

#6 Cross-Platform Productivity

Diversity and various degrees of form factors within mobile devices are increasing on a daily basis. End-user expectations are to have the Mobile Apps on his or her choice of platform, device, and form factor. This means greater complexity to support all devices. The solution is to move away from device-specific programming languages and move to a common playground where the Mobile Apps can be developed once and provisioned to each device using a targeted build for a specific platform. This is where Mobile Hybrid applications are useful. These apps are built using Web technologies (JavaScript, HTML5, Bootstrap, and CSS) that are simpler to learn and code and then built/provisioned for the target device using cross-platform technologies like Apache Cordova and PhoneGap.

#7 Faster Development

And finally, how do I satisfy my CXOs request of having the mobile application delivered in days and not months? Here is where modern Rapid Application Delivery platforms like WaveMaker can help in greatly simplifying and providing a codeless development platform to design, develop and deploy Hybrid Mobile applications.

In order to learn more on how to use WaveMaker to greatly accelerate the development of Enterprise Mobile Applications, register and be part of our upcoming Webinar titled, “Accelerate Enterprise Mobile Application Development using WaveMaker “. You will see a demo of a full-fledged Mobile Application built rapidly.

Categories
Enterprise Application Development

Stack Overflow Survey 2016: Implications for application delivery

Interpreting the Stack Overflow 2016 Developer Survey results from an application delivery perspective

Stack Overflow recently announced the results of their annual developer survey. This year, over 50,000 developers in 170+ countries answered 45 questions ranging from the programming language they use the most to whether they preferred Star Wars or Star Trek, and everything in between. Maybe that is why they call it “the most comprehensive developer survey ever conducted.”

The survey provides insights into popular technologies, diversity, compensation, and sci-fi preferences. You can go ahead and get your geek on with the survey results here. But in this post, we will interpret the results from an application delivery perspective, focusing on the technologies and challenges.

Front (end) and center

First things first, JavaScript overtook Java as the most popular tag on Stack Overflow. In fact, all the front-end technologies have gained popular ground. With consumers demanding engaging experiences across different devices, front-end and mobile technologies will only grow more popular. I’ll go out on a limb here and make a prediction that next year Android will overtake Java to become the second most popular tag on Stack Overflow.

The rise and rise of AngularJS

AngularJS now seems to be the go-to web application development framework. In just a few years, its popularity has skyrocketed and it appears to be the dominant JavaScript framework out there. The Stack Overflow survey results corroborate this fact as AngularJS appears multiple times in the top technology combinations preferred by front-end developers.  It also figures prominently in the technology combinations of full-stack and back-end developers. Even among developers who are not developing with the language or technology, AngularJS is one of the top 3 technologies that they would most want to work with.

Looking back, WaveMaker made a prescient choice by rebuilding its RAD Platform a couple of years ago using AngularJS. For those who are new to WaveMaker, versions prior to Studio 7 were based on the Dojo framework.

Challenges to application delivery

Amidst the rapid technological changes, the challenges to application delivery remain and continue to put pressure on IT to deliver applications at the speed of business. As per the Stack Overflow survey, developers cited the following challenges at work:

Sounds familiar isn’t it? One way to broadly categorize these gripes would be under:

  • Processes and communication: It is clear that developers would prefer it if the requirements were clearly defined and documented, expectations were reasonable and processes were more efficient. It is not surprising that one in six projects have a cost overrun of 200% and a schedule overrun of almost 70% according to an HBR study. One of the solutions is to align business and IT by creating an engaging environment at every stage of application delivery so that they can work more closely. Some of the leading companies are now turning to Rapid Application Development to reduce the friction points in delivering successful enterprise applications.
  • Resources and technologies: CIOs are under pressure from the demands of business requirements that cannot be handled by the limited staff strength. Also, IT managers continue to grapple with the lack of resources for the technologies that in demand. A case in point is the demand for front-end and mobile development resources. According to the survey results, salaries in the range of $95,000 to $105,000 are not uncommon for mobile and front-end developers. Similar problems exist with legacy technologies for which resources are difficult to find and retain. Consequently, it puts a lot of pressure on the already thin operating margin and budget. Hence, enterprises are now evaluating modern RAD platforms that are open and extensible. For instance, the WaveMaker RAD Platform requires 80% lesser coding required compared to traditional software development because of intuitive visual development. Also, the generated application and code can be customized by semi-skilled front-end developers with ease. As far as mobile is concerned, more companies are choosing hybrid mobile app development over native to avoid hiring resources with specific skills for iOS, Android, and Windows separately.

Do share what, according to you, are the challenges and solutions in the comments section.