Programming with iApps LX¶
In iApps® LX, as with creating iControl LX extensions, the programming framework is based on creating REST endpoints. For more information on how to create iControl extensions, see Creating an iControl Extension.
iApps LX MVC Design Pattern¶
iApps LX provides a programmatic solution to the configuration of a BIG-IP® system and many other external systems. Similar to the Model-View-Controller (MVC) design pattern, iApps LX extensions consist of a data model (JSON template), a view, and controller (processors). The MVC pattern emphasizes the separation of the internal representation of information from the presentation of information, and iApps LX employs that pattern in the development of extensions. The analogy serves to highlight three distinct components of extensions: data models, processors, and views.
Model - JSON Template¶
Templates represent the data model in the design pattern. Templates are a JSON data block that represent the configuration values and their defaults. A template serves as the basis for the creation of block instances (which are deployable). Templates, in the JSON body, include a unique name and ID to identify the extension, as well as input properties. Templates are also used by the iApps LX BIG-IP GUI (the default view component) or to generate a custom GUI view.
View - GUI¶
Controller - Processors¶
The controller component of iApps LX is the iApps LX processors. The processors are iControl LX extensions that perform an action from defined block instance values. The configuration processor is required and the statistics and audit processors are optional.