Mit RapidClipse entwickelte (Vaadin) Oberflächen basieren auf dem MVC-Konzept (Model-View-Control), bei dem die grafische Oberfläche aus 3 voneinander getrennten Schichten besteht:
- Model - Daten-Container, der die Daten für die Datenausgabe aufnimmt und im Hauptspeicher zwischenspeichert, z.B. das Abfrageergebnis einer Datenbankabfrage oder Rückgabedaten die ein Webservice-Call liefert. In RapidClipse kann das Model mit beliebigen Daten-Objekten (Beans) befüllt werden, i.d.R. mit Entities (mit JPA Annotation markierte Beans).
- View - UI-Komponente, welche die Daten aus dem Daten-Container (Model) auf der Oberfläche anzeigt.
- Contoller - Registriert Ereignisse auf der UI-Komponente und reagiert darauf (Events).
Um Daten auf der Oberfläche anzeigen zu können, muss der UI-Komponente (View) immer explizit ein Daten-Container (Model) zugewiesen werden. Diese Verknüpfung von UI-Komponente und Daten-Container wird allgemein als Databinding bezeichnet. In RapidClipse kann die Verknüpfung wahlweise programmatisch oder auf einfache Weise im GUI-Builder mit Drag-and-Drop erfolgen. Es gibt mehrere Möglichkeiten, Daten im UI anzuzeigen.