Bending the back office: Open source CRM and ERP
SugarCRM, Openbravo, and Compiere tap the power of open source development to make customization easy, but the line between community and commercial is quickly crossedFollow @infoworld
Openbravo ERP: Templating to tables and forms
Many businesses want to automate more than just their sales force and customer service. Openbravo includes some rudimentary CRM capabilities and a big collection of routines for tracking goods through the warehouse to delivery -- a set of features that gives Openbravo claim to the acronym ERP. It's probably fair to say that it offers CRM too, although only the most basic kind.
The system mixes the job of herding the sales force with the order fulfillment processes. There are sections for managing the banking, procurement, production, and warehousing operations as well.
Openbravo is also mainly a collection of database tables with a pretty front end. It is written in Java with many of the classic Java libraries like Hibernate and JasperReports. The front end is built out of a custom templating engine that takes XML files and renders them in HTML. If you want to create custom forms and data structures, you'll work directly with the templating engine.
The Web pages are pretty straightforward, but they're not particularly AJAX-like. There's a good reason for that: Openbravo aims to make it possible to navigate with the keyboard alone, a capability that's pretty popular at offices where people need to work through form after form. This feature isn't perfect; there was one glitchy moment when I found one form wouldn't work because I wasn't logged in with sufficient permissions.
The Openbravo app is not as polished as many Web sites, but I don't think anyone will notice after spending 15 minutes getting oriented. The designers have done a good job producing something as efficient as the old "green screen" VT100-grade tools that dominated the back offices in the era of mainframes and mini computers.
The big version of Openbravo, the one that wears the ERP acronym, only works with Oracle and Postgres. They're said to be working on supporting DB2 and MySQL, but a number of custom hacks in the code apparently make it difficult to convert directly to MySQL. This professional version is also available as an "appliance" kit that offers one big, fat, licensed bundle with Tomcat, Oracle, and Apache. A lighter-weight version offers a point of sale (POS) application that can work with MySQL today.
There's a fair amount of flexibility for developing new modules -- more of a necessity for an ERP installation. Every business is different, and while the standard framework is pretty flexible, there's always room for more tables and modified control logic. The development documentation is pretty thick with a fair number of examples. Most of the time is devoted to picking up the structure of the system and the way that the XML files and Java code are turned into tables and forms.
Openbravo doesn't have the same kind of extensive plug-in system as SugarCRM, which limits the way that developers can bundle their features and toss them around. This doesn't mean that the system can't be extended -- it can very easily -- but there's no simple way to pull together a number of enhancements. On the other hand, I've found that plug-in architectures can be a real headache for developers because the plug-ins will eventually find a way to step on each other's toes.
Openbravo's open source community is not as robust as SugarCRM's. There are only 57 projects listed at the company's forge, and many of them are aimed at localizing the language. The wiki, which is much more extensive, is the preferred way to get documentation. They've also done a nice job producing a number of videos, an increasingly common way to tell developers how to get something done.
Openbravo's form system allows you to add new rows to the tables holding data about the clients. The forms can automatically enforce standard rules to prevent important data from being left out.