16.1. The Batch Architecture

In the previous chapters you saw that many different jobs could form part of the overall batch solution. Chapter 13 defined the functional batch jobs specifically required by the case study. You've also seen the high-level mechanics of using a formal batch scheduler.

Figure 16-1 depicts a "batch" architecture that doesn't make use of a formal batch scheduler.

Figure 16.1. Figure 16-1

In this architecture style, the jobs are executed via different methods and technologies. The actual jobs (or processes) also manifest themselves in different ways, including:

  • As scripts running under the SQL Server Agent on the database server

  • As Windows services running on the application server

  • As a combination of scripts and executables running on the web servers and application servers under the Task Scheduler

This approach works, and can work well, but there are many moving parts that need to be administered and controlled. Furthermore, the individual jobs execute according to their own schedules, as there is no centrally coordinated execution orchestration. When jobs are running in this fashion they can overlap in their execution. For example, a job could be running on the database server that is backing up the database at the same time the Windows service is updating it. In this distributed architecture, it is difficult to manage dependencies. For example, if a ...

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.