events - 如何使用RESTful Web服务创建异步通知系统?

标签 events rest messaging notifications message

我有一个Java应用程序,可通过RESTful Web服务使用。我想创建一种机制,以便客户端可以注册事件通知。问题是不能保证客户端程序将是Java程序,因此我将无法为此使用JMS(即,如果每个客户端都是Java应用程序,那么我们可以允许客户端订阅JMS主题并在那里收听通知消息)。

用例大致如下:


客户端通过RESTful Web服务调用向我的服务器应用程序注册自己,表明无论何时更新特定对象,客户端都希望获得通知消息。
当感兴趣的对象更新时,我的服务器应用程序需要向所有有兴趣将此事件通知的客户端发出通知。


如前所述,我知道如果所有客户端都是Java应用程序,我将如何做-设置一个主题,客户端可以侦听通知消息。但是,我不能使用这种方法,因为很可能许多客户端将无法收听JMS主题的通知消息。

在座的任何人都可以启发我解决这个问题的方法吗?我可以使用RESTful API提供什么机制?

最佳答案

我可以想到四种方法:


Twitter方法:您注册客户端,然后使用GET定期进行回调,以检索所有通知。
客户端描述了发出注册请求时希望如何接收通知。这样,您可以允许可以处理JMS的人使用JMS,而不能使用JMS的人可以使用电子邮件或类似的方法。
在注册请求期间输入URL,并在收到通知时分别回发到每个客户端。几乎没有Pub / Sub,但效果将相似。当然,您会假设客户正在侦听这些通知,并已根据您的规范实施了客户。
购买IBM WebSphere MQ(MQSeries)。有史以来最好的IBM产品。不是REST,但是它非常适合像这样的多平台集成。

关于events - 如何使用RESTful Web服务创建异步通知系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1093900/

相关文章:

c# - Winforms:为什么事件在设计时触发?

rest - 不使用 HTTP 基本身份验证时 HTTP 401 未经授权?

c# - 有没有办法通过 C# 中的 Type.InvokeMember 或消息调用窗体或类的私有(private)函数?

javascript - 不根据时间触发一次调整大小事件

vb.net - 使用 ASP :RadioButton 触发 OnCheckedChanged 事件

javascript - 阻止某些事件监听器为事件触发,但允许父监听器触发

rest - API设计: how to handle third party's APIs errors

c# - ASP.NET Web API MVC 4 中带有特殊字符的自定义参数名称

iOS 实现消息系统

iphone - iPhone 4 每秒可以发送多少条 Objective-C 消息?