The production release of Openbravo ERP 2.40 is still fresh in our mind and yet we are already in the final stages of the build phase for the next release, Openbravo ERP 2.50.
2.50 is going to be a remarkable release for many reasons. One of them is that it marks the beginning of the transformation towards the next generation technology open source ERP platform, Openbravo Green.
We have been working on Openbravo Green for well over 18 months. The original
New Platform - White Paper and
Design Principles for Openbravo Green articles were published in our wiki in early March 2007 and they sparked a very active debate in our Community in the
Openbravo Green forum, which was launched a few days later.
One of the major issues with this project was how to tranform it from a concept into a production feature. In fact, a complete redesign of an established platform is always very problematic: from one side, the initial investment required is very high; from the other, the limited resources of the development organization are always pulled towards meeting the urgent requirements of the community using the existing product. In addition to that, if not properly managed, the big bang introduction of a new platform could be very disruptive to existing users who need to learn the new tools and migrate their legacy extensions to the new technology.
After several months of debate, we came to the conclusion that, rather than looking at Green as a discontinuity in our product development, the rigth approach for us was to implement it using an evolutionary approach based on coexistance: elements of the new platform are to be introduced progressively in every release, while making sure that the existing platform continues to be operational to support the existing application.
In other words, we stopped looking at Openbravo Green as a mythical future release, and we started adding capabilities of "the next generation platform" in the normal release cycle.
There are several advantages to this approach:
- Early delivery of the benefits of the new technology: every new technology feature that we introduce can provide benefits from day one, and there is no need to wait for the long pole to take advantage of it;
- Minimal or no disruption to existing users: since we continue to support our existing technology, our community's investment in the Openbravo ERP project is protected;
- Risk reduction: any possible problem with the new technology can be detected and corrected early.
We have since been quietly working behind the scenes to make this vision a reality and 2.50 is going to unveil the first step in our path to Green.
In Openbravo ERP 2.50, in fact, we are introducing many of the foundational elements that were explored as part of the original Green project. The most significant one is the introduction of the
Data Access Layer (DAL), which leverages
Hibernate to provide a Java abstraction layer on top of the relational datamodel and which provides centralized data access and persistence. While DAL provides a better alternative to
SQLC, SQLC will be preserved in 2.50 and all of our existing code continues to use it to access the database. At the same time, DAL can provide many benefits to our users starting from this release, including:
- A very productive tool to write Java-based business logic and extensions on top of Openbravo ERP;
- A full layer of restful web services that allow to manipulate 100% of the Openbravo ERP transactions;
- A way to develop custom user interfaces decoupled from the product back end leveraging either Java or any SOA enabled technology.
Another
Green element adopted in 2.50 is
Quartz which will replace the home grown legacy scheduler as part of the
Process Scheduler project. In 2.50, this project provides a much more robust infrastructure to schedule automatic jobs as well as the ability to invoke any Openbravo process from external systems through web services. For future releases, Quartz also offers a very solid basis to improve the user experience and productivity by allowing scheduling the background execution of any report and process directly from the Openbravo interface.
Finally, in 2.50 we are improving the overall architecture of our platform by allowing the development and distribution of independent solutions through the
Modularity project. While this is a topic large enough to deserve its own post, I would like to point out that this is the first step towards the
separation between platform and ERP that we had identified as a design principle 18 months ago.
As significant as it is, Openbravo ERP 2.50 is just the first milestone towards our evolution to Green. Future steps include:
- The introduction of more powerful abstaction layers such as business objects in addition to relational tables;
- The conversion of our legacy code to use DAL instead of SQLC;
- The elimination of PL/SQL in favor of Java;
- The adoption of a BPEL and human workflow engine;
- The introduction of a search engine;
- and much more...
How fast can we complete this journey? It is difficult to say. The answer to this question, in fact, depends on how many resources we will be able to dedicate to this technological transformation; that needs to be a trade off with other priorities such as the continued expansion of the functional footprint of the solution and the improvement of the user experience.
If you would like to accelerate our delivery, you can always help us out by
contributing to the project.
Starting from today, however, we can be sure that the journey is under way and that, slowly but surely, we will reach our destination.