Промежуточное ПО, ориентированное на сообщения (MoM) Enterprise Service Bus (ESB)

StackOverflow https://stackoverflow.com/questions/309374

Вопрос

Я родом из МЗ. Я думаю, что я понимаю ESB концептуально. Однако я не слишком уверен в практических различиях между ними, когда дело касается архитектурного выбора.

Вот что я хочу знать

1) Любые хорошие ссылки в Интернете, которые могут помочь мне в этом.

2) Может кто-нибудь сказать мне, где имеет смысл использовать один над другим.

Любая помощь будет полезна.

Это было полезно?

Решение

Обмен сообщениями имеет тенденцию концентрироваться на надежном обмене сообщениями по сети; использование очередей в качестве надежного балансировщика нагрузки и разделов для реализации публикации и подписки.

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

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

Например, используя открытый исходный код; Apache ActiveMQ обеспечивает слабосвязанный надежный обмен сообщениями. Затем вы можете использовать Apache Camel для реализации Шаблоны корпоративной интеграции для интеллектуальной маршрутизации, преобразования и оркестровки, работа с другими технологиями и т. д.

Другие советы

Я размещаю решения MOM и ESB на двух разных плоскостях.

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

Поэтому MOM представляют решения для распределения данных / событий на настроенном уровне QoS (в соответствии с реализацией конкретного поставщика), вместо этого ESB представляют решения, предоставляющие возможности для реализации сложных оркестровок в сценарии SOA (где у нас есть несколько поставщиков, предлагающих свои услуги и множество потребителей, заинтересованных в использовании услуг, предлагаемых первыми).

Сложные оркестровки подразумевают связь между унаследованными системами, каждая из которых имеет свое собственное представление предметной области (правила и сервисы для определенных данных) и собственную парадигму взаимодействия (один потребитель взаимодействует с ESB с использованием CORBA, другой - с использованием WS, и т. д. на).

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

Извините за длинный пост, но понятия сложны, и очень сложно быть эффективным и действенным в коротком изложении.

ESB, как правило, представляет собой уровень, который маршрутизирует, регистрирует, преобразует и выполняет другие «технические» (т.е. некоммерческие) функции для сообщений. Он может обрабатывать сообщения из системы обмена сообщениями (например, на основе JMS) или работать с сообщениями других типов (такими как веб-службы на основе SOAP). В этом отношении он более общий, чем МО.

Отказ от ответственности: я являюсь консультантом IBM WebSphere - хотя я не участвую здесь в официальном качестве.

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

MOM обеспечивает не только слабое сцепление, но и слабое сцепление.

ESB поставляется с дополнительными функциями, поддерживающими ориентированный на управление подход.

Оба могут использоваться независимо или вместе, в зависимости от сценария.

IBM и Oracle имеют сертификаты SOA. Так как они являются лидерами на рынке (Gartner Magic Quadrant), я прочел о том, как они определяют SOA и ESB (вместе с методологией и компонентами, необходимыми для поддержки SOA, такими как управление, реестр и т. Д. И т. Д.)

EBS - это еще одно модное слово, как и SOA 2.0.

Вы можете легко внедрить систему ESB с обычными веб-сервисами с очередью за ними. С SOA 1.0 (Tibco, BizzTalk) вы можете осуществлять маршрутизацию и / или оркестровку сообщений, одно не мешает другому. Что еще более важно, именно семантика, данная сообщениям, которыми обмениваются в системе, играет важную роль, в данном случае события. Сообщения как события - это триггеры о том, что произошло в вашей системе, поэтому контекст другой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top