Since the introduction of Approvals in APEX 22.1, Oracle has been continually working towards a fully integrated APEX solution for business process automation. And now included as part of 23.2, we see a significant stride with the latest addition: Workflows.
This innovative product is seamlessly woven into the APEX platform, offering a low-code, visually driven workflow designer that simplifies the creation, management, and automation of complex business processes. Workflows include a range of features such as:
This blog will highlight some of the key features and properties of APEX Workflows.
Workflows are made using the Workflow Designer. This designer allows us to drag and drop built-in components into a diagram builder, creating a visual representation of the Workflow from start to finish. The familiar navigation tree and component attributes layout give you total control over every detail in each aspect of the Workflow.
There are several key building blocks used when designing the Workflow. These serve as the foundational elements of the complete Workflow process.
Parameters are simply input sources for your Workflow. They are read-only values that do not change during the life cycle of your Workflow. When you create a Workflow process within your application, you can assign a value to each parameter using static values, items, and SQL queries returning single values, expressions, or function bodies. When defining a parameter, you can set the expected datatype, whether a value is required and must be set and a default value in place of null.
We can use Variables to store and control data throughout the Workflow. Similar to Parameters, the data within Variables can defined using an assortment of typical datatypes and can be populated in several ways. The main difference when using Variables is that every activity of the Workflow has the power to not just access but also modify the data within.
Activities are the most fundamental pieces of the Workflow. They represent individual steps to be actioned from start to finish. Each activity is responsible for performing a specific task, such as sending an email or notification, executing code, performing conditional checks, or triggering human task definitions. Workflow activities are organised into a sequential flow and can include branching and conditional logic to handle different scenarios. The types of activities include:
Connections are the pathways between Workflow Activities. Every activity (except for Workflow Start and Workflow End) must have an incoming and outgoing connection. This allows the Workflow runtime engine to appropriately traverse through each step of the process from start to end.
Each connection can be of a few different types:
Two types of participants can be defined in a Workflow:
These participant types can be defined using static values, SQL, or PL/SQL.
It is also worth mentioning that Workflows feature an aspect of versioning, and each version of one Workflow can exist in different states - In Development, Active, and Inactive.
When you start building your Workflow, you will create an initial version that will always start with the state of 'In Development'. During this state, you have complete control over the development of the Workflow and its components.
Once the in-development Workflow is finished and a Workflow owner participant has been set, you can then activate the Workflow. This moves the Workflow version into an Active state. Workflows in an Active state are considered a complete operating product, and APEX limits the amount of editing you can make to the Workflow. For example, when active, you cannot create new or delete existing Activities or Variables. You can make some adjustments to the settings of Activities, but it is recommended that you create a new version of the Workflow if any crucial changes are required.
To create a new version, right-click the Workflow within the Workflow Designer navigation tree and select 'Create Version'. You can then duplicate the existing Workflow version or create a new version from scratch, but remember you can only have one version as in development, and one as Active (but multiple Inactive).
When a new version is created, it will have a default state of In Development. If you then go on to activate this latest version, the previously Active version will become Inactive, and you will no longer be able to edit any of its properties.
It is worth checking out the Sample Workflow, Approvals, and Tasks application within the APEX Gallery to see Workflows in action.
Oracle continues to improve the capabilities of fully integrated process management and automation in APEX, and with the addition of Workflows, we see a boost in versatility, efficiency, and intuitive design of low-code development using APEX.
For more information, check out our APEX services, and if you liked this blog, check out our other APEX blogs here.
Remember to follow us on LinkedIn. We publish insight blogs on the latest technology developments every week.