Лучшие практики для создания веб-сервисов - PullRequest
5 голосов
/ 28 марта 2010

Предисловие Я новичок в веб-разработке. Я смотрю на создание основного набора веб-сервисов RESTful на основе ценной библиотеки документов (начальные возможности CRUD). При этом я теоретически создаю полностью пригодный для повторного использования и масштабируемый бэкэнд, который будет использоваться непредвиденными приложениями в будущем.

Мой вопрос касается лучшей практики для этого. Мое первоначальное требование заставило меня также создать уникальный интерфейс. Буду ли я делать фронтенд и бэкэнд полностью отдельными проектами для повышения возможности повторного использования. Это увеличило бы накладные расходы.

Рассмотрение использования GWT, Restlet и стека технологии Java EE, если это вообще влияет на настройку.

Ответы [ 5 ]

3 голосов
/ 29 марта 2010

Наиболее важным является создание чистого Java API - независимого от REST, RMI или любого другого протокола, который вы хотите использовать. Из чистого Java API вы можете поддерживать любой метод доступа.

Если у вас нет варианта использования этих других методов доступа, не создавайте их сейчас. Вы можете построить его, когда вам это нужно.

Самый простой интерфейс, который можно добавить изначально, - это веб-интерфейс, в котором ваше веб-приложение работает в той же JVM, что и ваш основной API. Я бы сделал это, если это работает для вашего случая использования. Создание отдельного консольного приложения, которое обращается к вашему базовому API через протокол REST (или любой другой), требует гораздо больше усилий.

1 голос
/ 31 марта 2010

Если вы хотите использовать бэкэнд-сервисы на основе REST, вам следует использовать проект RestyGWT , который позволяет вам использовать стиль программирования GWT-RPC для доступа к вашим JEST-сервисам.

Преимущество использования служб JSON на основе REST по сравнению с традиционными службами GWT-RPC заключается в том, что эти службы затем могут использоваться другими клиентами или даже в гибридных приложениях.

1 голос
/ 28 марта 2010

Мартин Фаулер недавно написал очень хорошую статью об основах REST: Модель зрелости Ричардсона . Было очень полезно понять принципы ОТДЫХА.

0 голосов
/ 29 марта 2010

Мы с коллегой написали систему GWT, используя отдельные проекты для внешнего и внутреннего интерфейса. Полезно было четко понимать, где выполняется код. Но я не уверен, что буду беспокоиться о разделении вещей в будущей системе.

Кроме того, учитывая, что вы новичок в веб-разработке, я не думаю, что вы должны ожидать создания полностью повторно используемого бэкэнда. Вы узнаете много вещей, как вы идете. Я думаю, что проворные программисты рекомендовали бы итеративный подход: (а) заставить работать небольшой аспект, а затем (б) сделать рефакторинг, чтобы сделать его красивым.

0 голосов
/ 28 марта 2010

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

Однако, если вы считаете, что в конечном итоге захотите предоставить свои данные через API REST или использовать другую технологию на внешнем интерфейсе, лучше использовать REST.

Проект gwt-rest также может быть полезен.

...