您能否就如何最好地确保两个应用程序(一个在C#中,另一个在Java中)与在交换数据方面高效兼容,能给我一些建议吗?你遇到过任何陷阱吗?

该场景是指向的,一个主机是服务提供商,另一个是服务消费者。

有帮助吗?

解决方案

查看 protobuf 数据交换格式。 .NET实现也是可用

其他提示

描述性数据的JSON和一般数据类型的XML。如果这对您来说效率不高,则需要使用自己的编解码器来处理 C#和Java之间的字节排序差异

我不是专注于特定的技术,而是我可以给出的最佳建议是花时间专注于两者之间的接口(无论是Web服务,数据库还是其他完全不同的东西)。例如,如果它是Web服务,请专注于创建清晰的WDSL文档。接口,接口,接口。在大多数情况下,尝试忽略每端的特定技术,在一些原型设计之外,以确保两种语言都支持您的选择。

此外,在主要障碍之外,不要关注效率。注重清晰度。你可能会有两个团队(即不同的人)在这个界面的任何一端工作。确保他们正确使用它比使事情变得更快更重要。

如果您将Java作为Web服务器,则可以使用Jax-WS( https:// jax -ws.dev.java.net/ )为.Net创建webservices和WCF以连接到Java Webserver ..

你可以使用像XML这样的东西(并不总是那么高效),或者你需要提出自己的专有二进制格式(高效但更多的工作)。我从XML开始,如果带宽成为问题,你总是可以切换到专有的二进制格式。

类似SOAP (维基百科)的内容受到C#和Java的支持。

我们的Web接口使用C#/ VB.Net,胖客户端使用Java。我们使用XML和Web服务在数据库和应用程序服务器之间进行通信。它运作得很好。

确保您使用定义良好的协议来传达数据,并编写测试以确保应用程序根据合同做出响应。

这是一个如此广泛的问题,但我建议关注适用于这两个平台的标准; XML或其他一些标准形式的序列化,如果需要互操作,则使用REST进行服务。

如果使用XML,您实际上可以将数据访问外部化为XPath语句,这些语句可以存储在两个应用程序使用的共享资源中。这是一个开始。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top