在GWT + phonegap应用程序中重用服务器代码,避免使用RPC

时间:2013-02-09 09:31:11

标签: gwt cordova gwt-rpc objectify mgwt

我们即将创建我们网页的移动版本。在该页面中,我们以服务方式使用RPC服务,不完全面向实体。所以我们将有两个客户端(网络和移动)呼叫一个服务器。

现在我们要重用所有支持多个客户端版本的服务器代码,并避免所有" dto版本地狱" RPC调用具有。

我已经看到我们需要创建一个包装器,即服务器中的另一个层,用于将方法暴露给移动版本(GWT + phonegap以及未来:IOS,Android ......)。稍后该层将重用所有服务器代码(模型,存储库等),在服务器中通过Objectify完成对BigTable的访问。

您将为这个新图层使用哪种技术?

1 个答案:

答案 0 :(得分:2)

对于移动应用程序,我喜欢在客户端和AutoBeans和Restful API上使用AutoBeans + RequestBuilder,它们(也)在服务器端生成JSON。

使用AutoBeans,您可以使用Java界面定义数据结构。 (这给你一些编程的东西)和AutoBeans在服务器和客户端上为你处理从Object到JSON以及从JSON到Object的转换。

结合使用,您可以构建一个非常快速且良好的架构RPC。 RequestFactory使用AutoBeans作为序列化的默认机制。

如果您决定支持其他平台,您仍然可以使用JSON并在那里解析它。如果您决定支持本机Android应用程序,则AutoBean机制应该在android vm上正常运行。

可以在此处找到AutoBeans的一个很好的示例:http://code.google.com/p/google-web-toolkit/wiki/AutoBean