Low-Code Standards-Based Business Automation Services

There is no hotter segment of Business Automation software today than Low-Code. Low-Code refers to application development based on models - diagrams and tables - and business-accessible expression languages, not program code. Gartner assesses Low-Code as a $13.8 billion market in 2021, growing to $46.6 billion in 2023. And, they say, by 2024 it will account for 65% of all application development! According to Forrester, 100% of companies that have adopted Low-Code report satisfactory return on investment. KPMG research indicates that in the past year, the number of executives naming Low-Code as their most important automation investment has nearly tripled. So it's a big deal.

Trisotech doesn't call its platform Low-Code, and I understand why, but to me it absolutely is. It checks off all the boxes except for one - and that one isn't all that important when we restrict ourselves to Business Automation Services. Moreover, the vast majority of Low-Code tools are based on proprietary diagrams and expression languages. Trisotech's ace in the hole is its tools are based on vendor-independent standards: BPMN and DMN, of course, and also OpenAPI and OData. This post will explain why all this is important, and how you can take advantage of it.

What Is Low-Code?

Low-Code doesn't mean full-blown apps can be created by ordinary business users with no developer assistance. Microsoft's term for the user of Low-Code tools is citizen developer - possibly a technically oriented business user, possibly a developer. I would call any business user who can use the Formulas tab in Excel (not Macros, that's code) a citizen developer. A survey by Low-Code vendor Creatio found that only one third of citizen developers using Low-Code were business users. In fact, some Low-Code implementations are done entirely by developers.

All surveys report the key benefit of Low-Code is time to value. Whether implemented by business users, developers, or a team involving both, Low-Code solutions that take months with traditional development can be rolled out in a few weeks with Low-Code. One factor is the tooling, as model-based development is just faster than code. Another factor is the scarcity of developer resources, especially in the wake of COVID. With Low-Code, subject matter experts - citizen developers - can get started, or even complete the job, themselves, without having to wait months for available IT resources.

The Business Automation Landscape

There are now hundreds of software products that call themselves Low-Code. Each typically focuses on one of three application types:
  1. Automated Workflow Processes, long-running flows involving activities performed by multiple users and systems. While the majority of BPM Suites, including the BPMN-based ones, are still aimed at Java developers, a few are now focused on Low-Code.
  2. Page Flows, web applications facing a single user involving interactions with multiple systems. A good example here is Microsoft PowerApps.
  3. Straight-Through Processes, short-running flows involving interactions with multiple systems, but with no human involvement other than initiating their execution.
In addition to segmenting Business Automation tools as Code vs Low-Code, we can also segment by Proprietary vs Standards-Based. The key standards for Business Automation are BPMN, DMN, and (eventually) CMMN, which have the added benefit of being designed to work together. DMN, the standard for defining business logic, was conceived from the start as Low-Code, using standard tabular formats called boxed expressions in conjunction with FEEL, a business-friendly expression language. BPMN, the standard for service orchestration (workflow), was not: While the basics of the flow are described by a diagram, the details required to make the flow executable - the data and expression language - typically require a Java developer.

Trisotech's brilliant idea was to borrow boxed expressions and FEEL from DMN and use them in BPMN. Unlike other platforms, Trisotech offers a standards-based Low-Code approach to Business Automation, in particular applications of the third type, Straight-Through Processes. This suggests the view of the Business Automation landscape pictured below, with Trisotech in the sweet spot, Low-Code and Standards-Based.

Features of a Low-Code Platform

To be included in their Magic Quadrant report on Low-Code Application Platforms, Gartner lists the following features as required:
Feature Trisotech Support
Low-Code design of data Yes
Includes database and UI features Not yet
Able to call third-party APIs Yes
Application versioning Yes
Low-Code design of UIs, business logic, and data Yes for logic and data; not yet for UIs
Tools accessible to business users Yes
One-step deployment Yes
Repository of reusable components Yes

I believe the main reason why Trisotech does not call its platform Low-Code is the current absence of a form-builder and related UI tools, which are principal features of most Low-Code platforms. But I would argue that this doesn't really matter, for a couple reasons. First, Trisotech is not really intended to create complete applications. It simply provides - to use a term from a decade ago - the middleware, that is, software that goes in between the application front end and systems of record, such as enterprise apps and databases. Second, the application segment where it currently works best, Straight-Through Processes, has no need for User task forms and screenflows. Trisotech's role is to create Business Application Services triggered in response to either a business event or user interaction from an external client app.

Trisotech Low-Code Business Automation Architecture

The diagram below illustrates Trisotech's Low-Code Business Automation architecture. The Business Automation service as a whole is a BPMN straight-through process triggered by either a REST call from the external Client App or a Business Event. All of the business logic - not just what we normally think of as "decisions" - is created using DMN, invoked as needed by BPMN Decision tasks. Operations on databases and other systems of record are executed by BPMN Service tasks using Trisotech's Operation Library, a catalogue of REST interfaces configured simply by importing OpenAPI or OData files. APIs to third-party external services are configured and invoked the same way.

The glue that binds all this together in a Low-Code way is the combination of FEEL and boxed expressions. These are used not only in the DMN business logic but in BPMN as well, mapping between process variables (FEEL) and the inputs and outputs of Service tasks, Decision tasks, and User tasks, as well as for gateway logic. Basically, if you know your way around DMN, you can create Business Automation services yourself.

The Biggest Obstacle

In Creatio's survey, 60% of respondents reported the biggest obstacle to Low-Code adoption is simply the lack of experience with the platforms. The solution there is obvious: Ask Trisotech for a trial account. But creating Business Automation services is not as easy as just turning on the tool. You need to know DMN inside out, at the level of my DMN Advanced training. And beyond that, executable BPMN involves countless details that are not covered in BPMN Method and Style, which is about non-executable processes. It requires an additional training course, and I'm working on that right now. Stay tuned for more details.