What is a Low Code Platform and how does it differ from a Low Code Platform as a Service (PaaS) and a Low Code application Platform as a Service (aPaaS)?
Forrester Analysts Clay Richardson and John Rymer coined the phrase “low code” in a June 2014 publication in reference to a new breed of application development platform. Such platforms are designed to abstract developers away from the actual code and provide a range of pre-built middleware services, eliminating the need for developers to rebuild the wheel, so to speak, with each new development initiative.
Low code platforms utilize a visual composition environment that allows power users (non-programmers, in many cases) to drag, drop, and configure prebuilt components (activities and forms) onto a canvas and use plain language to define the characteristics of each application component. Using drag and drop, a developer can define workflow through the components and easily specify business logic at each step of the way.
The result of this declarative approach to software-asset construction is a visual model of an application. Some low-code platforms take the model through a code generation process to convert it to an executable file. More sophisticated platforms convert the model into XML and feed it directly into a process engine. (To understand the strengths of the XML approach, click here.)
A huge advantage to the low-code approach is the creation of reusable software assets, a side benefit of the metadata abstraction process that converts model componentry into underlying code—it’s way easier to change metadata, which determines how the code works, than to rewrite code by hand. And models are self explanatory, which provides some enormous side benefit—for example, they can be used as departmental APIs, representing operational procedure to departmental and non-departmental staff. Hand-written code is anything but self explanatory and is inaccessible to all, except perhaps the one who wrote it.
The term “low code,” of course, implies that some code may be necessary, which, with some development projects, is the case. Consequently, low-code platforms are designed with extensibility through coding in mind.
Low-Code Platform as a Service
The difference between a low-code platform and a low-code platform as a service is self evident—the latter is a hosted service, allowing customers to build, deploy, and manage instances of running applications in the cloud.
Low-Code Application Platform as a Service
Low-Code platforms delivered as aPaaS go beyond just allowing you to build and manage low-code software assets; they provide a multi-tenancy layer, which allows developers to build and license access to software assets to third-parties. Low-code aPaaS will likely offer a private label option, so that software vendors, including a new hybrid channel-player turned nimble software vendor, can provide its own portfolio of apps customized to the specific needs of each of its own customers.
Enterprise-class low-code aPaaS will have deep security features, including single code base multi-tenancy, which allows all tenants to use the same code base but provides each its own database solution. Likewise, such systems will extend permissions and rights management to the multi-tenant level.