Stiamo sviluppando un'API REST che tra l'altro verrà consumata da un frontend HTML5 tramite javascript. L'applicazione è destinata all'uso all'interno dell'organizzazione e di solito ha circa 300 utenti, ma vogliamo ridimensionare fino a circa 1000 utenti.
Normalmente le connessioni all'API verranno effettuate all'interno della LAN, quindi la qualità e la latenza della connessione saranno buone, sebbene non sia escluso un uso occasionale su Internet in cui le connessioni potrebbero essere più lente e con un ritardo maggiore tramite 3G / 4G.
Le due opzioni che abbiamo pensato sono:
Il frontend effettuerà 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 passando come parametri quali oggetti devono essere recuperati.
- Pro: solo una connessione al server, sebbene il server effettuerà diverse connessioni al database.
- Contro: richiede meccanismi sia nel frontend che nell'API. Ciò complica il design.
Ulteriori spiegazioni: Ci saranno diverse risorse ... / Prodotto ... / Posizioni ecc. Queste risorse potrebbero essere recuperate da sole, ma ci sarà un'altra risorsa astratta ... / schermo? Prodotto e posizioni che recupereranno entrambi in una chiamata.