我有一个Java应用程序和一个.NET应用程序,它们都驻留在两台不同的机器上,需要在这两个应用程序之间设计一个通信层。任何输入或想法都会非常有用。下面提到的是这两个应用程序之间的交互性质。
答案 0 :(得分:6)
最简单的方法.Net和Java可以谈论的是使用Web服务 - 我们在公司取得了很大的成功(在.Net方面使用apache的cxf和标准代码)。
但是如果延迟和大小是主要要求,那么你应该使用Sockets - 这两个平台都提供了相当广泛的socketing框架,它可以为你提供最好的性能。
答案 1 :(得分:1)
我认为这可以通过在java端设置xml webservices层来完成。您可以使用RestEasy来提供宁静的Web服务。只是我的0.2美分。
答案 2 :(得分:1)
另一种替代方案是某种形式的MOM(面向消息的中间件)。有很多实现,但首先要看的可能是ActiveMQ,因为它同时具有Java和C#绑定(等等)。
我并不是说这比使用网络服务更好,这完全取决于您的要求。
答案 3 :(得分:0)
我们在使用JAX-WS(Java 6中的标准运行时的一部分)提供Web服务方面有很好的经验。他们明确地将.NET兼容性列为目标,并且在IDE中得到很好的支持。
Endpoint.publish()机制允许小型,简单的部署。
答案 4 :(得分:0)
您可以使用Web服务。 Jax-WS是java中的API,允许您使用它。作为此API的实现,我建议使用metro(http://metro.java.net/),这已经与SDK一起提供,并且与netbeans有很好的集成。
正如有人提到的那样,您可以使用套接字,并在其上创建一个通信通道,但这有一些问题,从安全性开始。不要在现实生活中使用它。
如果您需要有关此主题的帮助,可以开始阅读: Getting started with JAX-WS
答案 5 :(得分:0)
这实际上取决于您的要求。简单的方法通常是Web服务。但是,如果您希望在其他平台上获得更高的性能或更精细的API访问权限,您可能需要考虑JNBridgePro(www.jnbridge.com)。
披露:我为JNBridge工作。