# The Java EE 7 Tutorial

# 55 Batch Processing

This chapter describes Batch Applications for the Java Platform (JSR 352), which provides support for defining, implementing, and running batch jobs. Batch jobs are tasks that can be executed without user interaction. The batch framework is composed of a job specification language based on XML, a Java API, and a batch runtime.

Some enterprise applications contain tasks that can be executed without user interaction. These tasks are executed periodically or when resource usage is low, and they often process large amounts of information such as log files, database records, or images. Examples include billing, report generation, data format conversion, and image processing. These tasks are called batch jobs.

Batch processing refers to running batch jobs on a computer system. Java EE includes a batch processing framework that provides the batch execution infrastructure common to all batch applications, enabling developers to concentrate on the business logic of their batch applications. The batch framework consists of a job specification language based on XML, a set of batch annotations and interfaces for application classes that implement the business logic, a batch container that manages the execution of batch jobs, and supporting classes and interfaces to interact with the batch container.

The following topics are addressed here:

- Introduction to Batch Processing

- Batch Processing in Java EE

- Simple Use Case

- Using the Job Specification Language

- Creating Batch Artifacts

- Submitting Jobs to the Batch Runtime

- Packaging Batch Applications

- The webserverlog Example Application

- The phonebilling Example Application

- Further Information about Batch Processing