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 определяет и поддерживает ряд гарантий доставки. Эти:
- Хотя бы один раз
- Каждое сообщение будет доставлено в AD хотя бы один раз. Если сообщение не может быть доставлено, RMS и / или RMD должны выдать ошибку. Сообщения могут быть доставлены в AD более одного раза (т. Е. AD может получать повторяющиеся сообщения).
- AtMostOnce
- Каждое сообщение будет доставлено в AD не более одного раза. Сообщения могут не доставляться в AD, но AD никогда не будет получать повторяющиеся сообщения.
- Ровно один раз
- Каждое сообщение будет доставлено в AD ровно один раз. Если сообщение не может быть доставлено, RMS и / или RMD должны выдать ошибку. AD никогда не будет получать повторяющиеся сообщения.
- Чтобы
- Сообщения будут доставляться из RMD в AD в том порядке, в котором они отправляются из AS в RMS. Эта гарантия может быть объединена с любой из вышеперечисленных гарантий.
Составная архитектура
WS-ReliableMessaging использует модель расширяемости SOAP и WSDL . WS-ReliableMessaging не определяет все функции, необходимые для полного решения обмена сообщениями. WS-ReliableMessaging - это строительный блок, который используется в сочетании с другими спецификациями веб-служб и протоколами для конкретных приложений для создания полного решения для обмена сообщениями.
Критика
В этой статье делается попытка доказать, что надежность не требуется на уровне сообщений, а требуется на бизнес-уровне.
История
- WS-ReliableMessaging 200303, созданный BEA, IBM, Microsoft и Tibco.
- WS-ReliableMessaging 200403, созданный BEA, IBM, Microsoft и Tibco.
- WS-ReliableMessaging 200502, созданный BEA, IBM, Microsoft и Tibco. Эта версия спецификации была реализована рядом поставщиков и проектов с открытым исходным кодом. Иногда его называют «WS-ReliableMessaging 1.0» или «WS-RM 1.0».
- Эта спецификация и сопутствующая ей политика WS-RM 200502 были представлены Техническому комитету OASIS Web Services Reliable Exchange (WS-RX) для стандартизации в июне 2005 года.
- WS-ReliableMessaging 1.1 является продуктом вышеупомянутого WS-RX TC. Он сопровождается спецификациями WS-RM Policy 1.1 и WS-MakeConnection 1.0 .
- Все три спецификации были утверждены в качестве стандартов OASIS 14 июня 2007 года.
- WS-ReliableMessaging 1.2 Версия заменяет ссылки на предварительные стандартные версии WS-Policy ссылками на рекомендацию WS-Policy W3C ( WS-Policy 1.5 ) и исправляет некоторые незначительные ошибки. Он сопровождается спецификациями WS-RM Policy 1.2 и WS-MakeConnection 1.1 .
- Все три спецификации были утверждены в качестве стандартов OASIS 2 февраля 2009 г.