The architecture of InstantView® essentially consists of 3 layers:
These layers are brought together in the CyberEnterprise® business OS, which interprets InstantView, displays the interface - if necessary also on a web client - and realises the orthogonal persistence of the model classes.
The instances of the C++ classes can be kept transient in RAM or persistent in the database. The Runtime layer passes the data from the database to the GUI, but is also responsible for the entire control flow and the message bus.
| Separating the visualisation from the model is in line with the MVC concept, but with slightly different and more far-reaching objectives: The program code of the enterprise model stands for stable, highly reusable functionality that reflects general knowledge of the application area and is rarely subject to change.
In contrast, InstantView® Scripting is intended to describe the special features of a specific application so that individually adapted software can be assembled from standard components. An InstantView® script is not only the user interface of an application, but also provides the 'connectors' (flexible relations between objects, check input data before passing it to a model object, ...).
InstantView® scripts can be organised as modules or apps, which are encapsulated and whose properties are inheritable. Each module should always be responsible for certain tasks (e.g. maintenance of customer data), i.e. it is a sub-application in itself.
Modules communicate with each other via the message bus provided by the Runtime.
The entirety of all application modules is referred to as AppsWarehouse®, a warehouse of partial applications from which one can assemble the desired application solution as desired.