2012-07-13 69 views

回答

0

如果您在服务器上使用Java,那么与使用autobeans或GWT-RCP相比,我在写这篇文章。尤其如此,如果你不是。

最简洁的方法是REST-RPC/JPA,您可以在其中共享客户端,服务器和持久性数据库之间的一组POJOS。让我代表这种技术组合吹嘘 - 一组POJO,而不是三组,在三条战线之间没有任何(或最小的)转换。

您不应该编写任何数据转换例程。或者至少,由于序列化约束或者因为您试图将GWT和REST与呈现高度不可序列化的现有架构进行接口,所以只有极少量的数据转换。

与GWT-RPC类似,在两个客户端服务器端共享一组Java RPC方法。那么,几乎相同的一套方法。除了服务器端的返回类型成为客户端的回调通用参数。

技术的组合是:

  • JAX-RS(或者RestEasy的或泽西在服务器端)
  • JAX-RS + GWT = RestyGWT在客户侧
  • JPA上服务器端
  • JAXB通过JAX-RS在GWT客户端和服务器端。
  • 服务器端的Jackson JSON处理器。对于REST-RPC

令人信服的理由是

  • 你可以假装你编写客户端 - 服务器会话作为GWT-RPC。服务界面和回调态度是一样的。
  • 客户端和服务器之间的数据交换采用JSON。
  • 这意味着您可以使用浏览器代替您的GWT客户端在成功设置应用程序后与服务器交谈。或者jQuery。或者PHP或者Python作为服务器。
  • 无需自己琢磨JSON或XML编码/解码 - 处理POJO并仅在POJO中处理。
  • 您可以使用独立于GWT客户端的Web服务browser to debug

REST的态度是(除了状态独立请求)是一个称为Web API的概念。也许是像javadoc这样的API--但是用JSON或XML表示。关于这个API的好处是 - 你不必生成文档。就像一个javadoc,你可以通过服务接口运行Enunciate。

您可以在以下(3+部分)博文中关注我的讨论: http://h2g2java.blessedgeek.com/2012/07/gwt-with-jax-rs-and-jpa-part-3.html