Monday Oct 14, 2013

A Realistic JBatch Example

While very basic introductory examples are invaluable in explaining a new API, they can fail to do a rich API justice - especially from the perspective of more experienced developers. For some of us, looking at a slightly more involved, realistic example can shed far better light on the practical value proposition for a technology. A very well written recent blog post on the AMIS technology blog does exactly that for the JBatch API standardized in Java EE 7. The author uses JBatch features such as the Job Specification XML, chunked processing, parameter passing, batchlets, job/step listeners, the job context and integration with Java EE in a non-trivial fashion to create an online download manager. I would say if you are interested in JBatch, the blog entry is almost a must read and perhaps one of the best ones written on JBatch so far.

At JavaOne 2013 IBM Distinguished Engineer Brian Martin presented a very useful session on JBatch titled "Three Key Concepts for Understanding JSR 352: Batch Applications for the Java Platform". Stay tuned to Parleys.com for video of the session to be published. The well-written official specification is also a great place to learn more about JBatch.

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.

Tuesday Jul 02, 2013

JBatch Overview

It seems batch processing is moving more and more into the realm of the Java developer. 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 article JBatch specification lead Chris Vignola of IBM provides a high level 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, partitions, split/flow and the like.

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

Friday May 10, 2013

Java EE@JavaOne Russia 2013

JavaOne Russia 2013 was held at the Crocus Expo Center in Moscow on April 23-24. The conference was a resounding success with a great vibe, excellent technical content and numerous world class speakers. Some notable speakers included Werner Keil, Joonas Lehtinen, Heather VanCura, Paul Bakker, Bert Ertman, Talip Ozturk, Anil Gaur, Geertjan Wielenga, Arun Gupta, Jim Weaver, Stephen Chin and David Delabassee. Topics covered included the JCP/JUGs, Java SE 8, Java EE 7, HTML 5/WebSocket, JSF, JMS 2, JAX-RS 2, Java EE Concurrency, JBatch, JSON-P, NetBeans, MySQL, Vaadin, the Oracle Java Cloud, OpenShift, OSGi, JavaFX and Coherence.

 

 

I delivered the Java EE technical keynote, two technical sessions (one on JSM 2 and the other on JAX-RS 2) and three lighting talks (on Java EE Concurrency, JBatch and JSON-P). I also helped deliver two hands-on-labs (on Java EE 7 and the Java Cloud Service). More details on the sessions and JavaOne Russia 2013, including the slide decks and code, posted on my personal blog.

Tuesday Apr 09, 2013

JMS 2, Bean Validation 1.1, JBatch, JSON-P Go Final!

Java EE 7 is almost to the finish line! The first slew of Java EE 7 JSRs have successfully passed their Final Approval Ballots and are now final. JMS 2 (JSR 343), Bean Validation 1.1 (JSR 349), JBatch (JSR 352), and JSON-P (JSR 353) all passed with near unanimous support from the JCP Executive Committee. Please join me in congratulating spec leads Nigel Deakin of Oracle, Emmanuel Bernard of Red Hat, Chris Vignola of IBM, and Jitendra Kotamraju of Oracle on the fruition of all their hard, often thankless work.

We expect more Java EE 7 JSRs to follow suit shortly, so stay tuned. This is a great time to read the final specs and start experimenting with them in the GlassFish 4 builds.

Tuesday Mar 19, 2013

Chris Vignola on JBatch

The 124th episode of the Java Spotlight podcast features an interview with JBatch (aka Java Batch, aka Batch Applications for the Java Platform, aka JSR 352) spec lead Chris Vignola of IBM. Chris talks with Roger Brinkley about the history/motivation/value proposition of JBatch, key concepts, API details, best practices as well as the current status for the JSR. 

The podcast also covers Java SE, Java EE 7, GlassFish 4 and JavaFX. You can listen to the full podcast here. It is a fairly dense, informative interview from someone who is clearly extremely knowledgible on the batch processing domain.

Wednesday Feb 06, 2013

A Gentle Introduction to JBatch

As Java EE 7 rolls forward, my good friend and colleague Arun Gupta has been trying to blog about some of the most exciting new features. His blog entry Undertanding JSR 352 Concepts is a great starting point into JBatch (aka "JSR 352" aka "Batch Applications for the Java Platform"). As you may be aware JBatch is an IBM led JSR that's slated to be included into the Java EE 7 platform, but not the lighter weight Web Profile.

Arun explains some key JBatch concepts like Job, Step, JobOperator, JobRepository and the Reader-Processor-Writer pattern, provides some pretty good code examples and points to further resources like the JavaOne JBatch session and the official spec artifacts.