Many development tools have some form of a Repository. This Repository may simply be a central place to store application source code and information which is used ONLY to compile application programs. This type of Repository is designed to simply allow information to be reused when recompiling the application. It is a passive Repository and has limited benefits to the application developer.
However, an ACTIVE repository is used in both the building and execution of the applications. It is dynamic and it is used when the application executes. Being dynamic also means that changes made to the Repository can be immediately reflected in the application without having to rebuild program code.
For example, in a passive Repository, the field that stores a person's age may have a text description of "Employee Age" which is stored in the Repository. This description is used on a screen created for hiring a new employee or adding a new employee to the database and the age range validated by the program.
However, in an active repository, the Employee Age field can have a validation rule added which says an employee must be at least 16 years old. By adding this rule to the Repository instead of the hire an employee program, when the program executes, the rule would be enforced by the active repository. As well, help text can be added just once in the central location. This text is immediately available on all screens which have the Employee Age field.
An active repository provides real benefits to the development because of its architecture. Active repositories introduce an execution component into the overall application program architecture. Also, a greater amount of information can be stored in the Repository and this information can be shared by other applications. Application maintenance is reduced and developer's productivity is increased.
LANSA is one of the few application development tools which provides an Active Repository!