INTRODUCTION TO MODEL DRIVEN ARCHITECTURE
This chapter describes Compiere's Model Driven Architecture and the Data Dictionary functionality in Compiere.
In the majority of applications, the developers have to design code and test every screen. Compiere uses the more advanced concept of a central active data dictionary, to simplify this task.
THE DATA DICTIONARY
Compiere's data dictionary is at the meta data layer, and knows how to access data and how data is related. The data dictionary contains definitions of a data entity (type, validation, etc.), how it is displayed (label on screens reports, help, display sequence position relative to other fields), and the display rules. Security and access rules are also maintained here.
The data at runtime is context sensitive. For example: it 'knows' that a counter sale does not have a payment term and does not display it. It also knows that there must be stock available even if the inventory record shows zero (because, say, a material receiving has not been processed). However if the user changes the transaction type to a standard order, a payment term becomes a mandatory part of the transaction and the transaction recognizes the "out of stock" situation.
The Data Dictionary is user extensible and can include user specified rules and information. This enables authorized users to add new tables and new screens and additional fields to existing screens. All added items are automatically able to be listed and reported using the standard reporting functionality available throughout the whole application.
WINDOWS, TABS, AND FIELDS
The Window, Tab & Field Window defines the presentation of tables and columns within each window.

WINDOW
The Window Tab defines each window in the system. The default flag indicates that this window should be used as the default Zoom windows for the tables in this window.
WINDOW ACCESS
The Window Access Tab defines the Roles which have access to this Window.
TAB
The Tab Tab defines each Tab within a Window. Each Tab contains a discrete selection of fields. Note that the display and read only logic is evaluated when loading the window.
FIELD
The Field Tab defines the Fields displayed within a tab. Changes made to the Field Tab become visible after restart due to caching. If the Sequence is negative, the record are ordered descending. Note that the name, description and help is automatically synchronized if centrally maintained.
FIELD TRANSLATION
Fields are automatically translated, if centrally maintained. You only need to translate not centrally maintained Fields.