Application Architecture

Category: iDempiere Published: Tuesday, 11 December 2007 Written by Administrator

Application Architecture

As a result of the increasing technological changes and changing customers needs, iDempiere has become completely dynamic, adapting to any situation  . The strong support from the community has provided iDempiere with new ideas , new developments and improving processes in terms of functionality and  performance. It has also helped correct those potential failures that can presented at any given moment.

The modern concept kept by iDempiere from its inception has been the strong point  of the application as well as the use of object oriented language and the incorporation of the Data Dictionary.


iDempiere is an architectural evolution of ADempiere, which is a system based on Compiere. The first version of Compiere was designed in the 80's using Smalltalk, and  it was one of the first object-oriented languages. This project was based on the architecture of  the "Next Generation"project,  an ADV / Org  project that had similar concepts to the original  R / 3 of SAP project.  iDempiere has an architecture called "Object Architecture", which is compared with "Object-Oriented", "Object-like" or conventional architecture, in which each Object is as independent as other objects as possible.


As a result, iDempiere has an excellent integration :

  • Smalltalk `s MVC architecture (unrelated Model-View-Controller) 
  • Asynchronous disconnection processes via messages
  • Explicit Engine rules to implement complex logic
  • Fault and recovery secure transactions


Nowadays' cutting-edge technology and the latest versions of Java have made iDempiere a flexible  LAN client-server application as well as a Web application without needing changes in the code. 

Another strong point is the use of  the Application's  Data Dictionary where all the rules and parameters are easily adjustable, which is just what  new developments need to guarantee a more stable ability.

Intelligent User Interface
One of the great advantages of the GUI and HTML displays is that they are generated at runtime, under the application's  Data Dictionary rules. This means that any change made by the system administrator,  like the creation of a new screen, a new field,  changes in the rules or development  of  fields will be  shown at the time the user reloads the screen. All this can be done without writing a single line of code.
Another Data Dictionary`s feature is that the system recognizes rules of  structure and dependence, which allows the users to have all the information at hand without having to scroll through the application seeking information under the working document's registry. For example, if a user is in the process of creating a "Purchase Order" and the supplier was not registered, he doesn't need to exit  the window to create a new supplier  since iDempiere is flexible enough to simultaneously build the new supplier based on the data relationship . This means that it will be a very easy to manage application.  Moreover, depending on the user`s  permissions , it  can customize  layers of windows to display or hide fields that you do not want to customers view.
A user can also customize the defaults values of every field in particular in order to save time with predetermined values and to minimize the margin of error.

Intelligent Reports

In many applications, reports are external or aggregates elements , which are usually static. It is very  complicated  to change a field , grouping or modify the format, it does not happen in iDempiere since reports take  information from Data Dictionary.

The report  viewer makes possible to navigate within the report referring to  institution and to other reports. Links are automatically  generated and marked by an underscore in the same report. This navigation depends on the user`s role , depending on access and security assigned to it.

For example, Business Views are directed to the end user, allowing you to create your own reports using a standard tool for SQL.

All reports are displayed on screen before being printed or generated in several output formats that brings defaults  such as  PDF, Excel, Word and HTML. 

iDempiere allows you to  generate reports type Drill-Drill-down or across.

Drill-down,                         This kind of report is based on a selected entity, this means that you can generate a report from an order by surfing through the same lines, and double-clicking on the header of the order. Also , the drill-down is available with  transactions.  

Drill-across,                     This kind of  report is based on a specific entity, it means that in a report of any product, a user can select a specific line (a product), then surf  to  detail of an order or invoice, showing only the lines in which that product appears.


 With  iDempiere`s features is possible to generate three types of reports:

  • Reports by list from each window.
  • Financial Reports.
  • OLAP Views.


An important reports`  feature  is that you can get reports from any  window. Thus each window can have multiple reports with different fields and groups depending on the need of each user. There are two options to generate a report , these are : from a window choosing the option "generate a new report" or from the report generator. These reports can be placed on  menu for an easier access.
If you need a report with different dimensions , you can used OLAP Views, which allow you to view  information in tabular or graphical mode.  These  data can be stored in data warehouse If  they are required .


Hits: 7963