(Vaadin) interfaces developed with RapidClipse are based on the MVC concept (Model-View-Control), in which the graphical user interface consists of three separate layers:
- Model: Data container that holds the data for the data output and caches it in the main memory; e.g., the results of a database query or the return data provided by a web service call. In RapidClipse, the model can be populated with arbitrary data objects (beans), usually with entities (beans annotated with JPA).
- View: UI component that displays the data from the data container (Model) on the interface.
- Controller: Registers events on the UI component and responds to them (Events).
To display the data on the interface, a data container (model) has to be explicitly assigned to the UI component (View). This combination of the UI component and the data container is generally referred to as data binding. In RapidClipse, this connection can be achieved either programmatically or by simply using the drag and drop functionality in the GUI Builder.