Stiamo sviluppando un'API REST che tra l'altro verrà utilizzata da un frontend HTML5 tramite javascript. L'applicazione è per uso all'interno dell'organizzazione e di solito ha circa 300 utenti, ma vogliamo scalare bene fino a 1000 utenti circa.
Normalmente le connessioni all'API saranno effettuate all'interno della LAN, quindi la qualità e la latenza della connessione saranno buone, sebbene non sia escluso un uso occasionale su Internet dove le connessioni potrebbero essere più lente e con più lag via 3G / 4G.
Le due opzioni che abbiamo pensato sono:
-
Il frontend eseguirà diverse chiamate asincrone simultanee all'API per caricare i vari componenti dell'interfaccia.
- Pro: semplicità.
- Contro: più connessioni al server.
-
Il controller del frontend effettuerà una singola chiamata all'API che passerà come parametri quali oggetti devono essere recuperati.
- Pro: solo una connessione al server, sebbene il server effettui diverse connessioni al database.
- Contro: richiede meccanismi sia in frontend che in API. Complicano il design.
Ulteriori spiegazioni: Ci saranno diverse risorse ... / Prodotto ... / Luoghi ecc. Queste risorse potrebbero essere recuperate da sole, ma ci sarà un'altra risorsa astratta ? ... / schermo del prodotto & Sedi quello recupererà entrambi in una chiamata.