Связь между клиентской библиотекой классов и веб-службой / веб-службой и библиотекой серверных классов - PullRequest
0 голосов
/ 27 июля 2010

Интересно, что делают другие / лучшие практики для общения между слоями. Этот вопрос касается связи между уровнями 2-3 и 3-4.

Наша базовая архитектура (по порядку) выглядит следующим образом:

  1. UI
  2. Бизнес-классы переднего плана
  3. Веб-сервисы
  4. Бэкэнд бизнес-классы
  5. DAL

Веб-сервисы - это просто фасад, который включает ведение журнала и аутентификацию в библиотеках внутренних классов.

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

Иногда имеет смысл сделать это для объекта ответа на уровне 4 (хотя мы не используем объект запроса, если не нужно передавать много параметров), в этом случае у нас просто есть класс адаптера на уровне 3 который возвращает это клиенту. Для согласованности я все время думал об этом, хотя думаю, что это может быть излишним.

Итак, чтобы повторить вопрос, каковы лучшие практики для взаимодействия между уровнями? и должны ли / будут ли люди использовать этот метод, описанный выше (он хорошо работает для нас), и должны ли уровни 3-4 реализовать метод, подобный 2-3?

Возможные соображения:

  • В настоящее время все разработано командой разработчиков, часть клиентского кода может быть передана на аутсорсинг в будущем
  • будущие веб-сервисы будут основаны на WCF (не уверен, что это повлияет на дизайн, отличный от кодирования для интерфейсов, которые я бы предпочел в любом случае).
  • Мы используем .net

1 Ответ

0 голосов
/ 15 ноября 2010

Для полноты картины:

Кажется хорошей идеей иметь ответы / запросы в библиотеке классов, поэтому, если вы хотите изменить веб-сервис на WCF, нужно меньше работать.

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