I’d like to describe my situation and ask whether using a BPM tool such as Flowable seems to make sense. I’ve never used a BPM tool before, so I’m wondering whether it’s a path worth pursuing for my specific circumstances.
I work in an application development group, and we’ve been tasked with automating a number of manually-performed workflows to build client deliverables, where most of these deliverables are Excel workbooks or flat file data extracts. The bulk of the individual tasks involve copying and updating SQL or SAS scripts. Some tasks are executed conditionally–for example, run tasks T3 and T4 if we’re building a brand new client deliverable; otherwise run task T9 and T10 if we’re generating a client deliverable that is a continuation of a prior deliverable. I figure that most of the SQL or SAS scripts can be parameterized in order to eliminate the manual copy & update operations, and I would guess that we could distill the unique aspects of each client deliverable into somewhere between a dozen and 20 parameters.
In light of the fact that essentially all the tasks could be invoked from a Unix command line, my first inclination is to build some shell scripts to orchestrate the execution of tasks, since that’s a technique that I am accustomed to. On the other hand, I see benefit in being able to model the workflows using a graphical tool, which makes it easy to present and discuss with the business users, all of whom understand flowcharts and very few of whom understand Unix shell scripts. Plus, we would want to be able to see how a running workflow instance is progressing, restart a workflow from a point of failure, collect runtime details for each task, and other operational stuff like that.
The production support manager will surely suggest that I create a bunch of job sets in our corporate scheduler (Autosys). This is an option, but it doesn’t handle the conditional execution nature of the workflows very well. Also, I anticipate that we would need to run multiple instances of some workflows simultaneously, something else the corporate scheduler is not really designed for.
In light of what I’ve described, is it worthwhile to consider using a tool like Flowable, or would it be more trouble than it’s worth compared to building a bunch of shell scripts? If I’ve left out details needed for an informed decision, please let me know.