JSR 352 - Batch Applications for the Java Platform

Ein Standard für die Batchentwicklung


Die Batchverarbeitung gehört zu den ältesten Verarbeitungsformen in der IT überhaupt, und doch gab es im Java-Bereich bisher keinen Standard dafür. Das hat sich nun mit dem finalen Release des Java Specification Requests 352 (Batch Applications for the Java Platform, JSR 352) geändert. Dieser zielt nicht nur auf die Enterprise Edition und ist dort Teil von Java EE 7, sondern explizit auch auf die Standard Edition. Eine erste Implementierung gibt es bereits im GlassFish 4, weitere werden bald folgen. Höchste Zeit, sich die Spezifikation genauer anzusehen.

Der Java Community Process (JCP) dient dazu, Standards im Java-Bereich zu etablieren. Jeder kann daran teilnehmen [1]. Wenn jemand einen neuen Standard etablieren möchte, reicht er einen JSR ein. Das Execu­tive Committee, bestehend aus Firmen und Einzelpersonen [2], entscheidet dann, ob der JSR generell zugelassen wird. Wenn das der Fall ist, wird eine Expertengruppe gegründet, die den Standard ausarbeitet. Am Ende entscheidet das Executive Committee, ob der JSR in der ausgearbeiteten Fassung akzeptiert wird.

Artikelserie

Teil 1: Java Config, Spring-Data-Support und Co.

Teil 2: JSR 352 – Batch Applications for the Java Platform

Teil 3: Spring XD – Ordnung für Big-Data-Datenströme

Der JSR 352 enthält die Standardisierung der Batchverarbeitung im Java-Bereich [3]. Eingereicht wurde er im Oktober 2011 von IBM und dann auch angenommen. Chris Vignola wurde Specification Lead. In der Expertengruppe sind IBM, Credit Suisse, Oracle, VMware und Red Hat sowie Simon Martinelli und Michael Minella als Einzelpersonen vertreten, wobei Michael Minella seit etwa einem Jahr Project Lead von Spring Batch ist. Seit Mai dieses Jahres ist die Spezifikation nun final und Teil von Java EE 7. Obwohl IBM einen starken Enterprise-Hintergrund hat, ist das Ziel des JSRs allerdings nicht nur die Java Enterprise Edition, sondern explizit auch die Standard Edition.

Das Ergebnis orientiert sich stark an Spring Batch. So wurden die Begrifflichkeiten der Domäne und das Programmiermodell fast eins zu eins übernommen, und auch die Konfiguration eines Jobs in XML ähnelt einer Spring-Batch-Konfiguration stark. Der Ablauf eines Jobs ist ebenfalls identisch.

Spring Batch wird die Spezifikation in der Version 3.0 (angekündigt für Herbst/Winter 2013) implementieren. Bisher gibt es bereits eine Implementierung im GlassFish 4 Application Server. Die Spezifikation schreibt übrigens keine bestimmte Art der Dependency Injection vor, sodass eine Im...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang