2008-11-21 10 views
29

Я прихожу на фоне MoM. Я думаю, что я понимаю концепцию ESB. Тем не менее, я не слишком уверен в практических различиях между ними, когда речь заходит об архитектурном выборе.Ориентированное на сообщения промежуточное ПО (м.д.) Vs. Enterprise Service Bus (ESB)

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

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

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

Любая помощь была бы полезна.

ответ

38

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

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

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

Например, с открытым исходным кодом; Apache ActiveMQ обеспечивает слабосвязанный надежный обмен сообщениями. Затем вы можете использовать Apache Camel для реализации Enterprise Integration Patterns для умной маршрутизации, преобразования, оркестровки, working with other technologies и так далее.

2

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

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

0

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

MOM обеспечивает не только неразъемную муфту, но и процесс развязывания.

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

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

0

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

6

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

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

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

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

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

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

0

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

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