2010-09-03 47 views
4

好朋友,通信模型:C++和Java

我不得不建立C++和我的对象及其属性的交换应用的Java的层之间的通信信道的要求。

我有以下选项:

  1. XML/SOAP
  2. Postgre SQL

能否请你指点我的优点上这些缺点&。请分享您在实施复杂性方面的经验。

感谢, 的Gtk

+4

另一种选择是CORBA,它是为跨语言对象支持而设计的。 – babbitt 2010-09-03 18:43:04

+2

你能给我们提供你的应用程序的详细信息吗? – Alerty 2010-09-03 18:43:33

+1

你看过谷歌协议缓冲区吗? – naikus 2010-09-03 18:44:12

回答

1

如果选项是那些之间我会选择XML

对象< => XML

Java方面Simple,C++侧XML Objects

原因,其更简单为你想要的,即通过语言对象而不是数据库

啊,你能指定应用程序之间的沟通渠道吗?

UPDATE

如果你能使用JSON我会推荐它,而不是XML,here is why的。

+2

用于套接字和XML的+1! – SuperJames 2010-09-03 19:11:45

0

另一种选择是JMS。那里有C++客户端。

0

每当我看到XML,我都会想到RESTful Web服务。你提到的两个平台都有一些工具来编组解析XML。在野外有大量的工作实例,所以Google/Bing搜索很好。一个很好的副作用是一旦你建立了这些接口,任何东西都可以连接到它们。

如果你真的想要生成一个WSDL,然后随意去SOAP路线。但是,凭借几年的Web服务集成经验,与其他任何东西相比,RESTful都是如此简单。

+0

我认为SOAP是RESTful,或者至少支持这个概念? – aperkins 2010-09-03 19:13:18

+0

ack - 忽略我以前的评论。我当时是一个白痴,认为REST意味着比实际更普遍的方式。 – aperkins 2010-09-03 19:14:50

0

我想建议第三种选择:YAML

您已经在YAML解析库为Java和C++。根据我的经验,在YAML中调试XML中的交换更容易(特别是如果您有全文本字段或循环数据结构)。

0

我依赖于您传输的消息种类。

如果你的消息是个人实体有一个短暂的生活,我会去的XML,YAML或类似的东西。

如果您的消息包含稍后将要使用的信息并引用之前消息中的信息,我会使用数据库。