Я размещаю решения MOM и ESB на двух разных плоскостях.
Я считаю MOM строительным блоком для решений ESB. Фактически решения ESB достигают своих собственных возможностей слабой связи и асинхронной связи, просто используя парадигму, предлагаемую конкретной реализацией MOM.
Таким образом, MOM представляют решения для распределения данных / событий на настроенном уровне QoS (в соответствии с реализацией конкретного поставщика), вместо этого ESB представляют решения, предоставляющие возможности для реализации сложных оркестровок в сценарии SOA (где у нас есть несколько поставщиков, предлагающих свои услуги и множество потребителей, заинтересованных в использовании услуг, предлагаемых первыми).
Сложные оркестровки подразумевают связь между унаследованными системами, каждая из которых имеет свое собственное представление предметной области (правила и службы для конкретных данных) и собственную парадигму взаимодействия (один потребитель взаимодействует с ESB с использованием CORBA, другой - с использованием WS, и т. на).
Очевидно, что ESB представляет собой более сложное архитектурное решение, нацеленное на обеспечение абстракции шины данных (например, электронных шин, которые есть у каждого на своем компьютере), способных подключать множество поставщики услуг для нечетко определенного множества потребителей услуг, скрывая неоднородность в (i) представлении данных и (ii) связи.
Извините за длинный пост, но понятия сложны, и очень сложно быть эффективным и действенным в коротком изложении.