Overview

According to Gartner, “Business Process Automation (BPA) is defined as the automation of complex business processes and functions beyond conventional data manipulation and record-keeping activities, usually through the use of advanced technologies. It focuses on ‘run the business’ as opposed to ‘count the business’ types of automation efforts and often deals with event-driven, mission-critical, core processes. BPA usually supports an enterprise’s knowledge workers in satisfying the needs of its many constituencies.” 

Business Process Automation technologies are typically used for the core and mission critical business processes within a company and include Order-to-Cash, Procure-to-Pay, Patient admission and discharge and many more. As a result, BPA has become an important aspect of any Low-Code Application Platform (LCAP) and most vendors in the LCAP space are also offering Process Automation solutions, typically fully embedded and integrated within the LCAP itself. 

Currently, there exist two Process Automation solutions

  1. Oracle APEX Workflow (introduced in 23.2)
  2. Flows for APEX (since 2020)

The blog will provide a brief overview of both Process Automation solutions and is intended as a guide for developers and customers on when to use which solution. 

Executive Summary

APEX Workflow does not implement the BPMN 2.0 standard and has no future plans to do so. Flows for APEX and APEX Workflow will happily co-exist, integrate with and complement each other. We’re giving customers a choice depending on requirements and existing BPM practices. There will be NO migration from/to Flows for APEX to/from APEX Workflow as both solutions follow different design principles.

 

APEX Workflow and Flows for APEX compared

In the following sections we compare APEX Workflow and Flows for APEX side by side.

General

General Product Overview
  APEX Workflow Flows for APEX
Vendor Oracle Open-Source
Available since Oracle APEX 23.2 (end of 2023) 2020
History/Background APEX Workflow is a net new component in APEX 23.2 (and as such part of every APEX 23.2 installation) Flows for APEX is an open-source implementation of the ISO standard BPMN 2.0. Initially started as a project at MT-IT Solutions (part of Hyand), the implementation was made publicly available on GitHub and developers from other companies, including Oracle, started contributing.
License Oracle APEX + included 3rd party licenses 

MIT License (MT GmbH) with

3rd party licenses for

  • bpmn-js
  • PrismJS
  • Monaco Editor 
Supported Industry Standards None. OMG BPMN 2.0 (also ISO standard)
Installation
  • Part of Oracle APEX 23.2 installation
  • Available in all APEX Workspaces
  • Download from flowsforapex.org
  • Install in any APEX workspace where needed
  • Installs as any other APEX Application
Upgrade Upgrade as part of normal APEX upgrade Upgrade as part of normal APEX upgrade. New versions of Flows for APEX can be installed by running a simple SQL script.
Current Version Oracle APEX 23.2 Flows for APEX 23.1

 

Process Automation Components and Design Principles

Process Automation Components
Component APEX Workflow Flows for APEX
Workflow Modeler Fully integrated into APEX Application Builder, the Workflow Designer is a modern visual designer for the modelling and authoring of Workflows using a drag & drop experience from a cusomizable Component Palette. The user experience is very familiar to Page Designer by design, and they share a lot of the same code. A modern BPMN 2.0 modeler based on the state of the art open-source BPMN.IO Viewer and Editor, actively maintained by Camunda
Lifecycle Management A simple lifecycle model is provided by supporting versioning of workflows. Support for lifecycle management is implemented by model versioning 
Management Console Workflow Console pages for the administration and management of Workflows can be generated into an APEX Application and then further customized by a Developer. Flows for APEX comes with an application for the monitoring and management of BPMN 2.0 processes.
Plugins A native APEX plugin to start and perform other Workflow operations from an APEX Page in a declarative way.  Plugins for the declarative interaction with Processes from within APEX Application Builder (both region and process type plugins exist).
Runtime An APEX runtime engine for the execution of Workflows. A BPMN 2.0 process engine that implements a (productive) subset of the BPMN 2.0 standard including Callable Processes, Message Flow, Interruptable and non interruptable boundary events for error- and timeout handling to name a few. 
API’s Public API (APEX_WORKFLOW package) and SQL Views A rich set of both PL/SQL and REST API’s. 
Documentation Managing Workflows and Tasks Flows for APEX documentation

Workflow Instance Data

