Workflow and Perl, part 1

I'd like to start series of posts related to workflow, workflow management systems and of course Perl. Workflows seems to be quite “hot” topic in all that world of enterprise software for the last ~5 years.

First, let's figure out what workflow is, why we should care and how Perl can deal with it.

What is workflow?
Sample Workflow

A workflow is just a bunch of states with rules on how to move between them. These are known as transitions and are triggered by some sort of event. A state is just a description of object properties.

A workflow application is a software application which automates, at least to some degree, a process or processes. The processes are usually business-related, but it may be any process that requires a series of steps that can be automated via software. Some steps of the process may require human intervention, such as an approval or the development of custom text, but functions that can be automated should be handled by the application.

A workflow application can be developed with any general-purpose programming language, but specialized workflow languages also exist. These usually come with an associated graphical notation (such as BPMN), but some are textual or XML-based.

Why should we care?
You can describe a surprisingly large number of processes as a series of states and actions to move between them.
So actually workflows are everywhere, they might be small and look very easy and natural, or can be huge and very complex.


Ok, let's take some very basic workflow, and try to implement it in Perl.
I chose usual basic example of software request tracking.

Request Management

We'll start development in the next post.
Stay tuned.
Notes and comments are welcome.

1 Comment

Look forward to seeing where you go with this. I've been very interesting in modeling workflows to web applications for a long time. Seems most of the web apps I come across have pretty barbaric workflows, consisting mostly of redirects and stuffing crap into the session object.

Leave a comment

About Ivan Paponov

user-pic Yet Another Perl Blogger