Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: null

(warning) FINAL (warning)

This proposal is now complete and has been submitted for a VOTE.

Edit: the vote passed


BatchEE, JBatch Implementation

Abstract

BatchEE will be an ASL-licensed implementation of the JBatch Specification which is defined as JSR-352 (for version 1.0).

Proposal

BatchEE specification is an effort for defining a standard API and way to write batches in Java. It is integrated with JavaEE (JTA, CDI....) but works out of the box in a standalone environment.

BatchEE Project is responsible for implementing the runtime container contract for the JBatch specification. Besides the implementation, BatchEE Project will implement the core built-in components that further simplifies the developer complex interactions with other Java EE specific enterprise operations. For example, it will define default reader/processor/writer for jdbc, jpa, xml/json/flat files...

Background

Until today writing batches in java meant using a proprietary framework and link to JavaEE was quite limited (or missing). JBatch defines an API fixing this issue and now developpers need a fix.

Rationale

Current JBatch specificatin is released, and only the reference implementation is available but not really intended to be maintained. Moreover multiple Apache projects (geronimo, TomEE, ...) will need an Apache compatible Jbatch implementation to go ahread and implement JavaEE 7.

Initial Goals

The initial goals of the BatchEE Project are

  • Fully implement the JSR-352 specification.
  • Attracts a community around the current code base.
  • Active relationship with the other dependent projects to further develop some useful batch components.

Current Status

Meritocracy

Initial developer of the project is familiar with the meritocracy principles of Apache. He knows that the open source gets power from its great developers and freedom. He also developed some other open source projects. We will follow the normal meritocracy rules also with other potential contributors.

Community

There is a great community within the OpenEJB, OpenWebBeans, Geronimo and TomEE Apache projects. BatchEE project is very related with these projects and in the some cases, it enhances these projects. We are thinking that BatchEE project gets strong community because it complete the needed frameworks of a java developper and unifies the using of these projects. It simplifies the developer effort for building complex enterprise applications batches.

Core Developers

BatchEE project has been developing by the IBM then forked by Romain Manni-Bucau as a sole contributor.

Alignment

BacthEE project will be a candidate for use in Geronimo AS and TomEE as a default JBatch implementation. Other projects could benefit from the BatchEE project as a general purpose component and context management.

BatchEE project is closely aligned with the OpenEJB and OpenWebBeans projects perfectly. It depends on these projects to satisfy its requirements (mainly tests).

Known Risks

Orphaned products

Even if the initial committer of the project has no plan to leave the active development, it must necessary to get other committers for the project. So that it less dependent on the single developer. The source code of the project is well documented and new committers could easily grasp the details. Initial committer continues to support actively this project.

Inexperience with Open Source

Initial developer have worked on open source project before, including OpenEJB/TomEE, OpenWebBeans, XBean...

Homogeneous Developers

Altough the initial committer of the project is single, developer team may be increased within the active project lifecycle from the different locations.

Reliance on Salaried Developers

Project currently has no salaried developers. All the commitment is done by the volunteer developer.

Relationships with Other Apache Products

BatchEE will likely be used in the Geronimo and Apache TomEE. OpenWebBeans could bring added value for tests and integration with CDI. OpenEJB will be great to pass EE tests (JTA is mandatory and CDi a must have).

An Excessive Fascination with the Apache Brand

BatchEE project initial committer is the strong supporter of the open source projects. Initial committer of the project thinks that ASF has great place that provides wider colloboration and support of the open source project and it respects meritrocracy. Also, BatchEE project will surely be embraced by the Geronimo, TomEE, Camel and other Apache projects. BatchEE project is closely related with the some of the other Apache projects.

Documentation

Currently the main documentation of the project is contained in the README.md in the source repository (see next part).

Initial Source

The source for BatchEE project that is to be imported is currently within the project at https://github.com/rmannibucau/batchee.git and is all ASL2.0 licensed. It is based on a fork of the JBatch RI (developped by IBM) which said it was ok to fork the RI: http://apache-incubator-general.996316.n3.nabble.com/Re-DISCUSS-jbatch-impl-Apache-td36529.html

External Dependencies

All dependencies have Apache compatible licenses.

Required Resources

Mailing lists

  • batchee-dev@incubator.apache.org
  • batchee-commits@incubator.apache.org
  • batchee-private@incubator.apache.org
  • batchee-user@incubator.apache.org

Git repository

Issue Tracking

Other Resources

  • Wiki

Initial Committers

Name

Email

CLA

Romain Manni-Bucau

rmannibucau at gmail dot com

yes

Gerhard Petracek

gpetracek at apache dot org

yes

Jean-Louis Monteiro

jlmonteiro at apache dot org

yes

Stephen Connolly

stephen dot alan dot connolly at gmail dot com

yes

David Blevins

dblevins at apache dot org

yes

Mark Struberg

struberg at yahoo dot de

yes

Sponsors

We kindly request the Apache Incubator PMC to be the sponsor for this project.

Champion

  • Mark Struberg (struberg at yahoo dot de)

Nominated Mentors

  • Jean-Baptiste Onofré (jb at nanthrax dot net)
  • Olivier Lamy (olamy at apache dot org)
  • Mark Struberg (struberg at yahoo dot de)