@mustafo

Как правильно организовать общение между несколькими приложениями?

В микрофинансовой организации должны функционировать несколько систем: CRM, Бухгалтерия, Core Banking, Личный кабинет клиента и т.д.

Сейчас эти системы находятся на стадии разработки. Стоит задача организовать оптимальное и надежное общение между этими системами.

Например: CRM, CB и Личный Кабинет имеют свои базы. В каждой из этих баз есть таблица клиентов. Если например клиента создали в CRM, он должен автоматически появиться в CB и в ЛК. То же самое с обновлением и удалением клиента.

Чтобы не писать для каждой пары (CB <-> ЛК, CRM <-> CB, ...) интеграцию, планируется разработать некое приложение-наблюдатель, которое будет в центре и отправлять получаемые сообщения подписчикам. Таким образом каждое отдельное приложение не будет знать о существовании другого. Если приложению нужно о каком-то событии кого-то уведомлять, то он просто отправляет сообщение наблюдателю об этом событии. Наблюдатель в свою очередь информирует остальных приложений о полученном сообщении и если кто-то из них хочет это событие обратобать, то в нем должен быть код-слушатель. То есть это некий Observer Design Pattern на уровне комплекса приложений.

Вопрос на каких технологиях это "приложение-наблюдатель" разработать? Или есть ли какие-нибудь готовые решения? Можете ли порекомендовать другой, более оптимальный подход к решению этой задачи?
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
Losted
@Losted
Software Architect
Любая очередь, в зависимости от ваших требований и языков. Можете тут поизучать сравнение по производительности и посмотреть небольшое описание некоторых популярных очередей: https://softwaremill.com/mqperf/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@VekaVeka
MQ
Ответ написан
Комментировать
@eUdaloff
Разработчик из мира Java
Описанная задача может решаться при помощи использования связующего ПО такого, как сервисная шина данных предприятия. Данный софт существует с начала 2000-х, и написано про него уже много чего и где. Начать можно, как обычно, с википедии, со статьи . Прочитайте её и на английском.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы