【问题标题】:What is the advantage of using Direct Web Remoting over a REST web services design?与 REST Web 服务设计相比,使用 Direct Web Remoting 有什么优势?
【发布时间】:2014-09-08 09:08:39
【问题描述】:

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

1) DWR - Direct web remoting

2) 使用 REST Web 服务。

我不确定使用哪种方法。

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

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

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

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

【问题讨论】:

  • 这些东西不一样。据我了解,您想为 Java 后端构建 HTML/JS 前端,并且想知道如何将两者连接起来? REST 绝对是这里的答案,结合 JSON。 (当然,除非您想更多地关注服务器端,在这种情况下您可以查看 JSF、Vaadin...)
  • 是的,这正是我想要的。我不确定我应该采用 REST 方式,还是使用 DWR。客户端开发领域的新手

标签: java rest client-server enterprise dwr


【解决方案1】:

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

  • 您希望尽可能多地使用 java 标准,最好生活在 java EE 世界中:JSF。您将需要一些 HTML、XML 甚至可能是 javascript(虽然有限)的知识。就我个人而言,我在使用 JSF+richfaces 方面有过相当糟糕的体验,以至于我不再使用它了。

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

  • 您主要是一个拥有无与伦比的 javascript 技能的前端人员:在 java 中使用 REST 接口和纯 js/html/css 前端。我个人认为这是最干净的设计,我自己设计了一些这样的应用程序。缺点是管理大型 javascript 项目往往很困难,因为……嗯……javascript 很烂。好处是这将始终是您可用的最快最轻量级的选项。

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

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

【讨论】:

  • 前端开发是可管理的,我目前发现选项 #3 非常适合我们的需求(可扩展性、性能、可靠性、代码维护、通常的企业需求等)。另一个选择是 DWR (directwebremoting.org/dwr/index.html),它看起来也很符合上述要求,但还没有找到任何具体的理由来选择其中任何一个。好点wrt DWR,会检查出来
【解决方案2】:

如果您使用框架分别构建 REST 客户端和 SOAP 客户端代码,则 REST 和 SOAP 等开放接口标准可以轻松构建使用这些服务的代码。但关键是你需要有这个客户端代码来调用这些服务。

另一方面,DWR 生成此客户端代码。您的 java 类已准备好被调用(就像您在 Java 中所做的那样)。

【讨论】:

    猜你喜欢
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 2010-09-24
    • 2010-12-27
    • 2015-04-06
    • 2013-05-09
    相关资源
    最近更新 更多