#jquery #web-services #jsp #rest #architecture
#jquery #веб-сервисы #jsp #остальное #архитектура
Вопрос:
В настоящее время я работаю с двумя объектами:
- JSP, использующий jQuery
- Веб-сервис RESTful, который я использую для запроса к базе данных коллекции объектов Foo.
В JSP я выполняю AJAX-вызов WS, который возвращает мою коллекцию, и я начинаю перебирать ее с намерением отобразить некоторые из переменных каждого Foo в таблице данных. Существует бизнес-требование, в котором говорится, что если Foo.bar присутствует, покажите его на экране. В противном случае в столбце bar покажите значение Foo.baz . По моему определению, это бизнес-логика, специфичная для конкретного приложения.
Мой вопрос: куда должна идти эта логика? Я не думаю, что это относится к WS, потому что я хочу, чтобы я и другие полагались на это как на ваш универсальный магазин для получения необработанных объектов Foo, а не объектов Foo, к которым были применены вышеуказанные условия. Я также не думаю, что это относится к JSP, потому что это должно быть только средством для отображения данных. Чего я не понимаю?
Ответ №1:
Ты сам это сказал:
Существует бизнес-требование, в котором говорится, что если Foo.bar присутствует, покажите его на экране. В противном случае в столбце bar покажите значение Foo.baz .
Это звучит ужасно похоже на логику отображения, поэтому я думаю, что JSP является подходящим местом, поскольку он обрабатывает этот уровень приложения.
Комментарии:
1. Возможно, вот лучший пример. Все объекты Foo берутся из таблицы foo. Foo.bam — это числовой код. Текстовое определение этого кода хранится в таблице Codes. Мне нужно отобразить текстовое описание Foo.bam, а не только цифровой код. Где должна «жить» эта функциональность?
2. Уровень данных должен отвечать за объединение обеих таблиц и возврат результирующего набора, где каждая строка содержит как числовой код, так и описание. Уровень отображения должен получать обе части информации и отображать их соответствующим образом. Имеет ли это смысл?