Совместим ли шаблон команд с веб-службами RESTful? - PullRequest
5 голосов
/ 17 ноября 2011

Google рекомендует использовать шаблон команды при создании сложных приложений GWT. Идея, кажется, имеет некоторые достоинства, и для ее помощи были разработаны различные рамки. Тем не менее, большинство примеров, которые я нашел, используют GWT-RPC для связи клиент / сервер.

Мы рассматриваем разработку веб-службы RESTful для нашего бэкэнда Java - и используем ее для связи клиент-сервер (возможно, с использованием такой инфраструктуры, как Resty ).

Но совместим ли шаблон команд с веб-службами Rest? Как бы выглядели эти URL отдыха? Как будет поддерживаться пакетная обработка команд и отмена?

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Шаблон команды является / был рекомендованным шаблоном и представляет собой огромный шаг вперед по сравнению с созданием интерфейса RPC с использованием RemoteService и RemoteServiceServlet, который является практически всем, что было доступно во время презентации Google I / O, на которую вы ссылаетесь.

Подход GWT-RPC очень хорош, хорошо работает и обеспечивает механизм пакетирования и отмены.Я должен сказать, что никогда не реализовывал ни одной функции undo () ни в одном из своих обработчиков, хотя я использую пакетную обработку.

Более новый подход состоял бы в том, чтобы использовать RequestFactory и отображать ваш код в вашем сервисе.Это поддерживает пакетирование, но не отменяет.Это не большая работа для реализации, но у нее есть свои особенности.Хороший пример можно найти здесь .

Если вам нужен интерфейс REST, то использование этого в вашем GWT для сохранения разработки двух интерфейсов кажется разумной идеей.Но, как говорит @Riley Lark, вам придется написать свою собственную пакетную обработку (и отменить (), если вам нужно).

Мне кажется, что и пакетная обработка, и отмена на самом деле не соответствуют подходу REST,Но это только мое мнение.Здесь есть еще некоторая информация здесь из аналогичного вопроса.

Возможно, я бы использовал инфраструктуру GWTs и RequestFactory для передачи данных от клиента к серверу, чтобы воспользоваться преимуществами пакетной обработки и протокола optomised изащита межсайтовых сценариев и создание отдельного интерфейса REST для всех нужд, для которых он необходим.

2 голосов
/ 17 ноября 2011

Вы должны будете реализовать пакетирование самостоятельно, если не используете какой-либо пакет, который его поддерживает. В нашей компании мы решили использовать прямой интерфейс REST - затраты на написание нашей собственной пакетной обработки по одному API были меньше, чем затраты на создание RequestFactory API и общедоступного API.

Вы должны были бы каким-то образом закодировать несколько URL-адресов отдыха и полезных нагрузок в один URL-адрес и полезную нагрузку!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...