This documentation uses several terms that must be clarified for a good
  understanding.
  
   
    - Product
 
    - The Product 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 Product; 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 Product. 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
     files.
 
   
   
    - Developer
 
    - The Developer is the person in charge of the conception and implementation of the
      Product components.
 
   
   
    - Application Data
 
    - Application Data defines the data manipulated by the Product. 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 C/S 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 C/S model.
 
   
   
    - Runtime System
 
    - The Runtime System is the software that manages the execution of the Programs, where the Business Logic is processed. It is
     typically implemented by the Dynamic Virtual Machine (DVM) and historically called "The
     Runner". It is the software managing the Processing in the Three-Tier C/S 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 ASCII terminals, graphical platforms (Microsoft™
     Windows™, X11) or even through web protocols like HTML
     over HTTP.
 
   
   
    - Workstation
 
    - The Workstation identifies the hardware used by the End User to interact with the Product. It can be an ASCII Terminal, a PC, a diskless
     station or even a cellular phone, as long as a Front
      End is available on that hardware.