Что службы обмена сообщениями, такие как JMS, предлагают поверх стандартных рабочих процессов производителя / потребителя?
Масштабируемость, доступность, прозрачность, управляемость. При двухточечной связи отправитель привязывается к получателю и наоборот. Вы, как разработчик приложения, несете ответственность за то, чтобы думать, что делать, когда увеличивается трафик и вносить необходимые изменения. Ваше приложение должно знать среду, в которой оно работает, и должно изменяться каждый раз, когда среда изменяется. Вы вынуждены изобретать велосипед, решая типичные проблемы с обменом сообщениями, например, временные заторы (что делать, если потребитель не может идти в ногу с производителем на некоторое время?). Вы должны предоставить свои собственные средства мониторинга текущей ситуации, если что-то не работает, как ожидалось. Список можно продолжить ...
Теперь представьте, что вам нужно подключить 10 различных систем таким образом. Очевидно, вам нужно придумать достаточно универсальное решение, чтобы не реализовывать каждую логику подключения с нуля & mdash; это было бы ужасно дорого производить, не говоря уже о его сохранении. JMS-брокер сообщений - одно из таких общих решений.
В частности, для какого типа приложений требуются платформы обмена сообщениями корпоративного уровня?
Сложно, короче. Я работаю в компании, которая имеет сеть из примерно 70 систем, некоторым из которых 30 лет. Новые системы добавляются в сеть с течением времени, и старые системы не нужно менять, и новые системы не должны знать о древних протоколах обмена данными & mdash; централизованный кластер брокеров сообщений может перевести сообщение JMS в какой-то формат сообщения мэйнфрейма, о котором я понятия не имею, и таким же образом с ответом.