Java Batch Processing

Introduction

Batch processing is execution of series of “jobs” that is suitable for non-interactive, 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.

Batch Experts

EspalierTechs batch processing experts help design and implement modern, mission-critical and distributed Batch Platforms and Jobs. Our senior consultants have profound skills not only in the implementation but also in design and operations of modern Batch Processing Platforms and Jobs based on Java. We support clients with the definition, design and engineering of such platforms, thereby providing a target environment for major mainframe renewal projects. Based on this platform our team implemented mission critical and distributed batch jobs solving highly complex business requirements.

Technology

We use Java Spring Batch Framework as excellent foundation for Batch Jobs and Platforms.
Spring Batch is highly flexible and customizable and supports design and implementation of complex jobs very well. Spring’s Inversion of Control mechanisms make even complex Jobs well testable.

Spring Batch

Java Expert Group Member (JSR 352 Java Batch)

We believe in modern batch processing being one of the critical success factors for sustainable and modern application landscapes. We therefore participate as Expert Group Members in the efforts to standardize Java Batch Processing in JSR 352 Java Batch.

The code snippet below shows a simple definition of a Java batch job:

<?xml version="1.0" encoding="UTF-8"?>
<job id="PassContextParameterSampleJob" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
    <step id="firstStep" next="secondStep">
        <batchlet ref="ExecutionContextBatchlet"/>
    </step>
    <step id="secondStep">
        <batchlet ref="ExecutionContextBatchlet"/>
    </step>
</job>

Spring Batch concepts were used as the main basis for the JSR 352 Java Batch specification. Features from other batch products, such as WebSphere Compute Grid (WCG) and z/OS Batch were also included:

  • WCG programming model provided the concepts of checkpointing, partition processing, and property handling
  • Spring Batch concepts are most evident for chunk processing, listeners, splits, and operational interfaces
  • z/OS batch provided basic concepts such as separation of job definition from application and multiple concurrently executing instances of the same job definition

Mission-Critical

Our senior consultants implemented mission-critical jobs requiring high-availability and reliability by using state-of-the-art grid-based job distribution.

Monitoring

Our team developed high-end monitoring consoles for critical environments.

Please complete the following form to request us to contact you

Your Name (required)

Your Email (required)

Subject

Your Message