Сообщение Ориентированного Промежуточного (Мама) Против. Сервисная шина предприятия (ESB)
Я происхожу из прошлого мамы. Я думаю, что понимаю ESB концептуально. Однако я не слишком уверен в практических различиях между ними, когда речь заходит о выборе архитектуры.
Вот что я хочу знать
1) любые хорошие ссылки в интернете, которые могут помочь мне в этом отношении.
2) Может ли кто-нибудь сказать мне, где имеет смысл использовать одно над другим?Любая помощь была бы полезна.
6 ответов:
Обмен сообщениями имеет тенденцию концентрироваться на надежном обмене сообщениями по сети; использование очередей в качестве надежного балансировщика нагрузки и тем для реализации публикации и подписки.
ESB обычно имеет тенденцию добавлять различные функции помимо обмена сообщениями, такие как согласование, маршрутизация, преобразование и посредничество.
Я бы рекомендовал прочитать о шаблонах интеграции предприятия , которые дают обзор общих шаблонов, которые вы будете использовать в интеграции проблемы, которые все основаны выше шины сообщений (хотя могут быть использованы с другими сетевыми технологиями тоже).
Например, используя open source; Apache ActiveMQ обеспечивает слабо связанный надежный обмен сообщениями. Затем вы можете использовать Apache Camel для реализации корпоративных интеграционных схем для интеллектуальной маршрутизации, преобразования, оркестрации, работы с другими технологиями и т. д.
Я помещаю решения MOM и решения ESB на две различные плоскости.
Я считаю маму строительным блоком для решений ESB. На самом деле, решения ESB достигают своих собственных возможностей свободной связи и асинхронной связи, просто используя парадигму, предлагаемую конкретной реализацией MOM.
Таким образом, Mom представляют решения для распределения данных / событий на настраиваемом уровне QoSs (в соответствии с конкретной реализацией поставщика), а ESBs представляют решения, обеспечивающие возможности реализовать сложные оркестровки в сценарии SOA (где у нас есть несколько поставщиков, предлагающих свои услуги, и несколько потребителей, заинтересованных в потреблении услуг, предлагаемых первыми).
Сложные оркестровки подразумевают связь между унаследованными системами, каждая из которых имеет свое собственное представление предметной области данных (правила и сервисы для конкретных данных) и свою собственную коммуникационную парадигму (один потребитель взаимодействует с ESB с помощью CORBA, другой-с помощью WS и и так далее).
Очевидно, что ESB представляет собой более сложное архитектурное решение, направленное на обеспечение абстракциишины данных (такой как электронные шины, которые каждый имеет в своем собственном ПК), способной соединить множество поставщиков услуг с не вполне определенным множеством потребителей услуг, скрывая неоднородность в (i) представлении данных и (ii) коммуникации.Извините за длинный пост, но понятия сложны и очень трудно быть эффективный и действенный в коротком заявлении.
ESB обычно представляет собой слой, который направляет, регистрирует, преобразует и выполняет другие "технические" (т. е. не деловые) функции над сообщениями. Он может обрабатывать сообщения из системы обмена сообщениями (например, что-то на основе JMS), или он может работать с другими типами сообщений (например, веб-службы на основе SOAP). В этом отношении он более общий, чем мама.
Отказ от ответственности: я являюсь консультантом IBM WebSphere - хотя я не участвую здесь в официальном качестве.
ESB с веб-сервисами в своем истинном виде обеспечивает приложение свободной связью путем отправки данных через один из элементов сообщения.
MOM обеспечивает не только применение свободной связи, но и процесс свободной связи вдоль.
ESB поставляется с дополнительными функциями, поддерживающими подход, ориентированный на управление.
Оба могут использоваться независимо или вместе в зависимости от сценария.
IBM и Oracle имеют сертификаты SOA. Поскольку они являются лидерами на рынке (Gartner Magic Quadrant), я бы прочитал о том, как они определяют SOA и ESBs (наряду с методологией и компонентами, необходимыми для поддержки SOA, такими как управление, реестр и т. д.)
EBS - это просто еще одно модное слово, как и SOA 2.0.
Вы можете легко реализовать систему ESB с обычными веб-сервисами с очередью за ними. Вы можете иметь маршрутизацию сообщений и или оркестровку с SOA 1.0 (Tibco, BizzTalk), одна вещь не останавливает другую на самом деле. Что еще более важно, важную роль в данном случае играют семантика сообщений, которыми обмениваются в системе. Сообщения как события, являются триггерами о чем-то, что произошло в вашем система, поэтому контекст другой.