WS-ReliableMessaging描述了一种协议,在出现软件组件,系统或网络故障时,使得SOAP消息能够在分布式应用间能够可靠传送。
2003年3月,BEA Systems, 微软, IBM, TIBCO软件公司共同撰写了最初的规范,在随后的两年里进行改进。2005年6月,2005年3月的版本于被提交到OASIS的Web服务可靠交换(WS-RX)技术委员会,2007年6月14日,被批准成为OASIS标准,2009年2月2日,1.2版本被批准。
在WS-ReliableMessaging之前,OASIS曾提出过一个竞争的规范(WS-Reliability),该规范为富士通,日立,NEC,甲骨文公司,Progress Software和昇陽電腦所支持。这些支持者中的大多数现在也支持WS-ReliableMessaging规范。
源应用想在一个不可靠的基础设施上可靠地发送消息给目标应用。想要实现这一点,应用需要使用可靠消息源和可靠消息目标。源应用发消息给可靠的消息源。可靠的消息源使用WS-ReliableMessaging (WS-RM)协议来传送消息到可靠的消息目标。可靠的消息目标再将消息递交给目的应用。如果可靠的消息源因故无法传送消息到可靠的消息目标,它必须抛出一个异常或者其他方法标识该消息没有被传送出去。源应用和可靠的消息源可能实现在同一进程中或是不同的组件。类似的,目标应用和可靠的消息目标可能在一个进程中或不同的组件。
需要注意的是,WS-RM规范仅处理消息在线上传输的内容和行为。消息如何从源应用发送到可靠消息源,消息如何从可靠消息目标递送到目标服务,消息是在内存中存储,还是持久化在硬盘上,等等,这些考虑都不在WS-RM规范的范围内。
WS-RM协议定义和支持了集中递送保障,包括:
WS-ReliableMessaging使用SOAP和WSDL的可扩展性模型。WS-ReliableMessaging并没有定义一个完整的消息解决方案的所有特性。WS-ReliableMessaging是一块积木,与其他Web服务规范和应用特定的恶协议一同使用来构建完整的消息解决方案。
这篇文章 (页面存档备份,存于互联网档案馆)解释为什么可靠性不需要消息层提供,而是需要业务层提供。