Java和.NET应用程序互操作性
我有一个Java应用程序和一个.NET应用程序都位于两台不同的机器上,需要在这两个应用程序之间设计一个通信层。任何输入或想法都会非常有用。下面提到的是这两个应用程序之间交互的性质Java和.NET应用程序互操作性,java,.net,interop,Java,.net,Interop,我有一个Java应用程序和一个.NET应用程序都位于两台不同的机器上,需要在这两个应用程序之间设计一个通信层。任何输入或想法都会非常有用。下面提到的是这两个应用程序之间交互的性质 Java应用程序向.NET应用程序发送大量数据 数据延迟应保持在最低限度 .NET应用程序还应该能够请求某些数据(同步/异步) 使用Web服务是.Net和Java最容易交谈的方式——我们在我的公司已经取得了很大成功(在.Net端使用apache的cxf和标准代码) 但是,如果延迟和大小是主要要求,那么您应该使用套接字
- Java应用程序向.NET应用程序发送大量数据
- 数据延迟应保持在最低限度
- .NET应用程序还应该能够请求某些数据(同步/异步)
- 使用Web服务是.Net和Java最容易交谈的方式——我们在我的公司已经取得了很大成功(在.Net端使用apache的cxf和标准代码)
但是,如果延迟和大小是主要要求,那么您应该使用套接字—这两种平台都提供了相当广泛的套接字框架,并且它将为您提供尽可能最好的性能。我认为这可以通过在java端设置xml webservices层来实现。您可以将RestEasy用于restful web服务。只有我的0.2美分。我们在使用JAX-WS(Java 6中标准运行时的一部分)提供web服务方面有很好的经验。它们明确地将.NET兼容性列为目标,并且在IDE中得到了很好的支持
Endpoint.publish()机制允许小型、简单的部署。另一种选择是某种形式的MOM(面向消息的中间件)。有很多实现,但首先要看的可能是,它同时具有Java和C#绑定(以及其他绑定)
我并不是说这比使用web服务好,它完全取决于您的需求。您可以使用web服务。Jax-WS是java中允许您使用它的API。作为这个API的实现,我推荐metro(),它已经随SDK提供,并且与netbeans有很好的集成 正如已经有人提到的,您可以使用套接字,并在其上创建通信通道,但这有一些问题,从安全性开始。不要在实际应用中使用此选项 如果您需要这方面的帮助,您可以开始阅读以下内容:
这取决于您的要求。简单的方法通常是Web服务。但是,如果您希望在另一个平台上实现更高的性能或更细粒度的API访问,您可能需要考虑JNBridgePro(www. jnBig.com)。
披露:我在JNBridge工作。@Yedhu:你为什么不试试Web服务呢?