SAPUI5 Model-Typen – eine Übersicht
Welche Model-Typen gibt es eigentlich in SAPUI5? Was unterscheidet diese und wann verwende ich was? Wenn Sie sich diese Fragen stellen, finden Sie in diesem Blogbeitrag die Antworten.
OData-Model
Das OData-Model ermöglicht das Binding von UI Elementen direkt an Daten aus einem OData-Service. Das bedeutet: Sie können Daten aus einem SAP-Backend ohne weiteres umformen direkt an die Oberfläche binden. Das OData-Model unterstützt dabei alle Binding Modes. So können Sie je nach Anwendungsfall bei Änderungen in der View unterscheiden, ob diese auch direkt im Model verändert werden sollen, oder erst einmal im Model die unveränderten Daten bleiben sollen. Achtung: Das Two-Way Binding ist nur für einzelne Properties möglich, nicht für Aggregationen!
OData-Model V2
Beim OData-Model wird außerdem zwischen dem V2 und dem V4 Model unterschieden. Da das V2-Model bereits länger im Einsatz ist, werden Sie in der Praxis vermutlich meist auf dieses stoßen. Weiterführende Informationen zum V2 Model finden Sie hier.
OData-Model V4
Im Rahmen der Entwicklung des V4-Models wurde aus Gründen der Vereinfachung auf viele aus V2 bekannten Methoden verzichtet. Prüfen Sie daher vor einer Neuentwicklung mit diesem Model bitte unbedingt in der API, ob Ihre benötigten Funktionen unterstützt werden.
JSON-Model
Das JSON-Model ist im Gegensatz zum OData-Model ein clientseitiger Model-Typ. Das bedeutet, die enthaltenen Daten liegen nicht zwangsläufig im Backend vor. Da alle Daten im Client vorliegen, sollten Sie auch auf die Größe der Datensätze achten, da große Datenmengen auch merkliche Performanceeinbußen bedeuten können. Unterstützt werden auch hier alle Binding-Modes.
Anbieten tun sich JSON-Models vor allem für Daten, die nicht im Backend benötigt werden – oder für Daten aus dem Backend, die zwischen Datenbeschaffung und Anzeige aufbereitet oder verändert werden müssen.
XML-Model
Wie auch das JSON Model ist das XML-Model ein clientseitiges Model. Auch bei diesem Model-Typ werden alle Binding-Modes unterstützt. XML-Models werden allerdings im Vergleich zu JSON-Models kaum genutzt, da die meisten Daten, die im Client vorliegen, ohnehin in JSON-Format sind. XML-Models werden daher vor allem genutzt, um Daten im Client schon vorher in Form eines eigenen XML-Model-Files mit bestimmten Werten festzulegen.
Resource-Model
Das Resource-Model unterstützt als einziges Model nur das One-Time-Binding und ist damit nur für sehr wenige Anwendungsfälle geeignet. Da die Daten nur einmalig aus dem Model an die View gebindet werden, eignet sich dieser Model-Typ vor allem für die Verwaltung von vorher festgelegte und statischen Ressourcen. Begegnen wird Ihnen dieser Modeltyp in der Praxis hauptsächlich im i18n-Model, das die Texte der Oberflächen in den entsprechenden Sprachen enthält.
Custom-Model
Zusätzlich können Sie sich ein Custom-Model erstellen, wenn keines der verfügbaren Modells alle benötigten Anwendungsfälle abbildet.
Anbieterunabhängige Beratung zur digitalen Personalakte
Sie möchten die digitale Personalakte in Ihr Unternehmen integrieren? Wir finden für Sie die richtige Software.
Fragen?
Bei Fragen zu den einzelnen Model-Typen aus diesem Blog wenden Sie sich gerne an mich! Darüber hinaus empfehle ich Ihnen auch einen Blick in die anderen Blogartikel aus unserer SAPUI5-Reihe.