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:
- Making it easier to contribute to Openbravo ERP by allowing distributed and decoupled development and maintenance of optional features.
- Providing the Community with a rich set of extensions to meet their unique business requirements without bloating the core product.
- Shorten the implementation cycles by enabling system integrators to develop micro-vertical templates.
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:
- Type safe querying and retrieval of business objects from the database.
- A convenient API to update or create new data in the database.
- A type safe interface to update information of a business object, increased productivity by making the properties of a business object directly visible through getters and setters (in the IDE).
- Transaction and context handling.
- Security and validation checking.
- Automatically maps new entries in the Application Dictionary to database tables and columns.
- Generates Java class business objects (and their associations) on the basis of the Application Dictionary model.
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:
- Data Access Layer Concepts
- How to work with the Data Access Layer
- How to develop a DAL background process
- How to do a complex query using the DAL-1
- How to do a complex query using the DAL-2
- How to call a stored procedure from the DAL
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:
- retrieve a single business object or a list of business objects using a standard HTTP GET request
- querying, filtering, paging and sorting of lists of business objects, again through standard HTTP requests
- update of an existing business object or multiple business objects through XML and a HTTP POST or PUT operation
- creation of new business objects through a POST/PUT operation
- export and import of data: xml files which contain a mix of different types of business objects and a mix of new and existing business object
- delete operation using either a url pointing to a specific business object which needs to be removed or a XML document which contains business objects (as full xml or as partial xml) which need to be removed.
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.
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:
- flexibly schedule Openbravo background process, including run a process immediately
- implement your own background process by implementing a simple interface
- monitor process execution through the Openbravo application
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:
- 4402: Right to left support - Right to left languages are now fully supported
- 5546: JNDI service for DB - You can now configure Openbravo database connections using JNDI.
- 6178: Translating Openbravo without rebuilding - Adding a new language is now much easier and does not require a system rebuild.
- 0422: Autosave (Centralized Control Changes) - You can now control how Openbravo handles saving pending record changes upon navigation. Two modes are supported: with Autosave enabled, changes are automatically saved when you navigate away from the record; with Autosave disablee, the system prompts you to explicitly save your changes. You can choose the mode of operation as a preference by globally, by user, by window, or by a combination of user and window.
- 4170: Dynamic Alert Icon - The status of the alert icon now changes dynamically to show the presence of user alerts.
- 4171: Attachment Status Icon - The attachment icon now changes to show the presence of attachments to a transaction without the need to drill down.
ERP 2.50:Developers Guide/Main Development Concepts | ERP 2.50:Developers Guide/How to upgrade your code to 2.50