jpabloae.blog

Release Engineering at Openbravo

ERP 2.50: experimenting with PostgreSQL 8.4 and OpenJDK 6

Currently Openbravo ERP 2.50 officially supports PostgreSQL 8.3 and Sun JDK 6. By the time when these versions were taken as our base, PostgreSQL 8.4 did not exist and OpenJDK 6 was an on-going project still not ready. One year later the situation is quite different:

  • PostgreSQL 8.4.1 is the latest and greatest of the PostgreSQL releases.
  • OpenJDK 6 is completed and a very real alternative to Sun’s JDK.

For those unfamiliar with OpenJDK, here’s a bit of history: on 2006 Sun decided to open their JDK and license it under the GPL. Some work was required for that, though: about 4% of the code was proprietary, dependent on 3rd parties who didn’t want to open those components. So the OpenJDK project started rewriting those parts and getting the rest ready. Now OpenJDK 6 has passed the Technology Compatibility Kit tests and claims to be a fully compatible Java 6 implementation.

Using OpenJDK will allow us to have a 100% open source and free software stack. Also,  as most modern Linux distributions include it as the default JDK, setting up Openbravo ERP will be easier. For example Ubuntu ships OpenJDK as the default one and in the next 10.04 LTS Sun’s JDK will be available in the multiverse repository or in none at all.

On the other hand supporting PostgreSQL 8.4 has the obvious benefits of enjoying the improvements of this new major version.

So let’s play a bit with them to see how they behave with our latest release, Openbravo ERP 2.50MP8.

PostgreSQL 8.4

I’ve run two tests using version 8.4.1:

  • Full build of Openbravo ERP 2.50MP8 (ant install.source): no surprises, our code builds cleanly with this new major version. The build times are similar compared to PostgreSQL 8.3.8.
  • Functional test (smoke test): this is usually a bit more tricky. But good news! No problems at all, it passes all the smoke test cleanly! Nice.

OpenJDK 6

Now the hard part. Let’s see how it goes:

  • Full build of Openbravo ERP 2.50MP8 (ant install.source): ouch, it fails the first time when it minifies the JavaScript files using YUI Compressor. But no worries, it’s a known issue that has a simple workaround, acceptable for now. After deleting the conflictive file the build finishes successfully. So the first big test passed, this looks promising.
  • Functional test (smoke test): so I set up Tomcat to run with OpenJDK, start the smoke tests on Openbravo ERP 2.50MP8 and 100% successfully completed! Yes, all of them.

Honestly, I’m quite impressed. I expected PostgreSQL 8.4 to work well, but I didn’t have as much faith on OpenJDK as my fellow Sree had. Congratulations to the OpenJDK team, you’ve done a great job.

Continuous Integration

You want proofs of all this? We’ve set up continuous builds and functional tests of our bleeding edge ERP code. Have a look at the experimental jobs in our build farm. This will help us detecting mismatches between our current stack and the new candidates.

The full builds will be run every 3 days and the smoke tests once per week. You can also check the trend and health of these builds.

Conclusions

My initial conclusions are clearly positive: the core of Openbravo ERP works well with PostgreSQL 8.4 and OpenJDK 6. It’s too early to say when we will officially support them, but this is an important milestone. The continuous builds and tests, as well as some manual QA and developer work will help us on taking the decision.

Advertisements

Written by jpabloae

05/11/2009 at 18:02

13 Responses

Subscribe to comments with RSS.

  1. Hi Juan Pablo,

    We will have to be aware of Tomcat 7 also :) http://www.infoworld.com/d/developer-world/apache-readies-tomcat-java-servlet-container-upgrade-034

    Any new on Apache Ant?

    Rafa Roda Palacios

    06/11/2009 at 15:27

    • Interesting! We’ll have to keep an eye on it to test it once the first beta is out.

      Regarding Apache Ant, they don’t have a release plan as far as I know. They release versions following the “when it’s ready” philosophy.

      Thanks Rafa.

      jpabloae

      06/11/2009 at 18:09

  2. Excuse me for writing Off-Topic but which WP template do you use? Looks awesome!

    brosteirott

    31/12/2009 at 21:55

    • It’s “The Journalist v1.9”.

      jpabloae

      27/02/2010 at 17:41

  3. What is the support status for OpenJDK in Openbravo ERP 2.50? Should this link be updated? http://wiki.openbravo.com/wiki/ERP/2.50/Openbravo_environment_installation#Sun_JDK

    Rafa Roda Palacios

    30/07/2010 at 17:56

  4. Hi again Juan Pablo! Any update on this topic? Can we track the evolution somewhere? What about PostgreSQL 9.0 support? http://www.openbravo.com/about-us/press-room/news/154/openbravo-rapidly-embraces-next-generation-postgresql-database.php

    Thanks!

    Rafa Roda Palacios

    27/12/2010 at 18:01

    • And do we know if Openbravo ERP is compatible with EnterpriseDB Postgres Plus products? http://www.enterprisedb.com/products/overview.do

      Rafa Roda Palacios

      28/12/2010 at 10:02

      • EnterpriseDB is PostgreSQL plus some extras. So there’s no reason why Openbravo should not be compatible with EnterpriseDB.

        jpabloae

        03/01/2011 at 17:27

    • Hi Rafa!

      PostgreSQL 9.0 is officially supported in both 2.50 and 3.0.

      As for Tomcat 7, it’s still in beta status. So we haven’t considered it yet.

      What evolution would you like to track? The stack requirements?

      jpabloae

      03/01/2011 at 17:25

  5. Hi Juan Pablo,

    Thank you very much for your answers. By tracking I was meaning:
    1) See what RM is testing in terms of stack requirements/versions.
    2) Reflect in the environment installation guide [1] and the roadmap [2] the support of PostgreSQL 9.0.

    [1] http://wiki.openbravo.com/wiki/ERP/2.50/Openbravo_environment_installation#PostgreSQL_database
    [2] http://wiki.openbravo.com/wiki/ERP/Roadmap#Custom_Installation

    Rafa Roda Palacios

    03/01/2011 at 18:48


Comments are closed.

%d bloggers like this: