2013-02-09 4 views
2

Мы собираемся создать мобильную версию нашей веб-страницы. На этой странице мы использовали сервисы RPC сервисным способом, не полностью ориентированы на объекты. Таким образом, у нас будет два клиента (веб-и мобильный), вызывающие один сервер.Повторное использование кода сервера в приложении GWT + phonegap, исключающем RPC

Теперь мы хотим повторно использовать весь этот код сервера, поддерживающий несколько версий клиента, и избегать всех "dto version hell", которые имеют вызовы RPC.

Я видел, что нам нужно создать оболочку, другой уровень на сервере, для отображения методов для мобильных версий (GWT + phonegap и в будущем: IOS, Android ...). Позже этот уровень будет повторно использовать весь код сервера (модель, репозитории ... и т. Д.), На сервере доступ к BigTable осуществляется через Objectify.

Какую технологию вы бы использовали для этого нового слоя?

ответ

2

Для мобильных приложений мне нравится использовать AutoBeans + RequestBuilder в Client и AutoBeans и Restful API, который (также) создает JSON на стороне сервера.

С помощью AutoBeans вы определяете структуру своих данных с интерфейсами Java. (Что дает вам что-то для программирования), и AutoBeans обрабатывает преобразование из объекта в JSON и из JSON в Object для вас как на сервере, так и на клиента.

В комбинации вы можете построить очень быстрый и хороший архитектурный RPC. AutoBeans используется RequestFactory как механизм по умолчанию для сериализации.

Если вы когда-либо решаете поддерживать другие платформы, вы все равно можете использовать JSON и разбирать его там. Если вы решите поддерживать родное приложение для Android, механизм AutoBean должен просто отлично работать на android vm.

Хороший пример AutoBeans можно найти здесь: http://code.google.com/p/google-web-toolkit/wiki/AutoBean

+0

Daniel, приходят Google на помощь? -> https://developers.google.com/appengine/docs/java/endpoints/ –