This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

The Architecture of OpenERP

To access OpenERP you can:

  • use a web browser pointed at the OpenERP client-web server, or

  • use an application client (the GTK client) installed on each computer.

The two methods of access give very similar facilities, and you can use both on the same server at the same time. It is best to use the web browser if the OpenERP server is some distance away (such as on another continent) because it is more tolerant of time delays between the two than the GTK client is. The web client is also easier to maintain, because it is generally already installed on users' computers.

Conversely you would be better off with the application client (called the GTK client because of the technology it is built with) if you are using a local server (such as in the same building). In this case the GTK client will be more responsive, so more satisfying to use.


Web Client and GTK Client

There is little functional difference between the two OpenERP clients - the web client and the GTK client at present. The web client offers more functionality, for instance, the Corporate Intelligence feature, and the Gantt view.

When you are changing the structure of your OpenERP installation (adding and removing modules, perhaps changing labels), you might find the web client to be irritating because of its use of caching.

Caching speeds it all up by keeping a copy of data somewhere between the server and your client, which is usually good. But you may have made changes to your installation that you cannot immediately see in your browser. Many apparent faults are caused by this! The workaround is to use the GTK client during development and implementation where possible.

The OpenERP company will continue to support two clients for the foreseeable future, so you can use whichever client you prefer.

An OpenERP system is formed from three main components:

  • the PostgreSQL database server, which contains all of the databases, each of which contains all data and most elements of the OpenERP system configuration,

  • the OpenERP application server, which contains all of the enterprise logic and ensures that OpenERP runs optimally,

  • the web server, a separate application called the Open Object client-web, which enables you to connect to OpenERP from standard web browsers and is not needed when you connect using a GTK client.


The architecture of OpenERP


Terminology: Client-web – Server or Client?

The client-web component can be thought of as a server or a client depending on your viewpoint.

It acts as a web server to an end user connecting from a web browser, but it also acts as a client to the OpenERP application server just as a GTK application client does.

So in this book its context will determine whether the client-web component is referred to as a server or a client.



The web application used to be known as “eTiny”. Its name changed to “client-web” as Tiny ERP was renamed to OpenERP, but its characteristics have generally stayed the same.


PostgreSQL, the relational and object database management system.

It is a free and open-source high-performance system that compares well with other database management systems such as MySQL and FirebirdSQL (both free), Sybase, DB2 and Microsoft SQL Server (all proprietary). It runs on all types of Operating System, from Unix/Linux to the various releases of Windows, via Mac OS X, Solaris, SunOS and BSD.

These three components can be installed on the same server or can be distributed onto separate computer servers, if performance considerations require it.

If you choose to run only with GTK clients, you will not need the third component – the client-web server – at all. In this case, OpenERP's GTK client must be installed on the workstation of each OpenERP user in the company.