程序设计问题

时间:2013-04-08 13:22:59

标签: msmq nservicebus

大家好日子,

我有一个程序设计问题(或问题),我很乐意得到一些反馈。

这是我的情况: 我有

  • 计算机A正在运行的软件A.
    • 软件A具有不同的状态(空闲,处理,打印......)
  • 运行管理软件B的计算机B
  • 这些软件在两台不同的机器上。

我真正需要的是运行软件B的计算机能够告诉我们软件A的状态。

我希望软件A在状态发生变化时向软件B发送某种信号(消息)。我还希望软件A在软件B请求它时发送它的状态。

我一直在考虑在两者之间使用NService Bus或MSMQ,但是软件B可能位于不在当前网络上的计算机上(它可能位于其网络上的“公司办公室”)。除了列出的两种方式之外,还有其他方法可以实现我想要的吗?

非常感谢任何帮助。

谢谢,

2 个答案:

答案 0 :(得分:1)

查看NSB中的Gateway功能。这将允许站点之间的HTTP通信,并将支持您的所有方案。

答案 1 :(得分:0)

这就是我的看法:

  • 软件A是服务器
  • 软件B(管理软件是客户)

良好的设计应始终确保服务器永远不会自行发送内容。我将开发一个简单的基于HTTP的协议(REST API或 Web服务,如果你想完美地和W3C标准),远程查询软件A.这样您甚至可以开发在浏览器中运行的客户端软件。客户端可以通过防火墙和代理连接,因此您只需确保软件A的请求在公司内部得到适当的转发。

我无法阅读其他约束,但如果你只需要监控状态,那么这就足够了。为避免轮询,您可以使用WS-Eventing