Предположим, у нас есть базовая система, основанная на Spring Boot (назовем ее A), которую теперь необходимо расширить для взаимодействия с другим внешним сервисом (назовем его B) через RESTful либо асинхронно, либо синхронно, отправивJSON-запрос с телом, содержащим XML-файл.
В связи с этим, какова наилучшая / наиболее эффективная практика для ее решения с учетом того, что вся архитектура разделяется и разрабатывается для микросервисов?
Я вижу 4 решения:
a) Служба A отправляет запросы во внешнее приложение, развернутое как микросервис, который получает тело JSON и переводит его внутренне в запрос с телом XML, а затем отправляет его в службу B
b) СлужбаA использует модуль «Адаптер или Соединитель», который является дополнительным модулем помимо основного модуля приложения, а затем, используя этот модуль, преобразует всю логику в JSON с телом, содержащим XML, а затем подключается к Сервису B
c) То же, что и точкаb) но точное приложение генерируется / создается основным приложением, и адаптер просто подключается к службе B без какого-либо анализа тела JSON с логикой тела XML.
d) Адаптер / Соединитель - это библиотека jar, добавленная в качестве зависимости от базовой системы, чтобы при импорте основная система была такой же, как в пункте b)
Пожалуйста,имейте в виду, что в будущем будет требоваться подключение к Сервису B из другого внешнего приложения, чтобы использовать в основном тот же API, что и Сервис A.
Надеюсь, вам это понятно, и я буду признателен за любыесоветы.