O'Reilly logo

Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development by Dave Ingram

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required