Wir entwickeln eine REST-API, die unter anderem von einem HTML5-Frontend via Javascript genutzt werden soll. Die Anwendung ist für die Verwendung in der Organisation vorgesehen und hat normalerweise etwa 300 Benutzer. Wir möchten jedoch eine Skalierung auf etwa 1000 Benutzer vornehmen.
Normalerweise werden Verbindungen zur API innerhalb des LAN hergestellt, sodass die Qualität und die Latenz der Verbindung gut sind. Es ist jedoch nicht ausgeschlossen, dass gelegentlich Verbindungen über das Internet langsamer und mit mehr Verzögerung über 3G / 4G hergestellt werden.
Die zwei Optionen, die wir dachten, sind:
Das Frontend ruft mehrere gleichzeitig asynchrone API-Aufrufe auf, um die verschiedenen Komponenten der Schnittstelle zu laden.
- Vorteile: Einfachheit.
- Nachteile: Mehr Verbindungen zum Server.
Der Controller des Frontends ruft einmalig die API auf und übergibt als Parameter, welche Objekte abgerufen werden müssen.
- Vorteile: Nur eine Verbindung zum Server, obwohl der Server mehrere Verbindungen zur Datenbank herstellt.
- Nachteile: Erfordert Mechanismen sowohl im Frontend als auch in der API. Es erschwert das Design.
Weitere Erklärungen: Es gibt verschiedene Ressourcen ... / Produkt ... / Standorte usw. Diese Ressourcen könnten alleine abgerufen werden, aber es gibt eine andere abstrakte Ressource ... / Bildschirm? Produkt & Standorte, die beide in einem Aufruf abrufen.