For many years people have used workflow to automate business processes. The factoring of the control aspect typical of workflow-like systems (including orchestration engines) can also provide solutions to problems specific to the software realm.

The micro-workflow framework targets developers who want to separate the control and logic aspects in their programs, thus making them flow independent. A well-factored flow independent application facilitates change because the most frequent business changes translate into process changes, thus leaving the code intact. Flow independence also fosters reuse because domain objects make fewer assumptions about the control context in which they operate.

However, a workflow component aiming at separating the logic and control aspects within object-oriented applications has radically different requirements than the ones typical of traditional workflow management systems. Therefore, because most existing workflow systems and engines have been built with different design goals, they can’t serve this purpose. The micro-workflow framework solves this impedance mismatch. More information about micro-workflow is available from my Writings page. hosts an Open Source version of the micro-workflow framework written in Java. You can download it from here under the terms of the GNU Lesser General Public License (LGPL).