0

У меня есть приложение, которое использует 3 слоя 2 уровневой модель бизнеса, а именно презентации, бизнес и слои данных с приложениями и услугами ярусами. Мы уже решили использовать службу WCF на своем уровне для всех запросов Data Layer (CRUD). Теперь у меня есть вопрос о том, следует ли объединить бизнес-уровень с уровнем данных в службе WCF, а затем пользовательский интерфейс выполняет вызовы службы, которая обрабатывает ВСЕ бизнес и операции с данными.Плюсы и минусы объединения бизнес-уровня и уровня данных в один WCF службе

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

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

Все отзывы оценены!

ответ

0

Если есть шанс, что другой слой представления, такие как веб-сайт, будет иметь доступ к бизнес и данных слоев, то имеет смысл создать следующие слои на стороне службы:

  1. Service endpoint: простой проход данных, который отвечает за перевод входящих запросов в технологии по вашему выбору в запросы, которые понимает бизнес-уровень.
  2. Бизнес-уровень: объекты домена и бизнес-услуги с правилами, необходимыми для ведения бизнеса. Этот уровень делает вызовы на ваш уровень данных и ничего не знает о конечной точке службы.
  3. Уровень данных: простой перевод объектов бизнес-домена в требуемые объекты того, с чем вы взаимодействуете; будь то база данных или сторонняя конечная точка службы.

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

Отъезд Martin Fowler's article on microservices для получения дополнительной информации по этому вопросу.