9 1 2 Web Component Architecture

LANSA Web Functions

9.1.2 Web Component Architecture

The Web component technology is really an extension of the LANSA Repository architecture. The Web component registry acts like a Web repository. It centrally defines and stores components which are used in the Web Function HTML pages.

The LANSA Repository centrally stores much of the information about the business application. This information is used by LANSA RDML functions. For example, screen layouts for RDML functions are based on the field definitions stored in the repository.

In much the same way, the LANSA Repository is used by the LANSA HTML pages which are generated from the RDML functions. The LANSA RDML function is used as the base for the pages while additional information for the HTML definitions are read from the LANSA Repository.

The LANSA Repository also interacts with the Web repository or Web component registry. For example, if a field has been defined with a drop down GUI characteristic, a Web component is automatically generated for the field and used in the page.

When the HTML is generated for a Web function, LANSA tags are used to embed the Web components from the registry. The Web components can be automatically added to the pages based on the field and component naming. For example, if a field DEPTMENT has a corresponding Web component DEPTMENT defined, this component will automatically be included into the HTML pages. With the Web repository/registry, the field will automatically have the same representation on all HTML pages. And if the representation is changed in the Web component registry, it will immediately be changed for all pages since the LANSA HTML is dynamically generated.

A key advantage of the Web component technology is that once the Web component is embedded into the generated page, the definition of the Web component can be changed without having to recompile the function or to edit the HTML page.

Many Web components will be manually created by the developer and then added to the HTML pages.