View source | Discuss this page | Page history | Printable version   
Main Page
Upload file
What links here
Recent changes

PDF Books
Show collection (0 pages)
Collections help


ERP 2.50:Developers Guide/What's new

ERP 2.50:Developers Guide



New and Noteworthy in 2.50

The Openbravo ERP 2.50 release offers a number of exciting new features. In this release Openbravo has made big advancements in both architecture, system functionality and integration possibilities. This section gives an overview of new features important for application developers. For a full listing of changes in Openbravo 2.50, see the release notes.


Openbravo 2.50 comes with the new concept of Modularity: the ability for developers to build, package and distribute Extension Modules and for users to install, uninstall and update Extension Modules.

An Extension Module is a piece of additional functionality that can be deployed optionally and independently on top of Openbravo ERP. Examples of modules are: additional reports, additional windows, connectors, content packs (translations, chart of accounts, list of tax codes, product categories, etc).

The objectives of modularity are:

Modularity is discussed in more detail in the following sections of the developers guide:

Data Access Layer

The Openbravo Data Access Layer (DAL) is a new development in Openbravo ERP 2.50. The DAL integrates the Hibernate ORM tool in Openbravo. It provides the application developer with the following functionality:

The goal of the DAL development is to make it possible to implement more business logic in Java, i.e. to strengthen the middle-tier of the application.

The Data Access Layer is discussed in more detail in the following sections of the developers guide:

REST Webservices

Openbravo REST consists of a framework offering security and exception services and a data access REST web service implementation. The data access (DAL) REST web services provide a CRUD-like web service so that external applications can retrieve, update, create and delete business objects through standard HTTP requests:

Openbravo REST is discussed in more detail in the following sections:


The primary key of all openbravo tables has been changed from a sequence numeric based primary key to a new system which uses Universally Unique Identifiers (UUID).

Doing so guarantees that every database object has an unique identifier regardless the environment it was created in and facilitates distributed development and the reuse of database components.

This new feature makes it possible to maintain stable keys/ids over time also when exporting and importing information.

Process Scheduling

Openbravo Process Scheduling is a framework to provide developers and users with finer control over process scheduling and monitoring within Openbravo ERP. Openbravo ERP release 2.50 leverages the power and flexibility of the Quartz Job Scheduling Framework. Quartz is a robust, scalable and extensible open source process scheduling framework that provides a very flexible range of scheduling options.

The Openbravo Process Scheduling framework allows you to:

The Openbravo Process Scheduling functionality is described in more detail in the follow sections of the developers guide:

New build task: smartbuild

Openbravo 2.50 provides a new incremental build task which performs all the required processes to build your system but only the required ones, with a huge improvement in performance. It checks whether the database needs to be updated from xml sources and performs the update only if needed, generates the code that needs to be regenerated, compiles and deploys it.

For more information visit these links:

Other changes in Openbravo 2.50

A listing of other developer-related changes in Openbravo 2.50:

ERP 2.50:Developers Guide/Main Development Concepts | ERP 2.50:Developers Guide/How to upgrade your code to 2.50

Retrieved from ""

This page has been accessed 7,548 times. This page was last modified on 14 June 2011, at 11:04. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.