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.

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
Tomcat 7 beta has been released! :)
* http://tomcat.apache.org/download-70.cgi
* http://www.tomcat7.com/
Rafa Roda Palacios
08/07/2010 at 09:40
Oh, the beta is there already! I’m not sure if this will be on time for the 3.0 release, it could be. Let’s see.
Thanks Rafa.
jpabloae
08/07/2010 at 11:12
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
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
Good point, we missed that. OpenJDK 6 is supported, starting with the version shipped by Ubuntu Lucid:
http://jpabloae.wordpress.com/2010/04/29/openbravo-erp-ubuntu-lucid-package-available/
So this means IcedTea 1.8. I’ve updated wiki page.
Thanks,
Juan Pablo
jpabloae
30/07/2010 at 18:08
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
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