我们应该用什么取代DCOM通信?

时间:2011-08-19 12:45:15

标签: c++ com mfc dcom

我们目前有许多通过DCOM相互通信的C ++ / MFC应用程序。现在我们将更新应用程序,并且还希望用更现代的东西替换DCOM,这样更容易使用。但我们不知道是什么。你怎么想

修改

交换的数据不是其他人可能感兴趣的。它只是在不同计算机上运行的程序的不同部分之间的状态信息。

4 个答案:

答案 0 :(得分:3)

有许多C ++消息库,从旧ACE到新的Protocol Buffers或Facebook(现在的Apache)Thrift或思科的Etch

目前,我听到ZeroMq的好消息可能比你以前给你更多。

答案 1 :(得分:2)

DCOM只不过是在涂抹系统上涂糖。

任何正确的消息传递系统都可以,并且可以让您实际发现交换消息的位置(这对于在等待中本地化故障点/性能瓶颈可能很重要)。

现在有两种典型的方法:

  • 纯粹的消息系统,例如使用Google Protocol Buffers作为交换格式
  • Web服务(JSON中的完整Web服务或REST API)

答案 2 :(得分:1)

我使用REST在C ++和Java上做了很多应用,我非常满意。 REST远非复杂的CORBA和SOAP,易于实现且灵活。我有一些学习曲线,用于将事物建模为CRUD,但现在看起来更加直观。

现在,对于C ++方面,我不使用特定的REST库,只使用cURL和XML解析器(在我的情况下,CPPDOM),因为C ++应用程序只是客户端,服务器是Java(使用Restlet框架) )。如果你需要一个,那么SO的另一个问题就是建议:

Can anyone recommend a good C/C++ RESTful framework

我还提到我决定使用XML是任意的,我正在认真考虑用JSON替换它。除非您特别需要XML,否则JSON更简单轻巧。 REST的优点在于,如果您愿意,您甚至可以同时支持这两种表示。

答案 3 :(得分:-1)

这取决于很多因素。它可以简单地由 .NET remoting 代替。此外,如果您打算以更标准的方式为其他组件提供服务, Web服务将是一个很好的选择。