我们正在设计一个主要基于云的应用程序。实际上,应用程序的所有特性都将是.NET MVC 4。
然而,应用程序中有两个元素需要驱动两个特定的硬件,两者都通过USB。
我们将为这两个硬件设备,包括Mac和Windows,创建必要的驱动程序。
问题是,基于浏览器的应用程序需要与在客户端安装和运行的驱动程序对话。
这是一个多站点推出,因此服务器端需要与不同的客户端进行实时通信。
例如,让我们看一个假想的场景来说明这个问题。
“外部托管的基于云的安全系统。需要与特定建筑的门上的门锁通话。”
驱动程序将在客户端PC/Mac上以Daemons或Services的形式运行。
我很高兴在服务器上运行的后端应用程序与驱动程序或前端web应用程序(java/html)之间进行通信,以便与驱动程序对话(如果可能的话)。
它还需要跨浏览器和跨平台工作,所以Flash、Silverlight和ActiveX都脱离了方程(幸运的是!)
什么是健壮的、可扩展的和性能良好的解决方案?在浏览器上发出请求到命中设备驱动程序的命令之间需要很少的延迟时间。例如,在web应用程序中发出命令,需要10秒才能到达驱动程序,这是不可接受的。
因此,我们需要某种可靠的客户机-服务器服务总线,可以快速跨云工作。
考虑:我们正在考虑AWS作为托管环境。AWS是否具有此体系结构所需的客户端服务器服务总线?如果我确实使用了Amazon路由,这会满足我的需要:http://aws.amazon.com/sns/吗?
另一个考虑因素: JavaScript能否在客户机上触发可由守护进程/服务获取的内容?这将是一个非常简单的解决方案,因为几乎没有延迟。我知道有很多安全限制(原因很明显),所以我不知道JavaScript能够在客户机上做什么。它只需将一个XML命令发送到我正在运行的服务。
希望有人能给我建议。
发布于 2012-12-12 22:03:52
这可能是对RabbitMq之类的东西的一种很好的利用吗?网络客户端与RabbitMq对话,哪个与适当的现场客户端对话?
我不知道SNS,但看起来像兔子一样。如果你是在亚马逊网站上托管的话,这可能是一条路。
让网络客户端与驱动程序客户端对话,会给web客户端带来太多的责任,海事组织。让它只需要处理与消息代理的交谈,让它处理通知订阅者。
注:我不是这方面的专家,但由于没有人比我更聪明地张贴,我觉得这是值得的一个职位。基本上,我认为你的本能(亚马逊SNS)是对的。
https://stackoverflow.com/questions/13842998
复制相似问题