让.net客户端使用Java服务器提供的服务的最佳方法是什么?

让.net客户端使用Java服务器提供的服务的最佳方法是什么?,java,.net,interop,Java,.net,Interop,我在.net中有一个用户界面,需要在请求/回复/更新模型上从服务器接收数据。唯一的限制是仅在服务器盒上使用Java 实现这一目标的最佳方法是什么?是通过在Java中创建一个Webservice然后在.net中访问它,还是我应该创建Java代理并使用IKM在.net中转换它们?或者你有更好的主意吗?它可以是基于HTTP的,使用直接套接字连接或任何中间件。用Java编写web服务并在.net中访问它。使用标准类型的web服务(例如SOAP或XML-RPC)是最好的,因为它不仅易于生成/使用,而且在其

我在.net中有一个用户界面,需要在请求/回复/更新模型上从服务器接收数据。唯一的限制是仅在服务器盒上使用Java


实现这一目标的最佳方法是什么?是通过在Java中创建一个Webservice然后在.net中访问它,还是我应该创建Java代理并使用IKM在.net中转换它们?或者你有更好的主意吗?它可以是基于HTTP的,使用直接套接字连接或任何中间件。

用Java编写web服务并在.net中访问它。

使用标准类型的web服务(例如SOAP或XML-RPC)是最好的,因为它不仅易于生成/使用,而且在其他语言中也很容易。

我推荐web服务路线。它提供了一个标准接口,将来可供其他客户端平台使用

.NET客户端与Java web服务的交互非常好,尽管存在一些问题。为.NET客户端提供的最好的两种技术是微软Web服务增强(WSE)和Windows通信基金会(WCF)。WSE是一种较老的技术,Microsoft不再更新它,但它在VisualStudio2005及更老版本中仍然非常有效。我发现WSE在如何与基本服务交互方面更容易入门,但WCF对WS-*协议(安全性、信任等)的支持要多得多。如果您的需求是基本的,并且仍然在使用VisualStudio2005(.NETFramework 2或更早版本),那么就使用WSE。如果你喜欢最前沿的,或者你预计会有更高级的安全需求(听起来你不会),那么就选择WCF。请注意,WSE在VisualStudio2008及更高版本中无法轻松工作,而WCF在VisualStudio2005及更高版本中也无法工作

采用web服务路线意味着您将设计一个可重用的接口,并且在完成此设计后,将形成一个比大多数其他路线更松散耦合的系统。缺点主要是性能:xml序列化将比在线二进制更慢,web服务不能很好地处理大量数据