Skip to content
chengfang edited this page Jul 16, 2018 · 3 revisions

goals:

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)

Current Status:

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

Tentative schedule:

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