Java Message Service
Java Message Service (JMS) — стандарт промежуточного ПО для рассылки сообщений, позволяющий приложениям, выполненным на платформе J2EE, создавать, посылать, получать и читать сообщения. Часть Java Enterprise Edition.
Коммуникация между компонентами, использующими JMS, асинхронна (процедура не дожидается ответа на своё сообщение) и независима от исполнения компонентов.
JMS поддерживает две модели обмена сообщениями: «от пункта к пункту» и «издатель-подписчик».
Модель «от пункта к пункту» характеризуется следующим:
- Каждое сообщение имеет только одного адресата
- Сообщение попадает в «почтовый ящик», или «очередь» адресата и может быть прочитано когда угодно. Если адресат не работал в момент отсылки сообщения, сообщение не пропадёт.
- После получения сообщения адресат посылает извещение.
Модель «издатель-подписчик» характеризуется следующим:
- Подписчик подписывается на определённую «тему»
- Издатель публикует своё сообщение. Его получают все подписчики этой темы
- Получатель должен работать и быть подписан в момент отправки сообщения
История версий
ПО, поддерживающее стандарт JMS
Открытое программное обеспечение:
Проприетарные решения:
- TIBCO EMS
- Sonic MQ
- webMethods Broker Server
- WebSphere Application Server (IBM)
- IBM WebSphere MQ (IBM, бывший MQSeries)
- SAP NetWeaver WebAS Java JMS от SAP AG
- Oracle Weblogic
- Oracle Streams Advanced Queuing
- Sun Java System Message Queue, также доступный как Open Source
- Informatica
- RabbitMQ