PL/Flow — an WfMC-based Workflow implementation using PL/SQL
PL/SQL is a native language of Oracle, it’s an effective way to manipulate Oracle. A lot of work can be done through PL/SQL programming, even workflow engine, which is usually implemented in Java.
PL/FLOW is an workflow engineer written in PL/SQL. Also it’s located in sourceforge: http://plflow.sourceforge.net/. This project is based on WfMC(Workflow Management Coalition), which is a standard for workflow engine.
Several years ago, I studied WfMC with some classmates, and chose OBE(Open Business Engine,http://obe.sourceforge.net/), a Java-based implementation of WfMC. Configuration and reading OBE was so puzzled, because OBE used a lot of Java frameworks, such as log4j,velocity, JGraph etc. etc. But this PL/SQL based implementation seems "simple", having extremely less code than OBE. just some tables, indexes, sequences, triggers, procedures.
The core for workflow is the transitions of various states, which is defined by WfMC:
The implementation of transitions is realized in procedure "ChangeActivityInstanceState", which has several sub-procedures to start, release, suspend, resume, complete, abort, terminate the activities.
The workflow engine can also accessed by web, through PHP using OCI.
So, this project is a excellent reference to construct your own workflow engine, pl/sql and PHP programming.
