У меня есть требование интегрировать сотни (на основе SOAP) различных систем в мой сервис. Функциональное назначение, достигаемое с помощью этих интеграций, одинаково для всех служб, хотя их полезная нагрузка и аутентификация могут отличаться.
Подход 1
Создание заглушек из wsdl
(каждой службы), заданные значенияк нему и призываем.
Рассмотрение сотен сервисов для интеграции, создание заглушек и написание кода отображения, я вижу, является повторяющейся работой. Есть ли способ избежать этого и написать обобщенный код, который может создавать полезные нагрузки мыла для разных сервисов на основе некоторых внешних конфигураций? Так что внедрение нового сервиса - это просто конфигурация. Возможно ли это с jax-ws
клиентом?
Подход 2
Реализация каждой интеграции как отдельного микросервиса - каждый сервис становится самостоятельным ресурсом в отношении API - скройте эти сервисы выше с помощьюAPI-шлюз - например
- / api / aggregate / {
resource
} / счет (где resource
является одним из интегрированных сервисов)
Хотя я склоняюськ approach-2
, я вижу, что этот подход может стать довольно сложным для управления, поскольку количество служб, необходимых для существенной интеграции, увеличивается.
Что вы думаете по этому поводу? Я полагаю, что многие сталкивались с такими ситуациями в своем проекте.