Batch applications, jobs, and job definitions
A batch application is a Java EE application that conforms to one of the batch programming models. Batch work is expressed as jobs. Jobs are made up of steps. All steps in a job are processed sequentially.
All jobs contain the following information:
- The identity of the batch application that performs the work
- One or more job steps that must be performed to complete the work
- The identity of an artifact within the application that provides the logic for each job step
- Key and value pairs for each job step to provide additional context to the application artifacts
Jobs for batch applications contain additional information specific to the batch programming model:
- Definitions of sources and destinations for data
- Definitions of checkpoint algorithms
- xJCL - job definition
- Jobs are expressed using an XML dialect called XML Job Control Language (xJCL). This dialect has constructs for expressing all of the information needed for both compute-intensive and batch jobs, although some elements of xJCL are only applicable to compute-intensive or batch jobs. See the xJCL provided with the Sample applications and the xJCL schema document for more information about xJCL. The xJCL definition of a job is not part of the batch application. This definition is constructed separately and submitted to the job scheduler to run. The job scheduler uses information in the xJCL to determine where and when the job runs.
- Interfaces used to submit and control jobs
- xJCL jobs can be submitted and controlled through the following interfaces:
- A command-line interface
- An EJB interface described by the com.ibm.ws.batch.JobScheduler interface. For more information, see the API documentation for this interface.
- A web service interface
- The job management console
- The grid endpoint
- Batch applications run in a special runtime environment. This runtime environment is provided by a product-provided Java EE application, the batch execution environment. This application is deployed automatically by the system when a batch application is installed. The application serves as an interface between the job scheduler and batch applications. It provides the runtime environment for both compute-intensive and transactional batch applications.
Related concepts
Get started with the batch environment