Thursday, August 25, 2005

Delving into Compiere

In lookout for an Open Source Java ERP, I landed up with Compiere. We installed and tried to run it. Then I thought buying the user manual will make life easier, it did to a certain extent. Encouraged, I started to look under its hood. I was in for the shock of my life!


Let me start with the good things first. It has a comprehensive Swing based GUI. It even boasts of its own look and feel called Compiere looks! Another interesting thing is its JDO type of data model, which is generated by a Java tool in their dbport module. They have a Web based interface, which is still in beta state (as of 2.52e), it misbehaves a bit.



The downside is that the JDO type model also heavily depend on stored procedure written in PL/SQL and Oracle 10g is the only fully supported database. So much for its Open Source credentials! Though to be fair, I could see some efforts to make it run on other databases as well.


Having said that, they have JBOSS sitting tight inside it. But the disappointing aspect is the way they have used EJB. They pass around objects to the Session Beans which are SQL aware, the client side is also fully SQL aware. This is one of the glaring ANTI DESIGN PATTERN.


I think all Java J2EE programmers must study Compiere J2EE design as to learn how not to program in EJB.


I encourage all Java programmers to have a look at

[installed dir]/compiere-all/serverRoot/src/main/ejb/org/compiere/session/ServerBean.java


You can download Compiere from http://sourceforge.net/projects/compiere/


Best of luck, please don't die laughing!