How is this solution innovative? List the ways in which this project is innovative and how it’s helping to lead and define Oracle technologies.
Demo: Relay Workflow engine
Often times in an APEX business application the business process is managed through page or transition methods that rely on the user following the application’s lead. It’s not a bad method when there is really no other option, but it has a few key flaws. First, a change to the business process is likely to require a change to the application’s behavior. This is usually the case, but when the process is built-in, it often requires larger, more impactful changes that can break an application and leave a world of issues in its wake. Secondly, the application-based flow requires the user to interact. Not a bad thing, but humans are living creatures that need to eat, rest, or go on vacation.
A separate workflow engine offers a number of benefits. It can automate the business process and allow changes without always requiring a change to the application. It can allow multiple processes to be applied to the same data with overlapping execution. It can even automate data-based decisions and conditions, further improving the efficacy of the process by eliminating human interaction to only those times when it becomes essential.
Is RELAY innovative? Maybe. There have been other workflow processing projects. Most are defunct and had limited capabilities. Workflow is not a new concept, but to date it has not had good focus from the Oracle and Application Express communities.
RELAY is a node-based business process automation system that is built entirely in the Oracle Database and allows interface using RESTful Web Services via Oracle REST Data Services (ORDS). Using an APEX application as its designer, RELAY allows a process to be built visually then configured and implemented.
For the developer, RELAY:
• Separates business process logic from application logic
• Provides a singular platform for multiple applications
• Provides for multiple process flows for a singular set of data
• Reduces the probability that process change will impact application design
• Allows the developer to hand off the process design to a power user
• Makes assignments for tasking and decisions
• Routes data-based conditions and decisions automatically to reduce stop time
• Provides email communication when user interaction is required
• Can modify data points to be returned to the application
• Can receive a “limited” object of data to process workflow so sensitive, non-process data is not exposed
The original incarnation of RELAY was an engine that lived inside the same Oracle Database where the applications that would use it resided. In the current setup, RELAY can be triggered and used by multiple databases or applications through web services. This means that RELAY is able to provide Workflow as a Service to a whole world of applications, including those that are not based on Oracle technologies.
Additional information about the project and/or team members.
Adrian Png and Monty Latiolais contributed to the designer application in the first INSUM hackathon project called “MapIT”.
Demo: Relay Workflow engine