Category:Concepts

From InfiniteERP Wiki
Jump to: navigation, search

The Openbravo Fundamentals and Concepts sections give a very detailed description of basically all relevant Openbravo development concepts.

It is good to start with the overview section, to get a feel for the main philosophies which form the basis of Openbravo technology. The development section gives a detailed description of the main development topics such as the required prerequisite knowledge, the development project structure and the coding conventions we use ourselves (java and javascript). Don't forget the tips and tricks section which can be very valuable at times.

The application dictionary topics describe the core of the Openbravo model driven development approach. All developments take place within modules and are delivered as part of modules. The modularity section describes the underlying principles and concepts in detail.

The remaining sections of the concepts section follow the Openbravo architecture:

  • Database: Openbravo automatically configures and creates the database schema for you, the database section discusses all relevant topics related to this part of the application.
  • Middle tier: the main component here is the data access layer
  • Web tier: discusses skinning, alerts, deep linking and other topics related to the front end
  • Web services: for integrating Openbravo with other systems and other web frontends, both XML and JSON are supported

Overview Concepts

Several pages in the Openbravo Fundamentals and Concepts section are more overview-like, they give you a quick (but thorough) overview of the Openbravo technology and architecture:

Development Concepts

The development concepts topics describe the development steps and the main build steps, everything which is relevant when using and working with a developers toolset:

Application Dictionary

The application dictionary is the key component in the Openbravo model driven development approach. The application dictionary is where Openbravo ERP stores the definition for the whole system. For example tables, windows, tabs and their relationships are stored in the application dictionary.

The application dictionary is converted to code and other software artifacts by the WAD and the template/rendering engines.

Modularity

All Openbravo development takes place within modules, it is critical to understand Modularity:

Database

The DB Fundamentals section describe specifics when developing the database side of Openbravo. It discusses all relevant parts from creating tables, constraints to stored procedures.

Middle Tier

This part of the Openbravo Developers Guide discusses the middle-tier framework components. The main component in the Openbravo middle-tier is the Data Access Layer. The DAL makes it easier to develop business logic running on the middle-tier.

Background process scheduling makes it possible to run business logic independent from the UI at pre-set times. The background processes and other code makes use of standard utilities provided by Openbravo ERP.

Web Tier

The Openbravo web tier section combines all topics related to visualization of Openbravo. It discussing skinning, formatting, authentication etc.

Web services

Openbravo ERP provides a set of robust CRUD webservices in different technologies: JSON REST and XML REST webservices. The webservices work according to the REST principles and make it very easy to perform CRUD-like operations through webservice calls. All Openbravo tables/entities can be accessed through the Openbravo webservices.