LANSA (development environment)
LANSA is an integrated development environment (IDE) for building desktop, web and mobile software applications that can be deployed to Cloud, Windows, Linux and IBM i server platforms. The main feature of the LANSA environment is the 'RDML / RDMLX' language–which is classified as a 4GL (4th generation language). RDML closely follows the syntax of IBM CL, or Control Language. CL is the "scripting language" equivalent of the OS/400 operating system. In recent years RDML has been extended to become RDMLX. This new version of the language has extra features, commands, types, and functions that are used  in component development. RDML, on Microsoft Windows, integrates with ActiveX. In its first release in 1987, the product was called lambda. At that time solutions developed with RDML could be deployed to IBM S/38 and from 1988 onwards to the IBM AS/400 (iSeries, System i, now IBM i). Since 1992 LANSA has been deployed to multiple server platforms, including IBM i, Windows, Linux and also OS/2 and Unix. Business rules and data definitions repository. The LANSA development environment includes a metadata repository which is an enhanced type of data dictionary. The repository is a database that contains data and file  definitions, business rules, application templates, and RDML code. The repository stores information about fields (or data elements) in the application including descriptions, column headings, edit codes, visualizations, default values, help text, and prompt programs. It holds information about files and application database including physical files, logical files (or views), relationships, file definition attributes, file validation rules, trigger programs, multilingual definitions, virtual fields, and predetermined join fields. Objects and components used for event-driven Windows applications also reside in the repository. Applications share objects and logic from the repository and the repository is an active participant with the applications as both  the custodian of the data and business rule definitions, and the rule enforcer. Data management services. The data management services provide a data abstraction layer, similar to a data access layer, that separates the physical data from applications that use the data. Applications access data using data management programs generated from data definitions and business rules held in the repository. The data management programs know about the structure and relationships of the database and the business rules that control create, read, update and delete actions. When definitions and rules change the data management programs require regeneration but the applications that  use the data require no change. Applications are independent of data structures, formats and locations and access the data by issuing requests to the data management programs.