1.2.2 Centralizing Information in a Repository

Many traditional 3GL programs contain a great deal of redundant information about the application. Information such as a description of a field, its defaults and valid values may be stored in each separate program that uses a particular field. Rules such as referential table integrity or table relationships are often required. A large amount of the logic in programs is simply repeated business definitions and business validation rules.

The LANSA architecture helps to overcome these problems by centralizing the information about the business application in the LANSA Active Object Repository. It removes redundant code from the programming environment. It ensures that common business logic is shared and reused by storing it just once in a central location - the Repository. And because the LANSA architecture is open, the information in the LANSA Repository can also be used by other development tools.

Development with 1.4 LANSA RDML becomes much more productive because the development reuses the centralized definitions of objects in the Repository. RDML programs are much smaller and simpler as they do not duplicate information that has already been centralized in the Repository. You write significantly less code and are able to generate applications faster by re-using the information in the Repository.

The LANSA Repository simplifies maintenance because business changes can be made to the central definition in the Repository instead of changing each application program. In fact, the application program may not require any recompilation at all. Impact analysis, coding, and testing are all simplified due to LANSA's ability to centralize information.

While the benefits of a centralized Repository are clear, control must be maintained over the content to avoid the unexpected consequences of a change. It is necessary, therefore, to set up formal procedures, in advance, to over-see changes.

Also see

1.3.4 Controlling Repository Content

Repository Tutorials – Database definition and reusable application logic without code