General terms used in this documentation

This documentation uses several terms that must be clarified for a good understanding.

Application
The application defines all software components that compose the information system managing a given domain. Usually, the domains covered by programs written in BDL are business oriented.
End user
The end user is the person that uses the application; that person works on hardware called the workstation.
Programs
The programs are the software components that are developed and distributed by the supplier of the application. Programs typically implement business rules and processing, usually called business logic. Programs are executed by the runtime system on the application server machine. These components are typically p-code modules, forms and additional resource files.
Developer
The developer is the person in charge of the conception and implementation of the application components.
Application data
Application data defines the data manipulated by the application. It is typically managed by one or more database systems. The application data has a volatile state when loaded in the runtime system, and it has a static state when stored in the database system.
Database
The database is a logical entity regrouping the application data. It is managed by the database system.
Database system
The database system is the software that manages data storage and searching; it is usually installed on the database server machine and is supported by a tier software vendor. It is the software managing the data in the three-tier client / server model.
Development database
The development database is the database used in the application development environment.
Production database
The production database is the database used on production sites.
Front end
The front end is the software that manages the display of the user interface on the workstation machine. This component is historically called "the client", in a thin client/server context. It is the software managing the presentation in the three-tier client/server model.
Runtime system
The runtime system is the software that manages the execution of the programs, where the business logic is processed. The runtime system is implemented as the dynamic virtual machine (DVM) and historically called "the runner". It is the software managing the processing in the three-tier client / server model.
User interface
The user interface defines the parts of the programs that interact with the end user, including interactive elements like windows, screens, input fields, buttons and menus. It is displayed on the workstation. This can typically be implemented by different kinds of front ends, based on dumb terminals, graphical platforms or through web protocols like HTML over HTTP.
Graphical user interface
The graphical user interface (GUI) mode identifies the user interface displayed on a remote machine via a front end. The GUI mode is active when the FGLGUI environment variable is set to 1 (or when not set, GUI is the default).
Text user interface
The text user interface (TUI) mode identifies the user interface displayed on dumb terminals (TTY on UNIX™ or Console Window on MS Windows™). The TUI mode is active when the FGLGUI environment variable is set to 0.
Workstation
The workstation identifies the hardware used by the end user to interact with the application forms. It can be an dumb terminal, a computer, or even a cellular phone, as long as a front end is available on that hardware.