Il mio progetto attuale fa parte di un'architettura altamente collegata, con singoli sistemi che possiedono determinati dati e li espongono RESTfully. Sia i nostri servizi Web che la nostra interfaccia utente sfruttano questo collegamento, memorizzando collegamenti alle risorse in altri sistemi anziché memorizzare una copia dei dati e presentando viste composite recuperando lo stato corrente di tali risorse.
Ad esempio, il mio sistema potrebbe essere responsabile di un annuario di persone (non sto utilizzando i nostri dati reali e le relazioni qui, ovviamente). Le persone sono di proprietà di un altro sistema e forse dispongono di informazioni di contatto (indirizzi e-mail, numeri di telefono, maniglie di twitter, ecc.). Tali informazioni di contatto potrebbero essere archiviate in un altro sistema che contiene dettagli sul numero di telefono o sull'indirizzo email.
Per presentare una vista nell'interfaccia utente, devo quindi recuperare i miei dati e seguire i collegamenti per presentare i dettagli appropriati di questi altri sistemi. Potrei memorizzare nella cache alcune parti di queste informazioni ma probabilmente vorrai recuperare i dettagli più recenti.
In alcune delle mie pagine, ho un numero ragionevolmente basso di ricerche per fare questo tipo di arricchimento dei dati. In altre pagine, sto presentando molte più informazioni e finisco con un'esplosione di dati quando ottengo una lista, espandi ogni elemento, espandi ciascuno di questi e così via. Ho provato a fornire un servizio che fa questa aggregazione e restituisce tutti i dati necessari alla vista in un'unica risposta. Tuttavia, non sono sicuro che questo sia il modo più pulito per fornire questo.
Qualcuno può suggerire alcune strategie per determinare quando dovrei usare direttamente le richieste AJAX per recuperare questi dati? A che punto dovrei passare dalle singole richieste a fornire servizi aggregati per costruire i dati? O c'è qualche altra tecnica che potrei applicare?