DI (интеграция данных не «зависимо-впрыскивание») или подходы ETL, как правило, являются длинными работами в стиле пакетной обработки, чтобы приближаться к решению движущихся данных из системы A в систему B. ESB или легкий интеграционный подход обычно разбить задачу на более мелкие куски (блоки данных или отдельные события на элемент данных) и разрешить другим системам подписываться на поток данных - обычно через корпоративную систему обмена сообщениями - без воздействия на систему A, систему B или существующий проект кода. Это также означает, что в плане проекта не требуется требование зависимости от человека. Если система C приходит, они не обязательно требуют ресурсов от команды System B для доступа к потоку данных.
Существуют подходящие варианты использования, которые должны быть как в любой заданной среде. Тем не менее, по моему опыту (как правило, рекомендуют использовать лучшие данные/МДМ), если у вас есть исходный поток данных, какая-то другая система захочет также получить доступ к потоку данных в какой-то момент. Если возможность доступа к потоку данных без необходимости менять существующий код, системы или другие команды в вашей организации звучит полезно в вашем случае использования, то было бы неплохо спроектировать это для начала и идти с использованием подхода ESB. Это позволяет новым заинтересованным потребителям войти и не переписывать процесс, используемый существующими системами. ESB/облегченные системы интеграции, как правило, позволяют использовать этот шаблон более эффективно, чем инструменты DI/ETL.
Некоторые случайные мысли:
- поддержки ESB, что «одна плохая запись проблема», позволяя вам маршрут, что в очередь ошибок, чтобы иметь человека взглянуть на него, а затем переиздать
- ETL/DI, как правило, чтобы иметь прямолинейное преимущество скорости ускоренного пути
- ETL/DI начинает усложняться, как только вы пройдете мимо простого случая использования точки с точкой
- IMHO: ESB лучше поддерживают поддержку версий наборов данных, сервисов и модели данных.
- ETL/DI, как правило, имеет более зрелый UI для нетехнических пользователей для выполнения задач отображения данных
- ESB является действительно сильны в поддержке времени выполнения развязки систем. Если система B не работает, данные просто находятся в очереди до тех пор, пока она не вернется. Не долго не работает блокируя поток или риск того, чтобы перезапустить работу
- ESB имеет немного более высокую нарастанию кривую
- ETL/DI, как правило, приводит к ESB в конечном счете (большинство производителей предлагают как продукт DI и ESB)
Мэтт, ваш ответ более чем достаточно, но я хочу получить больше ответов здесь! – user34567