Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A Code-Driven Overview of JBatch

DZone's Guide to

A Code-Driven Overview of JBatch

· Java Zone ·
Free Resource

Verify, standardize, and correct the Big 4 + more– name, email, phone and global addresses – try our Data Quality APIs now at Melissa Developer Portal!

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:

Developers! Quickly and easily gain access to the tools and information you need! Explore, test and combine our data quality APIs at Melissa Developer Portal – home to tools that save time and boost revenue. 

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}