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
- Oracle APEX Workflow (introduced in 23.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 and Flows for APEX compared
In the following sections we compare APEX Workflow and Flows for APEX side by side.
General
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
|
Supported Industry Standards | None. | OMG BPMN 2.0 (also ISO standard) |
Installation |
|
|
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
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 |
|
|
High-Level 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
APEX Workflow | Flows for APEX | |
Learning Curve | Low | Low to High depending on adoption of BPM practices |
Target Audience |
|
|
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
- APEX Workflow Development Lifecycle and Management
- Simplify Medical Appointments using APEX Workflow
- Using Action Tasks with Oracle APEX 23.2
- Multi-Level Expense Approval using APEX Workflow
- Custom Plugins for non-sequential steps in APEX Workflow
- Flows for APEX
- Flows for APEX YouTube channel
- OMG BPMN 2.0
- Gartner Business Process Automation Definition