Как Мы Работаем С Каталогами На Интеграционной Шине



Принципы решения При интеграции корпоративных систем возникает задача управления справочными данными.

Для решения этой проблемы часто используется Master Data Management (MDM).

MDM — это хранилище, содержащее «справочные» справочные данные, так называемые «золотые записи».

Каталоги в MDM содержат чистые, полные и согласованные данные.

MDM часто используется как платформа для централизованного управления каталогами.

Справочные данные вводятся и проверяются в MDM, а затем реплицируются в ИТ-системы.

У этого подхода есть несколько проблем

  • Создать эталонную модель данных, подходящую для всех систем, непросто.

  • Справочные данные становятся отключенными от приложений.

  • Репликация данных из MDM часто требует серьезных модификаций системы.

    Для готовых систем такие модификации могут стоить очень дорого.

Другой подход заключается в том, что каждая бизнес-система хранит каталоги локально и организует ввод данных.

При обмене сообщениями между системами интеграционная шина осуществляет преобразование из формата одной системы в формат другой.

При этом происходит преобразование справочных данных.



Преобразование на интеграционной шине.

Мы используем второй подход. Все взаимодействия между бизнес-системами происходят через интеграционную шину.

Шина (в нашем случае Oracle Service Bus) преобразует сообщение, которое отправляет система Поставщика, в сообщение, понятное системе Потребителя.

Это преобразование включает в себя отображение значений каталогов.

Данные о том, как каталоги сопоставляются между системами, хранятся в реляционной базе данных, в нашем случае Oracle. В таблицах будет записано, как получить значение в другой системе из значения каталога в одной системе.

То есть некая структура: (исходная_система, исходное_значение, допустимое_от, допустимое_до, целевая_система, целевое_значение) Данные в справочниках меняются очень редко, но используются очень часто.

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

Для кэширования мы используем Когерентность Oracle .

Это очень и очень платный продукт. Однако в этом случае все его мегафункции не используются, поэтому его можно заменить бесплатным решением (например, ореховый оттенок ).

Вы можете прочитать больше о согласованности Здесь .

Кроме того, лицензия на согласованность включена в различные пакеты Oracle Suite. Использование кэша имеет очевидные преимущества:

  • данные хранятся в памяти
  • данные хранятся в сериализованном виде
  • данные могут быть проиндексированы
  • синхронизация с базой данных может осуществляться асинхронно
Кэш распределенный, а синхронизацию между узлами осуществляет сама Coherence. Когда сервер добавляется или удаляется, кластер перебалансирует данные между узлами.



Как мы работаем с каталогами на интеграционной шине

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

При запуске Oracle Service Bus внутри JVM создается кеш, в котором данные хранятся в памяти.

Каждый физический сервер имеет сервер когерентности, который хранит каталоги (в памяти и на диске) и синхронизируется с базой данных.

Во время преобразования рабочий процесс osb обеспечивает согласованность посредством вызова Java. Доступ также возможен через вызов Enterprise Java Bean. Теги: #когерентность #интеграция приложений #информационная шина #oracle #java #системный анализ и проектирование

Вместе с данным постом часто просматривают: