Приложение службы REST и отдельный интерфейс - хорошая идея? - PullRequest
3 голосов
/ 09 августа 2010

Я думаю о создании приложения с веб-сервисом RESTful.Моя мысль состоит в том, чтобы создать часть приложения RESTful (json и т. Д.) В виде отдельного приложения, а затем внешний интерфейс (например, html / css / js / etc) в качестве клиента для этой службы, хотя и не через js.веб-страница работает без js, поэтому, вероятно, для звонков используется что-то вроде LWP.В основном результат - 2 отдельных приложения.Это плохая идея?отличная идея?Я понимаю, что это несколько субъективно.

Ответы [ 2 ]

4 голосов
/ 09 августа 2010

Я думаю, что это хорошая идея.

Это означает, что в конце:

  • У вас будет полный API, по крайней мере, со всеми функциями вашего собственного графического интерфейса. Таким образом, вы не получите никаких функциональных возможностей в графическом интерфейсе, которые недоступны в качестве службы.

  • Вы избежите некоторого дублирования усилий, потому что все усилия, которые вы приложите для правильной работы графического интерфейса, также будут отражены в веб-сервисе, поскольку они используют одну и ту же функцию. Исправьте ошибку в одном и исправьте в другом.

  • Это также означает, что есть последовательность.

  • Автоматическое тестирование потенциально проще.

  • Хорошо иметь модульные вещи, особенно с открытым исходным кодом, так как это облегчает кому-то выход и написание отдельного графического интерфейса для вашего сервиса или даже модификацию вашего сервиса с использованием того же графического интерфейса.

0 голосов
/ 09 августа 2010

Основная проблема, которую я ожидал увидеть с этим типом архитектуры, заключается в том, что он не будет создавать то, что вы о себе думаете. Скорее всего, RESTful частью этого приложения будет внешний интерфейс, который предоставляет текст / HTML со ссылками, чтобы позволить клиенту обнаружить ваше приложение.

Часть, которую вы считаете веб-службой RESTful, скорее всего, не будет RESTful. Планируете ли вы встраивать ссылки в ответы вашего веб-сервиса? Будете ли вы предлагать мультимедийный тип, который имеет большее семантическое значение, чем application / json или application / xml? Если нет, то ваш веб-сервис не является RESTful.

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

...