-
Notifications
You must be signed in to change notification settings - Fork 76
JBeret 1.0 Plan
spec compliant, portable batching implementation for Java SE and EE, and are also pluggable into other Java EE 7 compliant application servers.
certain QoS features for EE environment (integration with admin console, cli for easy management of batch jobs)
The following high-level features and components are implemented:
parse and load job.xml and batch.xml
scan annotations to identify batch artifacts
injection of batch contexts and batch properties
resolve property reference with batch expression language and detect cyclic ref
resolve inheritance of job and step and detect cyclic inheritance (deferred in spec to next release)
overall job execution logic and detect cyclic transition
batchlet step execution logic
step metrics api
flow execution logic
split execution logic
decision transitioning logic
initial support for listener invocations
unit tests and end-to-end test apps
batch api spec project (https://github.com/jboss/jboss-batch-api_spec)
replaced jaxb with stax
replaced scanotation with CDI
created spi to abstract out environment-dependent services (transaction, concurrency, batch configuration, etc).
Batch standalone TCK tests all passed with above features and changes (2013-08-25)
High-level TODO:
Run CTS batch tests
integrate into WildFly
implement JBeret SPI for Java EE as part of wildfly/batch module
EE 7 is currently scheduled to release in 2013 Q2 (can be as late as 2013-06-30). AS 8 schedule is TBD. The following is just a rough estimate, and the actual schedule will change depending on the JSR 352 spec status, implementation progress, and any changes in EE and AS 8 schedules. Milestones Dates Focus Deliverable M1 2013-01 -- 2013-03 core spec requirements Alpha release M2 2013-04 -- 2013-06 advanced EE features and AS integration tasks Beta release M3 2013-07 -- 2013-09 Integration with external tools and frameworks, and bug fixes Feature Complete, Soft Code Freeze M4 2013-10 -- 2013-11 continue bug fixes GA major tasks:
core requirements
configuration
annotation processing * xml parsing for job.xml and batch.xml, jaxb? * annotation and xml meta data merging * JSL inheritence merging * our product-specific configuration * in EE, part of domain.xml/standalone.xml * in SE, a separate xml file?
job execution
implement various batch context types
implement various batch listeners
checkpoint
transaction integration
parallel
in EE, leverage JSR 236 (Concurrency Utils for EE). What's our implementatioin? JBoss Threads?
in SE, java.util.concurrent, or some JBoss concurrency library
basic reader, writers
xml, csv, excel, db
job management, monitoring
interface with DMR management model
job repository
various job repository impls, such as file, db, xml
application-scoped or global?
EE extra features, EE integration layer
need a integration module in AS
integrate with
admin console (view and manage jobs)
cli (ditto)
deploy/undeploy, load/unload
management
security (who can access and modify job repository)
cluster support
remote chunk execution
remote concurrent step execution
how to distribute jobs across cluster
extensions to hook up with external tools, 3rd party frameworks
Jenkins
Quartz
work by other teams (need to coordinate):
tools update to support batch apps
admin console
CLI
jboss-specs update (https://github.com/jboss/jboss-javaee-specs)
quickstart
EAP dev guide, admin guide
QE, include in testing
Arquillian update?
PM, include in product requirements
JIRA, BZ, add batch category