REP000 - What is the LANSA Repository?

The Repository Concept

The LANSA Active Repository stores a vast range of information about applications in a central location.

LANSA's Repository architecture significantly reduces application coding because information is defined just once in a central location instead of being repeated wherever it is used in application programs. For example, a business rule for a field is defined once instead of in every program which uses that field.

In addition to bringing discipline to the development process, the repository also simplifies application maintenance because the centrally stored information is easy to find and change. Testing can be much faster and easier. Changes can often be made to the repository without impacting existing coded application logic.

For example, in a passive Repository, the field that stores a person's age may have a text description of "Employee Age". This description is used on a screen created for hiring a new employee or adding a new employee to the database.
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. This rule, and an error message, could be added to the Repository instead of to an employee hire program. When the program executes, the new rule would be enforced. This rule and text is immediately available to all screens that have the Employee Age field.

The Repository stores information about fields (or elements) in an application such as descriptions, column headings, edit codes, visualizations, default values, help text, prompt programs, etc. It acts like a data dictionary for your application. It also stores components which can be shared by applications.

In addition, the Repository stores information about the tables (or database files) such as physical tables, indexes, table relationships, table attributes, validation rules, trigger programs, etc.

Further, procedural information or business rules about the application in the form of validation rules, system variables, trigger and functions are stored in the repository.

Finally, LANSA offers some special Repository features such as multilingual definitions, virtual fields and predetermined join fields which simplify and accelerate development.

All information is stored in a non-platform specific format, which enables LANSA to build applications for IBM i, Windows and Linux deployment