Project Description
The goal of Autorun is to provide a rapid development framework and a test/production environment for running automated tasks. The task scheduler can run interactively or as a Windows NT service and the monitoring interface can connect remotely to this service.

We often develop tasks that will be automated repeatedly. By experience, I noticed one particularity of that type of project: although the main functionality remains dramatically easy to develop, developers will spend most of their time in fixing and stabilizing the “automation” part of this project. Finally, the required functionality that should represent 80% of your project took 20% to setup although the system part (the remaining 20% of your project) of your program took 80%...

Moreover developing Windows NT Service is a real nightmare to debug: newbies in that domain will have certainly tried to attach to a process… Although there are best practices to debug Windows services, these are not always fast enough.

Autorun can be used in several forms:
  • As an Windows NT service (start “autorun.exe”)
  • As an interactive Windows application (start “autorun.exe /server”)
  • Built-in in the client configuration tool (start “autorun.exe /client”)

autorun_client.jpg autorun_server.jpg

Features of the environment:
  • Integrated design- and run-time environment to develop, test and run automated tasks
  • Configure and monitor Autorun remotely through the client configuration tool
  • Schedule tasks at startup, at shutdown, daily, weekly or monthly
  • Isolation: when a task crashes, it does not crash the other tasks
  • Reports can be sent automatically
    • Daily activity reports
    • Task reports (when errors occur, or everytime)

ClassDiagram1.png

Features of the development framework:
  • The base object standardizes the development of tasks
  • Tasks can send return codes when they finish
  • They can chain a new task when they finish

Autorun.png

Last edited Nov 11, 2008 at 6:54 PM by sbollaerts, version 2