FINAL
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 | 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)