Devo interfacciarmi con un'API di terze parti. Con questa API faccio una richiesta GET dal browser dell'utente finale e ricevo una risposta XML. Questi dati devono essere utilizzati in un'applicazione basata su browser in cui l'utente può cercarli, usarli per prendere decisioni, ecc. Il problema principale è che la maggior parte dei browser ha bloccato l'uso di XML tra domini, quindi non riesco semplicemente a ottenere l'XML dall'API.
I dati complessivi, tuttavia, sono sostanzialmente suddivisi in due set.
- Il primo set di dati è pubblico e deve essere aggiornato solo ogni tanto, quindi può essere memorizzato nella cache per tutti gli utenti sul lato server, alleggerendo notevolmente il traffico.
- Il secondo set di dati è privato e individuale per ciascun utente. Questi dati vengono inoltre aggiornati più frequentemente nell'API. Ciò porta la memorizzazione nella cache ad essere molto meno efficace.
Per motivi di scalabilità, vorrei mantenere il carico del server il più piccolo possibile.
Vedo due opzioni prima di me:
- Fornire un proxy che può essere utilizzato per instradare le richieste XML al server di terze parti e direttamente avanti e indietro tra client e API di terze parti.
- Chiedi al server di eseguire la conversione da XML a JSON e di eliminare le informazioni non necessarie. Ciò significa essenzialmente creare una nuova API per il nostro server, che si traduce in richieste dall'API di terze parti
Quale sarebbe il modo migliore per fornire i dati all'utente? (Non deve essere una delle due opzioni)