Oracle APEX & Workflow – Problem Solved?

Doug Gault ALL-THE-THINGS, APEX Leave a Comment

In honor of #JoelKallmanDay, I thought I’d break back into blogging after a long hiatus with an update on some of my more popular posts of the past – Oracle APEX and Workflow.

In January of 2018, I kicked off a little personal research project. The goal was to use Oracle products to demonstrate the development of a non-trivial system from design to deployment. After some consideration and discussion with members of the community, the system I decided to attack was that of Workflow.

You can go back and read my 3 initial article here. 

TL;DR

Workflow is a big gnarly animal that takes you down lots of rabbit holes. It means different things to just about everyone you talk to, especially in the Oracle APEX community.  This makes defining the deliverables of a workflow product akin to nailing jelly to a tree. And this doesn’t even begin to take into consideration the many and varied methods for defining what a workflow looks like. 

Well, since the time of writing those exploratory articles, a lot has happened. A global pandemic (in case you didn’t hear) which lead to my eventual exit from the Core APEX Development team and into the Pandemic Response Team. A  (temporary) move to the State & Local Government Global Business Unit (SLGBU), and the eventual formation of GBU-ACE; an APEX Central Engineering  group who’s sole purpose in life is to further the use and adoption of Oracle APEX as a SaaS platform across all 12 of the Oracle GBUs.

Needless to say, I didn’t have a lot of time to spend on building an APEX Workflow engine.

Enter the Ninja(s)

While I was pretending to be Sisyphus, the gentlefolk at MT-AG, along with a few other volunteers and contributors were busy building Flows For APEX.

Flows for APEX is a 100% Open Source implementation of a full featured, standards-based workflow engine that integrates directly with APEX. It comes with a full BPMN 2.0 compliant visual builder, working demos, samples applications, introductory slides and videos – basically everything you need to get started.

An example workflow from the Flows for APEX BPMN 2.0 compliant builder that demonstrates all supported BPMN syntax.

And not only is it built by some smart folks from outside of Oracle, it’s been guided along the way with in put from the Oracle APEX Development team as well.

The most recent release (21.1) includes many major upgrades, that make the whole Workflow engine stronger, more resilient and more integrated.

When I went back and compared Flows for APEX with my original list features that would need to be implemented to make a good Workflow Engine, it definitely hit all the high notes!

  1. BPMN 2.0 based modeling
  2. Ease of implementation and use
  3. An APEX focus (but not a limitation)
  4. Database centric
  5. Multiple examples
  6. Strong set of APIs
  7. Well documented 

The fact that the Flows for APEX team have done such a good job checking off all the boxes on my list almost makes me thing that they may have ready my mad ramblings and taken them into consideration while building out their software plan…  Nah, probably not!

Either way, I’d like to give a hearty “WELL DONE” to the Flows for APEX team! You’ve really hit the mark and now I’m off the hook! 

But… I don’t need Workflow with a capital ‘W’

For those of you who took my pole way back when and said that you didn’t need a big standardized workflow engine, but instead wanted something that was more baked into the core of APEX, fear not. I happen to have it on good authority that the APEX team is working on exactly that. It’s likely to be 22.1 before we see any of this expose to us via the APEX interface, but the underpinnings have been worked on and exciting new features are being designed and built as we speak.

Confidentiality (and good sense) prohibit me from saying any more but one only needs to take a look at the most recent APEX Roadmap to validate that this is indeed on the roadmap for the future.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.