In APEX schema managed by APEX. In user schema.
Goals and Design Principles
  • Integrated
    By design, APEX Workflow is fully integrated into the APEX Application Builder developer experience and the Workflow Designer complements Page Designer for Process Automation
     
  • Simple
    APEX Workflow is easy to learn and requires no specialized BPM training to get started. It comes with few modeling elements which allow the implementation of simple to medium complex business processes.
     
  • Extensible
    APEX Workflow is extensible. Developers can bring their own Activities (BYOA) into the Workflow Component Palette and use those like any other native activity in the Workflow. 
     
  • Intelligent
    APEX Workflow is designed to leverage the full potential of Oracle Machine Learning (OML)  in the Database. For example, the Audit Log of Workflows is persisted in the Database and consists of information that can be directly used to train a Regression Machine Learning Model for the prediction of Workflow cycle times or SLA violations.
     
  • Event- and Data Driven
    APEX Workflow direction is to support more Event- and Data driven (unstructured) processes rather than structured processes BPMN 2.0 defines.
  • Easy to consume and use
  • Integration with APEX stack in Process Automation relevant areas (for example Approvals Component)
  • BPMN 2.0 support (already on par with other, typically middle-ware based implementations of the BPMN 2.0 standard)
  • Leverage the full power of the Oracle Database including Oracle Machine Learning and AI.

 

High-Level Feature Comparison

Feature Comparison
Feature APEX Workflow Flows for APEX
Start, Stop, Terminate a Process Yes Yes
Execute PL/SQL code Yes Yes
Sequential execution of Activities Yes Yes
Parallel execution of Activities Not currently, but on roadmap Yes
Branch in the Process Yes (exclusive) Yes (exclusive and inclusive)
Sub-Processes No Yes
Call Process from Process Not currently, but on roadmap Yes
Error Handling Yes (via error transitions) Yes (part of BPMN 2.0)
Handling of Timeouts Yes Yes
Invocation of PL/SQL procedures and functions Yes (declarative via APEX Invoke API) Yes
Invoke REST Services Yes (declarative via APEX Invoke API) Yes
Support for Human Task Yes, with APEX Approvals Component Yes with Flows for APEX native User Task or APEX Approvals Component
Support for Sending Emails Yes Yes
Support for Sending Push Notifications Yes No
Support for Message Flow Not currently, but on roadmap Yes 
Full Audit Log Yes Yes
Process Viewer of inflight instances for End Users Not currently, but on roadmap Yes
Recover from Errors Yes Yes
Extensibility Yes via APEX Process Type Plugins (Bring your own Activity) Limited to standard BPMN 2.0 Tasks
 
Process Analysis No Yes
Process Execution Yes Yes

 

Target Audience

Target Audience
  APEX Workflow Flows for APEX
Learning Curve Low Low to High depending on adoption of BPM practices
Target Audience
  • Customers that don’t require the implementation of an industry standard (such as BPMN 2.0) for Process Automation
  • Customers not requiring the full set of modeling elements of BPMN 2.0
  • Customers who want to customize the Process Component Palette and bring their own Activities via Process Type Plugins
  • Customers who need Case Management or more Event- and Data driven Processes in the future for knowledge intensive processes (e.g. Insurance Claims, Patient Care etc.)
  • Customers with an existing BPM practice based on BPMN 2.0 
  • Customers with a strong background on Process Analysis, Modelling and Simulation
  • Customers where structured processes are sufficient for their Process Automation requirements
  • Customers who have the expertise or are willing to invest in building up BPMN 2.0 expertise and manage the complexities of this standard
  • Low- to Medium knowledge intensive customers

 

Which Process Automation solution is right for you in APEX?

As always, it depends and we won’t give a precise answer as this is really the choice of the customer depending on what the requirements are and what BPM practices are in place already. The major decision point on the Process Automation solution of choice is mostly centered around if OMG BPMN 2.0 is a requirement and if more Event- and Data driven Processes are required in the future. 

Interoperability between APEX Workflow and Flows for APEX

We consider both APEX Workflow and Flows for APEX valuable Process Automation solutions for our customers. Hence we’re working together to support interoperability between the two solutions. Areas of interoperability include:

  • Approvals and Unified Task Lists
    With the release of Flows for APEX version 22.2, Flows for APEX integrates with the APEX Approvals Component. This means that Human Tasks created by a User Task in the BPMN 2.0 process show up in the APEX Unified Task List and upon completion of a Task (either Approve or Reject), the process continues. This guarantees that there is only ONE Task List in the system and both APEX Workflow and Flows for APEX use the same Human Task infrastructure.
     
  • Process Collaboration
    Going forward, we want to support Process Collaboration between business processes that are implemented in APEX Workflows and Flows for APEX. Flows for APEX in version 23.1 supports Message Flow between processes implemented by Flows for APEX. We’re envisioning to extend this infrastructure for APEX Workflow to support Message Flow and simple Process Collaboration with Flows for APEX

 

References