For faster navigation, this Iframe is preloading the Wikiwand page for WS-ReliableMessaging.

WS-ReliableMessaging

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规范。

可靠消息模型

[编辑]
thrumb
thrumb

源应用想在一个不可靠的基础设施上可靠地发送消息给目标应用。想要实现这一点,应用需要使用可靠消息源和可靠消息目标。源应用发消息给可靠的消息源。可靠的消息源使用WS-ReliableMessaging (WS-RM)协议来传送消息到可靠的消息目标。可靠的消息目标再将消息递交给目的应用。如果可靠的消息源因故无法传送消息到可靠的消息目标,它必须抛出一个异常或者其他方法标识该消息没有被传送出去。源应用和可靠的消息源可能实现在同一进程中或是不同的组件。类似的,目标应用和可靠的消息目标可能在一个进程中或不同的组件。

需要注意的是,WS-RM规范仅处理消息在线上传输的内容和行为。消息如何从源应用发送到可靠消息源,消息如何从可靠消息目标递送到目标服务,消息是在内存中存储,还是持久化在硬盘上,等等,这些考虑都不在WS-RM规范的范围内。

WS-RM协议定义和支持了集中递送保障,包括:

  • 至少一次(AtLeastOnce) - 每一条消息将被递送到目标应用至少一次。如果一条消息无法被递送,可靠消息源或可靠消息目标至少有一个应当报错。例如,目标应用可能得到重复的信息。
  • 至多一次(AtMostOnce) - 每一条消息将被递送到目标应用不超过一次。消息可以没有被递送到目标应用,但目标应用决不能收到重复的消息。
  • 正好一次(ExactlyOnce) - 每一条消息将被递送到应用一次且仅一次。如果消息无法被递送,可靠消息源或可靠消息目标至少有一个应当报错。目标应用将不会受到重复的消息。
  • 按序(InOrder) - 消息将按照从源应用发送到可靠消息源的顺序,从可靠消息目标被递送到目标应用。这一保障包括了以上所有保障。

可组合的架构

[编辑]

WS-ReliableMessaging使用SOAPWSDL的可扩展性模型。WS-ReliableMessaging并没有定义一个完整的消息解决方案的所有特性。WS-ReliableMessaging是一块积木,与其他Web服务规范和应用特定的恶协议一同使用来构建完整的消息解决方案。

批评

[编辑]

这篇文章页面存档备份,存于互联网档案馆)解释为什么可靠性不需要消息层提供,而是需要业务层提供。

WS-ReliableMessaging的实现

[编辑]

参见

[编辑]

外部链接

[编辑]
{{bottomLinkPreText}} {{bottomLinkText}}
WS-ReliableMessaging
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?