java - 与 REST Web 服务设计相比,使用 Direct Web Remoting 有何优势?

标签 java rest client-server enterprise dwr

我有一个部署在 tomcat 中的企业 Java Web 应用程序。 我正在寻找将 HTML 和 JS UI 与中间层 Java 代码集成的方法。到目前为止,环顾四周,我了解到有两种方法可以满足我的要求:

1) DWR - Direct web remoting

2) 使用 REST 网络服务。

我不确定使用哪种方法。

编辑:与其余 WS 设计相比,使用 DWR 有什么优势?

是否有更好的方法可用?有人让我看一下 GWT,但我不确定这些是否可扩展。

编辑 2:我很可能会使用 dojo 进行 UI 开发(与 REST/DWR 一起工作得很好??),并且我希望将 java 代码更改保持在最低限度。我知道通过使用 Web 服务,我必须在现有 Java 代码之上编写一个额外的 WS 客户端层。

此外,通常的企业需求、性能、可扩展性等。

最佳答案

好的,您正在为您的 Java 后端构建 Web 客户端前端,有几种方法可以解决这个问题:

  • 您想尽可能多地使用 java 标准,最好生活在 java EE 世界:JSF。您将需要一些 HTML、XML 甚至 javascript 的知识(虽然有限)。就我个人而言,我在使用 JSF+richfaces 时遇到了很多问题,以至于我不再使用它了。

  • 您非常熟悉 java 桌面应用程序开发,但对 javascript 了解不多:vaadin:它允许您使用桌面应用程序术语编写纯 java,这些术语将被编译为javascript。目前我正在从事一个大型 vaadin 项目,在 eclipse 中使用纯 java 是非常的,但缺点是您离实际的前端很远,因此调整可能很棘手。此外,所有内容都存储在 session (afaik) 中并且扩展性很差。

  • 您主要是一名具有无与伦比的 javascript 技能的前端人员:使用 Java 中的 REST 接口(interface)和纯 js/html/css 前端。就我个人而言,我认为这是最干净的设计,我已经设计了一些这样的应用程序。缺点是管理大型 javascript 项目往往很困难,因为......好吧......javascript 很烂。好处是,这将始终是您可用的最快、最轻量级的选项。

在意识形态上我肯定会建议最后一种方法,但这对于大型项目来说可能很难。如果您有足够的硬件投入使用,vaadin 是一个不错的选择。由于(必要的)第三方库(如 richfaces)中的错误,我的 JSF 2 体验有点令人失望。

PS:我从未听说过 DWR,但上一个稳定版本似乎已有 2 年历史,它似乎所做的只是将 java 代码公开为 javascript 方法,可以使用 REST 接口(interface)更好地处理。

关于java - 与 REST Web 服务设计相比,使用 Direct Web Remoting 有何优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720732/

相关文章:

iphone - 为 Rails 应用程序构建 iphone 客户端的最佳方法是什么?

java - codenameone REST API POST 请求正文

C:线程程序如何在同一个单核上比非线程程序运行得更快?

java - maven构建成功,但eclipse构建失败

python - Flask-restful API 不接受 json

java - 露天中的 Webscript 与 Java api

java - 在后台接收消息

javascript - 是否可以在服务器端使用前端 JS 框架和 Node.JS 来创建用于内容交付的 Web 服务?

java - Jmeter GUI在测试运行过程中突然卡住

java - Html.ImageGetter TextView