Мне нужно интерфейс со сторонним API. С помощью этого API я делаю GET-запрос из браузера конечного пользователя и получаю XML-ответ. Эти данные должны использоваться в браузерном приложении, где пользователь может выполнять поиск по ним, использовать их для принятия решений и т. Д. Основная проблема заключается в том, что большинство браузеров заблокировали междоменное использование XML, поэтому я не могу просто получить XML из API.
Общие данные, тем не менее, в основном разбиты на два набора.
- Первый набор данных является общедоступным, и его нужно обновлять только так часто, чтобы его можно было кэшировать для всех пользователей на стороне сервера, что значительно снижает трафик.
- Второй набор данных является частным и индивидуальным для каждого пользователя. Эти данные также обновляются в API чаще. Это приводит к тому, что кэширование становится гораздо менее эффективным.
Из соображений масштабируемости я хотел бы сохранить нагрузку на сервер как можно меньше.
Я вижу перед собой два варианта:
- Предоставьте прокси-сервер, который можно использовать для маршрутизации XML-запросов на сторонний сервер и напрямую между клиентом и сторонним API.
- Попросите сервер выполнить преобразование из XML в JSON и удалить ненужную информацию. По сути, это означает создание нового API для нашего сервера, который транслируется в запросы от стороннего API
Каков наилучший способ предоставления данных пользователю? (Не обязательно должен быть один из двух вариантов)