Tuesday Aug 27, 2013

A Code-Driven Overview of JBatch

Java EE and server-side Java to date has largely been about on-line user-driven applications. However as Java's predominance in the data center continues to grow, it seems batch processing is yet another field of computing gradually shifting to Java as well. Things like mission critical off-line bulk oriented batch processes, ETL jobs, one-off nightly job scripts and the like that tended to be written in COBOL/RPG, various PL/SQL like scripts, Perl, Python, shell scripts and so on are now more often than not winding up on the Java developer's desk. In recognition of this fact, JBatch (aka Java Batch, JSR 352, Batch Applications for the Java Platform) was added to Java EE 7.

In a recent OTN article Oracle's JBatch expert group representative Mahesh Kannan wrote a pretty cool code-driven overview of the API. He discusses the core concepts/motivation, the Job Specification Language, the reader-processor-writer pattern, job operator, job repository, chunking, packaging, deployment, integration with Java EE, JBatch support in the GlassFish 4 Admin Console/CLI and the like. It's really a great introduction if you want to get started with JBatch. There's also the 15-minute JBatch presentation by specification lead Chris Vignola of IBM on the GlassFish videos YouTube channel and the slide deck for my own lightning talk:

You can also check out the official specification yourself or try things out with the Java EE 7 SDK.