Skip to content
chengfang edited this page Aug 25, 2013 · 13 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)

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