Preciso fazer interface com uma API de terceiros. Com essa API, faço uma solicitação GET no navegador do usuário final e recebo uma resposta XML. Esses dados devem ser usados em um aplicativo baseado em navegador, onde o usuário pode pesquisá-los, usá-los para tomar decisões etc. O principal problema é que a maioria dos navegadores bloqueou o uso de XML entre domínios, por isso não posso simplesmente obter o XML da API.
Os dados gerais, no entanto, são basicamente divididos em dois conjuntos.
- O primeiro conjunto de dados é público e só precisa ser atualizado de tempos em tempos, para que possa ser armazenado em cache para todos os usuários no servidor, diminuindo consideravelmente o tráfego.
- O segundo conjunto de dados é privado e individual para cada usuário. Esses dados também são atualizados na API com mais frequência. Isso faz com que o cache seja muito menos eficaz.
Por motivos de escalabilidade, gostaria de manter a carga do servidor o menor possível.
Vejo duas opções diante de mim:
- Forneça um proxy que possa ser usado para rotear solicitações XML para o servidor de terceiros e diretamente entre a API do cliente e de terceiros.
- Faça com que o servidor faça a conversão de XML para JSON e retire informações desnecessárias. Isso significa essencialmente criar uma nova API para o nosso servidor, que se traduz em solicitações da API de terceiros
Qual seria a melhor maneira de fornecer os dados ao usuário? (Não precisa ser uma das duas opções)