Kie Persistence Support Page - mrietveld/jbpm GitHub Wiki

HomeKie Persistence Support
2014-05-10

Overview

There's a recurring demand for support for OpenJPA in the community. Experience has also shown that migrating between minor versions of Hibernate is not trivial.

I implemented a test framework in 5.2.x for checking the backwards compatibility of our binary persistence, before we moved to protobuf. I should reimplement that and turn it back on.

Goals

(Priority is unknown/TBD at this point)

  • Implement a test framework that allows us to do the following:
    • easy configuration and setup/reuse for cross-database tests
    • easy configuration and setup/reuse for multiple ORM tests
  • Implement OpenJPA Support
  • Implement a test framework to support multiple ORM's in tests
  • (Re)implement marshalling backwards compatibility testing
  • Get cross-db testing running again (jenkins jobs, etc.)

Current Status

No work done yet. There are forks of jbpm (eggeral) with work in them.

Work Plan

  • Liquibase/database schema migration work
  • Cross-DB test framework
  • Cross-DB implementation and jenkins jobs
  • Multiple ORM test framework
  • Add OpenJPA support
  • Add configurable multiple hibernate version support
  • Marshalling backward compatibility testing framework (work in parallel to other goals)

Tentative schedule

Unknown dates, I'll look at this again in July/August.

Milestones Dates Focus Deliverable
xDB test framework
xDB tests
ORM test framework
OpenJPA support
Multiple Hib vers
Marshalling testing

Task Breakdown

FILL IN

  • Multiple ORM test framework
    • there's work I did in 5.2.x to test both JPA 1 and JPA 2 by the same tests
  • OpenJPA support
  • Configurable multiple hibernate version support
  • Marshalling backwards compability testing
    • Get "Gegaw" off the ground
    • Finish the utility/script to generate previous snapshot databases per branch
    • Implement test framework in drools/jbpm tests

Coordination with other teams

  • Keep Jiri Svitak in the loop (he'll probably want to contribute!)
⚠️ **GitHub.com Fallback** ⚠️