繁体   English   中英

在REST Web服务设计上使用Direct Web Remoting有什么优势?

[英]What is the advantage of using Direct Web Remoting over a REST web services design?

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

1)DWR- 直接Web远程处理

2)使用REST Web服务。

我不确定要使用哪种方法。

编辑:使用DWR优于其余WS设计的优点是什么?

有没有更好的方法? 有人要求我看看GWT,但是我不确定它们是否可扩展。

编辑2:我很可能会使用dojo来进行UI开发(与REST / DWR一起使用很好),并且我想使Java代码的使用保持最少。 我知道,通过使用Web服务,我将不得不在现有的Java代码之上编写一个额外的WS客户端层。

此外,通常的企业需求,性能,可伸缩性等。

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

  • 您希望尽可能使用Java标准,最好使用Java EE世界: JSF 您将需要一些HTML,XML甚至JavaScript知识(尽管有限)。 就我个人而言,我已经在使用JSF + richfaces时遇到了相当多的错误,直到我不再使用它为止。

  • 您非常熟悉Java桌面应用程序开发,但是对javascript不太了解: vaadin :它允许您使用将被编译为javascript的桌面应用程序术语编写纯Java。 目前我正在一个大vaadin项目,它是非常好的,在Eclipse中纯Java来工作,不足之处不过是你远离实际的前端去掉,这样的调整可能会非常棘手。 此外,所有内容都存储在会话(afaik)中,并且伸缩性很差。

  • 您主要是具有无与伦比的javascript技能的前端人员:在Java中使用REST接口和纯js / html / css前端。 我个人认为这是最简洁的设计,并且我已经设计了一些自己的应用程序。 缺点是管理大型javascript项目往往很困难,因为...好吧... javascript很烂。 好处是,这将始终是您可用的最快,最轻巧的选项。

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

PS:我从未听说过DWR,但最近的稳定版本似乎已经有2年了,它似乎要做的就是将Java代码公开为javascript方法,可以使用REST接口更好地处理它。

如果使用框架分别构建REST客户端和SOAP客户端代码,则REST和SOAP等开放式接口标准使构建使用这些服务的代码变得容易。 但关键是您需要使用此客户端代码来调用这些服务。

另一方面,DWR生成此客户端代码。 您可以随时调用Java类(就像在Java中一样)。

暂无
暂无

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

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