SmartBatch is an application automation solution for Microsoft Windows-based computers. SmartBatch lets you configure, manage and monitor unattended automated application processing at both the system and network level.  Unattended processing is any activity that needs to take place on a scheduled or unattended basis (that is, there is no system operator available to continuously start, stop or monitor this processing).  Formerly known by the legacy term batch job scheduling, this  type of processing is more commonly referred to as Windows automation or simply Job Scheduling.  SmartBatch is a complete and integrated solution offering the full range of capabilities you need to automate your applications.

SmartBatch offers more capabilities than typical batch job scheduling.  SmartBatch can not only handle scheduled activities, but other types of events that can trigger processing such as the creation of a particular file.  It does this in a highly integrated environment that provides the advanced features that are required for the most sophisticated environments.   

Scalbility, Fault-tolerance, Distributed Processing and Load-balancing

The Enterprise Edition of SmartBatch combined with SmartBatch Remote Agents provide a robust distributed processing environment.


You can add Remote Agent computers to a Computer Group at any time providing more processing horse power to your environment.


If a computer is not responding or is down, the Executive Server can select another available computer in the Computer Group.

Distributed Processing

Remote Agents provide the ability to spread the processing amongst any number of computers.


A Computer Group type called Application Grid is provided in situations where dynamic load-balancing is required based on  computing resources.  A simpler form of load-balancing is also provided with the Round Robin Computer Group type.

N-Tier Architecture

SmartBatch is designed as a true n-tier architecture from the ground up using Microsoft .NET technologies.  The value of this to you is knowing that you are getting the latest, best-of-breed technology that provides the best functionality and performance for your environment.


SmartBatch is available in four editions: the Free Edition, Lite Edition, Standard Edition and Enterprise Edition. The Enterprise Edition adds cross-system scheduling, the ability to place the SmartBatch database on a SQL Server database and programmatic extensibility from any .NET language.  The Free Edition is limited to 20 Operations and the Lite Edition is limited to 50 Operations.  There are no limits on the Standard or Enterprise Editions.  Although the Free and Lite Editions have limits on the number of Operations that can be configured, they provide robust functionality that is beneficial to many environments.

As more and more traditional mainframe and minicomputer applications are developed for or ported to Windows, the need for automated and unattended processing increases.  Automated processing refers to any type of program that:

 Is run on a scheduled basis.

Does not typically have a user interface.

May take a considerable amount of time to process.

May use considerable system and network resources while processing.

The term unattended processing encompasses automated processing needs but also provides for the added capabilities of scheduling, events, and notification.

Scheduling allows programs to start at a predefined date and time.  

Events allow processing to be initiated by system events such as a file being created.  

Notification allows Operators and application support personnel to be notified when certain events occur.

These capabilities define the main aspects of the automation portion of SmartBatch. There are many other capabilities in the product, that you will soon learn about, that help make this a complete Windows automation processing solution.

SmartBatch Features and Benefits:                    

Provides flexible scheduling with exception dates and custom calendars.

Provides the ability to manage processing of multiple applications in a single environment.

Provides the ability to configure processing into logical groupings of related activity (i.e., Operations, Steps and Jobs).

Provides an single integrated repository storing your automation configuration in any one of the major databases supported.

Provides a convenient syntax highlighting code editor so you can manage your scripts and programs directly from SmartBatch.

Provides the ability to use C# and VB.NET as your scripting languages allowing you to create and compile programs directly from SmartBatch.  Your automation now has full access to the .NET class library and SmartBatch class library (API).

Provides for error checking of Operations to determine if they ran successfully.

Provides the ability to configure Operators and their availability.

Provides for the ability to assign multiple Operators to an Alert so that any number of Operators can be notified of an event.

Provides for cross-system scheduling. This allows for scalable, fault-tolerant, distributed and load-balanced processing with centralized control. Operations can run on any computer running the SmartBatch Remote Agent.

Provides the ability to load-balance Operations to a set of computers defined in a Computer Group.

Provides the ability to place the SmartBatch database on  the most popular database servers.

Provides for notification by mobile phone, pager and SMTP Email.

Provides the ability to log history information to the SmartBatch History, Windows Event Log or Custom Log. The Custom Log allows SmartBatch to integrate with network management environments such as IBM's Tivoli.

Allows users to configure dependency information to make sure things happen when the necessary conditions are met.

Provides the ability to start processing based on a change in a directory or file rather than on a scheduled basis.

Provides the ability to determine if a program ran for too short or too long a period of time, known as the run threshold.

Provides the ability to terminate a program that has had no CPU activity for a configurable amount of time.

Allows users to configure Parameters to manage information that may change such as filenames and paths.

Tracks status information to determine what activity is taking place at any point in time.

Provides role based Windows security to assign different authorization levels to users.

Provides a Runbook capability that allows the user to enter information and instructions about the processing.

Provides a solution that can be maintained by nontechnical users without the need or knowledge for programming.

Provides a solution that is not specific to the application.

Provides a solution that is not dependent on a specific database management system.  

Integrates automated processing under one utility rather than a miscellaneous set of ad hoc tools and utilities.

Provides a consistent interface for automated processing.

Provides consistent notification, error reporting and event management.

Provides a consistent programmatic interface.

Installs as a Windows service.

SmartBatch Administrator

The SmartBatch Administrator, also called the client, provides the graphical user interface to SmartBatch. The Administrator manages any number of databases for any number of servers. SmartBatch must be licensed for each computer where either the client or server components run.

SmartBatch Web Administrator

The SmartBatch Web Administrator is an optional add-on client to SmartBatch with a browser interface. Under a web browser, it allows you to view the objects configured in SmartBatch and their status and to control those objects. This interface may be particularly useful for customers wanting to monitor their SmartBatch processing from a computer at a remote location, such as another company building or from home.

SmartBatch End User Services

The SmartBatch End User Services capability is an extension of the SmartBatch Web Administrator.  It provides the nontechnical end user with the ability to start jobs and view output.

Executive Server

This server examines the schedule for Operations, Steps and Jobs to execute. When the scheduled time for an object occurs, it first checks to see that the object has met its dependency requirements, replaces Parameters with their actual values, and then executes the object. For Operations, it will determine the success or failure of the Operation so that notification can occur. Any application can use this server for executing a program and monitoring its completion.

Notification Server

This server processes notification events written in response to events that occur in the Executive Server or your own code.  A Pager, Mobile phone or Email message needs to be sent to notify system administrators and operators of events. Any application can use this Server for Paging and Email capabilities.

Remote Agent (Enterprise Edition)

This capability allows for cross-system scheduling, that is, the ability to run programs on any computer running the Remote Agent.  

Database Support (Enterprise Edition)

The Enterprise Edition of SmartBatch provides the ability to host the SmartBatch database on any edition of SQL Server 2005, 2008, 2012, 2014 or above.  The default database for SmartBatch uses the Microsoft Access database file. It is recommend for the Standard Edition and Enterprise Edition to use SQL Server Express or an existing database server already installed in your environment.

SmartBatch Programmatic Interface - API (Enterprise Edition)

SmartBatch includes a way to extend the processing of the Executive Server by using the OnLineToolWorks.SmartBatch.Facade.dll.  This component is a .NET assembly providing for full control of the SmartBatch environment.  This capability can be used for various reasons including the ability to send information to environments.

For most environments, it will not be necessary to provide any customization to fulfill your batch processing requirements. However, for sophisticated environments SmartBatch provides for programmatic control. The OnLineToolWorks.SmartBatch.Facade.dll assembly provided is used by the Administrator, Executive and Notification components. It provides the interface to the SmartBatch environment.