我们目前有一些使用DCOM相互通信的C++/MFC应用程序。现在我们将会升级这些应用程序,并且想要替换DCOM成更加现代化、更易于使用的东西。但是我们不知道该选什么。你认为呢?
编辑:
交换的数据并不是可能对其他人感兴趣的内容。这只是在不同计算机上运行的程序不同部分之间的状态信息。
编辑:
交换的数据并不是可能对其他人感兴趣的内容。这只是在不同计算机上运行的程序不同部分之间的状态信息。
有许多 C++ 消息库,从旧的 ACE 到新的像 Google 的 Protocol Buffers 或 Facebook (现在是 Apache) 的 Thrift 或 Cisco 的 Etch。
目前,我听说 ZeroMq 很不错,可能会给你更多你所需要的东西。
DCOM
不过是一个消息传递系统的糖衣包装。
任何一个合适的消息传递系统都可以,而且可以让你真正地发现消息交换的位置(这对于定位故障点/性能瓶颈很重要)。
现在有两种典型的方法:
我一直在使用C++和Java编写REST应用程序,感觉非常满意。相比CORBA和SOAP的复杂性,REST易于实现且灵活。我花了一些时间来学习将事物建模为CRUD,但现在看来这种方式更加直观。
对于C++方面,我没有使用特定的REST库,只是使用cURL和XML解析器(在我的情况下是CPPDOM),因为C++应用程序仅作为客户端,而服务器是Java(使用Restlet框架)。如果您需要一个库,这里有另一个问题推荐:
Can anyone recommend a good C/C++ RESTful framework
我还想提到我使用XML的决定是任意的,我正在认真考虑将其替换为JSON。除非您有特定的XML需求,否则JSON更简单、更轻量级。而REST的美妙之处在于,如果您愿意,甚至可以同时支持两者以及其他表示形式。