The Business Process Management (BPM) technology class was founded on a business theory—that an entire organization could be viewed as a collection of discreet and interrelated business processes, and, that by systematically improving each process, an organization could continually improve its operational efficiency. BPM suites, then, were software platforms designed to automate, monitor, measure, and improve processes. They were all about operational efficiency.
But there was, and still is, a big problem with BPM—it sounds great in theory but is extremely difficult to implement on an enterprise-wide scale, given that BPM initiatives require massive organizational commitment, enormous upfront investment, and a vigilant, ongoing effort in order to succeed.
Despite this reality, there are lots of good things about BPM suites, perhaps most notable is their ability to automate processes (create business apps) that span multiple software systems and disparate operational groups.
Put another way, BPMS, as a technology class, has huge application in today’s constantly evolving IT environment. But in many cases, the application for BPMS isn’t process efficiency. Rather, it’s delivering business value to an enterprise’s entire ecosystem. For this reason, many of the industry’s prominent BPMS brands, as well as new entrants, have morphed in the direction of process-focused low-code platforms, enabling the rapid composition of cross-functional business apps that can be deployed quickly, changed easily, and which don’t require a large upfront investment or organizational commitment.
AgilePoint, a long-time player in the BPMS space (positioned in Gartner’s iBPMS Magic Quadrant 2015), has, like many platforms in its class, evolved to fit today’s IT environment. This evolution is embodied in AgilePoint NX, a state-of-the-art, low-code application Platform as a Service (aPaaS). But even in the context of today’s highly evolved, low-code platforms, AgilePoint NX stands out, being uniquely capable of delivering a new breed of responsive business application that can eliminate many aspects of the mounting technical debt in today’s organizations and which won’t need to be rebuilt over and over again as the state of IT continues to evolve.
So what makes AgilePoint NX so different from other low-code platforms? While there are too many discreet details to list, there are, nonetheless, five major architectural characteristics of AgilePoint NX that distinguish it as the industry’s only responsive application Platform as a Service (RAPaaS).
With most low-code platforms, business users compose applications by dragging activities, forms, and other types of controls onto a canvas and then configuring each to application specifications. The result is an application model—a visual construct that depicts flow as well as inter-relationships between application components.
AgilePoint utilizes this same declarative approach to app composition but is unique in how it processes application models. To fully appreciate the AgilePoint NX approach, you first have to understand the alternative.
Some platforms take application models through a code-generation process, converting the model to low-level computer code. This code is then compiled, linked, and executed, just as any hand-coded app would be. The biggest downside of the code-gen approach is that it tends to produce applications with baked-in features and functionality. Put another way, a model can be modified at any time, but after modifications are made, it must go through the code-gen process all over again.
In contrast to code-gen, AgilePoint NX utilizes metadata abstraction to dynamically rewrite pre-coded components that reside in the AgilePoint NX process engine. In plainer terms, with AgilePoint NX, each visual component placed in a model constitutes metadata that is linked to an underlying chunk of code. For example, as a developer drags an activity into a model, the relative positioning of the activity to other model components constitutes metadata, and this metadata affects the underlying code.
Likewise, any operational characteristics provided by the developer (configurations typed into dialog windows) along with flow lines between components constitute metadata, and all of it, taken in totality, defines in real-time how the underlying code will work.
So, why is this metadata approach so powerful? In short, because it overcomes the limitations of code-gen. Put another way, by changing the model itself (the metadata), a system admin is, in effect, rewriting the application code. And it all happens in real time without taking the application offline.
Furthermore, the model can be modified programmatically via feedback loops of fresh data from other applications, machines, or devices. The net effect of this metadata-abstraction approach is that AgilePoint NX apps have the genetic capability to adapt—even self adapt—to changing business and technical requirements on the fly.
Garden variety low-code platforms can be deployed on premises. A step up from on-prem systems would be low-code Platform as a Service (PaaS), which, as the name implies, is a hosted service, and would allow customers to build, deploy, and manage instances of running applications in the cloud.
AgilePoint NX is a low-code application Platform as a Service (aPaaS), and goes beyond just allowing you to build, deploy, and manage low-code software assets; it provides a multi-tenancy layer, which allows developers to build and license access to business apps to third-parties. AgilePoint NX provides a private-label option, so that software vendors—including a new hybrid channel-player turned nimble solution provider—can provide its own portfolio of apps that can be quickly adapted to the specific needs of each of its own customers.
For large organizations, AgilePoint NX affords the ability to deploy software assets to different groups within the company by defining these groups as tenants. This approach allows data firewalls between groups and extends permissions and rights management to the tenancy layer.
And AgilePoint NX is unique in that it is available as a hosted service (aPaaS) or it can be deployed on premises.
Low-code platforms get their name from the fact that much of the application composition process can be completed by power users, rather than developers, given that, in many cases, no coding is required. But in many cases, the need to extend the platform itself—developing new activities and controls—by coding is necessary.
Some low-code platforms will work on a single-code-base-per-tenant model, which basically means that data storage can’t be separated from the platform’s process engine. Because it’s not feasible—even within the confines of a single organization—to have everyone share the same data and storage system, the only available alternative is to replicate the “code-base” for each instance of data storage. This approach is cumbersome, presents potential security problems, and doesn’t scale well.
To overcome this limitation, AgilePoint NX supports single-code-base multi-tenancy, allowing all tenants to have separate data storage but still access a single platform codebase. This approach increases security and scalability while reducing maintenance and risk.
The kinds of business apps that today’s organizations often need are process-centric. In some cases, these automated processes are simple, and individual instances of the process can be quickly completed. In other cases, a process may be complex, spanning different departments and interacting with multiple systems and databases. And some of these uber complex, cross-functional processes could take weeks, months, or ever years to complete, which brings up an important question: What happens if business or technical requirements change while thousands of instances of a long-running process are mid-execution? Taking the process app offline to update it is unthinkable—all related sub-processes would be orphaned, which could have potentially crippling effects on an organization.
As was already explained, AgilePoint NX enables you to migrate from one version of an app to another without taking it offline. Likewise, AgilePoint NX apps can be modified at runtime. Beyond these capabilities, AgilePoint NX allows you to manage instances of running process apps, allowing you to perform merges and splits, roll-backs and skips on an instance-by-instance basis.
Most organizations today are in some stage of migration to the cloud, having a combination of legacy, on-premises-based systems and cloud-native services. And for many such organizations, complete cloud migration may take many years. In the mean time, the challenge will be developing business apps that can interact with on-premises and cloud systems and which will dynamically respond to changing business and technical requirements.
AgilePoint NX’s unique model-driven, metadata-abstracted approach provides a stable bridge to the future, enabling the rapid creation of software assets that can interact with on-premises and cloud-native systems and which won’t need to be continually rebuilt as business and technical requirements evolve.