Chapter 15. Batch Processing

Batch Applications for the Java Platform is defined as JSR 352, and the complete specification can be downloaded.

Batch processing is the execution of a series of jobs and is suitable for noninteractive, bulk-oriented, and long-running tasks. Typical examples are end-of-month bank statement generation, end-of-day jobs such as interest calculation, and ETL (extract-transform-load) in a data warehouse. These tasks are typically data or computationally intensive, execute sequentially or in parallel, and may be initiated through various invocation models, including ad hoc, scheduled, and on-demand.

This specification defines a programming model for batch applications and a runtime for scheduling and executing jobs. Key concepts of a batch reference architecture are shown in Figure 15-1 and explained following it.

Key concepts of a batch reference architecture

Figure 15-1. Key concepts of a batch reference architecture

  • A job is an entity that encapsulates an entire batch process. A job is typically put together with a Job Specification Language and consists of one or more steps. The Job Specification Language in the Java EE 7 platform is implemented with XML and is referred to as “Job XML”.

  • A step is a domain object that encapsulates an independent, sequential phase of a job. A step contains all of the information necessary to define and control the actual batch processing.

  • JobOperator provides an interface ...

Get Java EE 7 Essentials 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.