繁体   English   中英

与 Java EE 服务器通信的最佳实践

[英]Best practice to communicate with Java EE server

我们有一个 Swing 应用程序。 现在我需要设置一个 Java EE 服务器,为 LAN 上的这些 Swing 客户端提供一些服务。

考虑到客户端和服务器以两种方式进行通信,实现这一点的最佳实践是什么?

如果客户端在 LAN 中并且您正在对双方进行编程,我会采用 RMI。 因为它的性能比 Web 服务高得多。 我认为这是与 Java EE 服务器进行通信的本机方式。

也许您应该在提供服务的服务器端创建外观类。

将 JAX-RS 与JerseyApache CXF与 XML 或 Z0ECD11C1D7A23BB87402F8D148 等实现结合使用是一个不错的选项7A 数据格式。

如果您需要灵活性,可以使用 go 和Spring 远程处理,因为它抽象了远程处理层,因此最终更改实现可以让您保持清洁。

I use HTTP Invoker , beacuse it's lightweight and uses java serialization, so it's a good choice for Java client -> Java server communication.

与 RMI 相比,HTTP Invoker 的缺点是您总是从服务器获取对象的新实例,因此如果从客户端发送的 object 在服务器上发生更改,则更改不会反映在客户端实例中。

好信息在这里: 选择技术时的注意事项

我建议使用Webservices

  • RMI - 这对于 Java 应用程序来说非常好,但它的一般互操作性非常低。 如果我想象您想从 Swing 切换到其他技术或添加另一个未用 Java 编写的客户端,那么 RMI 将是一场噩梦。

  • Web 服务- 它不包括双向通信。 It's fine for Swing - Java EE, but you would have to do also some WS (or any other exposing mechanism) on Swing side which would take care of Java EE - Swing communication. 例如,像 Java EE 上的 REST 和 Swing 上的 XML-RPC。

您也可以考虑使用ESB

I would suggest Spring RPC or maybe EJB 3 if you have a Java EE server and prefer to stick to standards of Java EE specification Web Services are not binary and therefor will suffer from performance issues.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM