【发布时间】:2012-07-31 20:26:14
【问题描述】:
美好的一天。我正在开发一个带有数据库的网站,该数据库将使用 Spring/Hibernate 包托管在云中。我还需要开发一个能够管理远程数据库的桌面应用程序。我一直在选择适当的方法来实现远程访问。 JAX-WS、RMI、Spring HttpInvoker 或任何其他方法?我应该选择哪一个?为什么?
【问题讨论】:
标签: java spring jakarta-ee architecture
美好的一天。我正在开发一个带有数据库的网站,该数据库将使用 Spring/Hibernate 包托管在云中。我还需要开发一个能够管理远程数据库的桌面应用程序。我一直在选择适当的方法来实现远程访问。 JAX-WS、RMI、Spring HttpInvoker 或任何其他方法?我应该选择哪一个?为什么?
【问题讨论】:
标签: java spring jakarta-ee architecture
我会为这个特定任务选择 JAX-WS/SOAP。
与 RMI 等二进制协议不同,它可以轻松通过公司代理和防火墙。它具有安全机制(WS-Security)、事务和会话支持,我认为这对数据库远程管理很重要。
它还具有比任何其他远程访问方法/API/框架更好的工具/IDE 支持。
【讨论】:
在dao层之上创建一个服务层,使其成为WS。从您的 Web 应用程序和桌面应用程序调用 WS 以使用您的数据库操作。
【讨论】:
尽管我的前辈们给出了有价值的答案,但我希望您分析一下您正在构建的系统有多复杂,以及该系统将拥有多少不同环境的客户。我的意思是,如果有其他应用程序,使用与 Java 不同的技术编写的话。如果是这样,最好的解决方案是 JAX-WS。 Web 服务是标准化的,可以在各种环境中使用,而不仅仅是 Java EE。但是,如果您要构建一些仅由您的应用程序使用的特定系统,那么 RMI 应该就足够了。
【讨论】: