我们即将创建我们网页的移动版本。在该页面中,我们以服务方式使用RPC服务,不完全面向实体。所以我们将有两个客户端(网络和移动)呼叫一个服务器。
现在我们要重用所有支持多个客户端版本的服务器代码,并避免所有" dto版本地狱" RPC调用具有。
我已经看到我们需要创建一个包装器,即服务器中的另一个层,用于将方法暴露给移动版本(GWT + phonegap以及未来:IOS,Android ......)。稍后该层将重用所有服务器代码(模型,存储库等),在服务器中通过Objectify完成对BigTable的访问。
您将为这个新图层使用哪种技术?
答案 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