Joined: 22 Nov 2005 Posts: 700 Location: Troy, Michigan USA
Batch and online programs perform very different functions (usually), within the same platform/environment.
Online program are usually transaction driven, this means that it is taking input from a GUI client where the scope of the transaction is usually small as compared to a batch program. An example of this would be a banking system, where the online program would process customer deposit or withdrawal transactions from a bank teller. It would update the customer deposit record, the tellers cash, audit records, etc. The scope of the transaction is limited.
Batch programs, on the other hand, are usually scheduled, have predecessors and successors and the scope of processing is usually much larger. In the same banking system, a scheduled batch job that runs after the online job has shut down, may take yesterdays deposit database totals, subtract from today?s database totals and compare with the tellers end-of-day cash ? beginning-of-days cash. (This should be the same). Or a batch program may post accumulated interest to the customer?s accounts each quarter, affecting every customer record. The scope of change is much larger than with an online system.