WS-ReliableMessaging описывает протокол, который позволяет надежно доставлять сообщения SOAP между распределенными приложениями в присутствии отказов программного обеспечения, системы или сети.
Исходная спецификация была написана BEA Systems, Microsoft, IBM и Tibco и в марте 2003 г. и впоследствии уточняется в течение следующих двух лет. Версия от февраля 2005 г. была представлена Техническому комитету OASIS Web Services Reliable Exchange (WS-RX) в июне того же года. Полученный в результате WS-ReliableMessaging 1.1 был утвержден в качестве стандарта OASIS 14 июня 2007 г., а версия 1.2 была утверждена 2 февраля 2009 г.
До WS-ReliableMessaging OASIS разработал конкурирующий стандарт (WS-Reliability ), который был поддержан коалицией поставщиков; а именно Fujitsu, Hitachi, NEC, Oracle Corporation, Progress Software и Sun Microsystems. Большинство этих поставщиков теперь также поддерживают спецификацию WS-ReliableMessaging.
Источник приложения (AS) желает надежно отправлять сообщения в пункт назначения приложения (AD) через ненадежную инфраструктуру. Для этого они используют надежный источник сообщений (RMS) и надежное место назначения сообщений (RMD). AS отправляет сообщение RMS. RMS использует протокол WS-ReliableMessaging (WS-RM) для передачи сообщения в RMD. RMD доставляет сообщение в AD. Если RMS не может передать сообщение в RMD по какой-либо причине, он должен вызвать исключение или иным образом указать AS, что сообщение не было передано. AS и RMS могут быть реализованы в одном пространстве процессов или могут быть отдельными компонентами. Аналогично, AD и RMD могут существовать в одном и том же пространстве процессов или могут быть отдельными компонентами.
Важно помнить, что спецификация WS-RM имеет дело только с содержанием и поведением сообщений, когда они появляются «в сети». Как сообщения отправляются из AS в RMS, как они доставляются из RMD в AD, сохраняются ли сообщения на диске или в памяти и т. Д.; ни одно из этих соображений не входит в спецификацию WS-RM.
Протокол WS-RM определяет и поддерживает ряд гарантий доставки. Это:
WS-ReliableMessaging использует модель расширяемости SOAP и WSDL. WS-ReliableMessaging не определяет все функции, необходимые для полного решения обмена сообщениями. WS-ReliableMessaging - это строительный блок, который используется вместе с другими спецификациями веб-служб и протоколами для конкретных приложений для создания полного решения для обмена сообщениями.
В этой статье делается попытка обосновать, что надежность не требуется на уровне сообщений, а требуется на бизнес-уровне.