Каков наилучший способ разработки серверной архитектуры Java, которая взаимодействует с клиентским GWT-приложением, но также правильно реагирует на различные другие клиентские запросы с других платформ? В частности, я хотел бы использовать один и тот же слой сервлетов для ответа не только на мое приложение GWT, но и на соответствующие приложения iOS и Android.
Первый подход, о котором я подумал, состоит в том, чтобы реализовать клиентский уровень GWT, используя «RequestBuilder», а не обычные служебные интерфейсы метода RPC. Используя этот подход, я мог бы кодировать универсальные сервлеты, которые отвечают на запросы HTTP RESTful способом, обрабатывая переменные, закодированные в чем-то вроде JSON или XML. Хотя это сработало бы, было бы несколько трудоемко кодировать и декодировать мои объекты / параметры в JSON как на клиенте, так и на сервере, особенно когда RPC предоставил такое элегантное решение.
Другой подход (который я считаю более подходящим) заключается в том, чтобы выяснить, какую спецификацию использует Google для сериализации и десериализации своих вызовов методов RPC и реализовать какую-то библиотеку, которая делает то же самое для iOS (в Objective-C) и Android. Проблема в том, что мне не удалось найти хорошую документацию об этом стандарте кодирования, и я не нашел библиотек, которые реализуют его для iOS или Android (хотя я нашел что-то подобное для PHP на www.gwtphp.com).
Кто-нибудь может привести меня к спецификации о том, как GWT сериализует / десериализует свои объекты или, что еще лучше, библиотеки для iOS и / или Android, которые реализуют интерфейсы RPC?