AntFlow is a tool for the automation and scheduling of data system tasks, including those with complex dependencies and workflow logic. Up until now it's been a component in the WAN Transport product by Onion Networks. They've opened up the most generally-useful portions of the system.
For now just untar (or unzip if that's your thing) the source or binary distribution of AntFlow on your machine. On windows, you'll have to do less configuration if you unzip it to C:\AntFlow, but if you place it elsewhere, just edit the demo.bat line which sets the AF_HOME environment variable to reflect your installation folder.
The AntFlow distribution comes pre-configured with a sample workflow that takes the following actions:
It's pretty basic, but it shows a workflow using a single pipeline containing two tasks to do something vaguely useful.
Please skip to the section that best descibes your operating system:
Starting the demo means invoking the demo script. Since the demo sends you an email it needs two bits of information:
Both of these can be specified on the invoking command line using a single command line like this (from within the AntFlow distribution directory):
./demo -Dmyworkflow.notifier.mail.mailhost=your.mail.server -Dmyworkflow.notifier.mail.to=you@example.com
replacing, of course, your.mail.server and you@example.com with the appropriate values.
AntFlow is now running, but not doing a whole lot until you provide it with input files on which to act. On either system you can avoid having to manually specify from the command line the mailhost and email address by editing the workflows/myworkflow/workflow.xml file where the comments indicate.
Starting the demo means invoking the demo.bat batch file with a few simple parameters. Since the demo sends you an email it needs two bits of information:
both of these can be specified on the invoking command line. Use a single command line like this (after cd-ing to the AntFlow distribution folder):
demo -Dmyworkflow.notifier.mail.mailhost=your.mail.server -Dmyworkflow.notifier.mail.to=you@example.com
replacing, of course, your.mail.server and you@example.com with the appropriate values.
AntFlow is now running, but not doing a whole lot until you provide it with input files on which to act. On either system you can avoid having to manually specify the mailhost and email address by editing the workflows/myworkflow/workflow.xml file where the comments indicate.
Once the AntFlow demo has been started just place a file or folder or two into the 'hotfolder' folder. After awhile (usually a minute or two) you'll get an email announcing the files you've placed in the hot folder. Add more and you'll get more emails. Change the files already in there and you'll get yet more.
In the unlikely case you don't get any email at all from AntFlow check the logs/antflow.log file and look for errors -- or better yet check the console output where you started AntFlow. There will be messages saying what went wrong -- likely a misconfiguration of your mailhost or email address.
All right, granted a four line Perl script can send you email when a file changes, but AntFlow isn't a file change notifier. AntFlow is a highly modular, pluggable, flexible workflow processing system that just happens to be configured as a file change notifier in this demo.
Take a look into the workflows directory to see just went into this demo. By snapping together a couple of boilerplate task.xml files wrapping standard ant tasks we were able to create a file notifier with no coding. Ant has tasks for just about everything under the sun and new ones can be coded by implementing a single method. AntFlow allows you harness the power of ant for system tasks unrelated to development and build processes. Think of it as a file-driven cron with a huge, ready library of tasks.
This demo just scratches the surface of what AntFlow can do now and what it will be able to do in just a few short iterations. Automated file processing -- sure; periodic task invocation -- yup; reliable file transfer -- with the right configuration; pipeline based text processing -- that too.
Look into the documentation at http://antflow.onionnetworks.com/ to see the many and varied applications to which AntFlow can be put. Check out the Apache Jakarta Ant project's list of tasks at http://ant.apache.org/manual/tasksoverview.html to get an idea of the types of tasks which can be automated.
Join the antflow-dev list by sending an email to antflow-dev-subscribe@onionnetworks.com .
Check out the AntFlow discussion forum at http://onionnetworks.com/forums/ to get support and talk with other AntFlow users about possible configurations.
Above all, help us to turn AntFlow into the tool you go to when you want a system to do things without your having to pay attention, because really that's the ultimate goal. Whether it's file transfer, text transformation, or most any routine task the hope is that we never have to pay attention.