Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > GWT: RPC or XML/JSON?


Автор: AndrewMormysh 13.10.2010, 17:08
Обращаюсь к разработчикам GWT-приложений - нужен ваш умудренный опытом совет =)

Как известно существует довольно стандартная проблема для тех кто использует бесплатные версии http://www.smartclient.com/product/index.jsp - это реализация взаимодействия клиента и сервера по передаче пользовательских объектов. Сам гугл нам предлагает использовать RPC подход, но в этом случае придется создавать сериализуемые объекты типа DTO которые будут передаваться по сети и конвертеры из/в их серверные и клиентские представления. Второй подход предлагает передавать объекты в формате XML, испоьзуя, например, формат json. 

В общем, дальше углубляться в реализации думаю не стоит, поэтому ближе к сути вопроса - что используете в своих проектах ВЫ, и почему остановились именно на том или ином варианте (возможно [и весьма вероятно] есть и другие подходы)?

Автор: Nofate 13.10.2010, 17:19
Используем GWT RPC, потому что просто и хорошо работает с компонентами ExtGWT. Хотя нюансы с сериализацией некоторые, конечно, есть.

Автор: AndrewMormysh 15.10.2010, 11:07
Nofate, спасибо за ответ! 

А можете вкратце описать каким образом у вас происходит обмен сложными объектами(я имею ввиду бизнес-энтити, которая может содержать сложные зависимости на другие объекты, листы объектов, и т.п.)? 

И с какими трудностями вы сталкивались (те самые "нюансы")?

Автор: COVD 17.10.2010, 13:35
 
Цитата

обмен сложными объектами

Избавляться от "сложных" обьектов. 

XML сериализация более гибкая. Это облегчает модификации систем, которые online 7\24. Если в обьект на серверной стороне, например, добавляется поле, то уже соединенный клиент, который использует старое описание обьекта, нормально загрузит такой обьект (без нового поля). А в обычной сериализации это невозможно. В java сериализации это можно обойти, если использовать только базовые классы. Например, вместо класса Company с полями Name, Address использовать List<String>, а сервер и клиент знают, что 0 - 
Name,  1 - Address. Квази xml получается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)