Вопрос о разных слоях в SOA - PullRequest
0 голосов
/ 11 августа 2010

Я узнал, что уровень обслуживания находится выше уровня бизнес-логики, и мы вызываем уровень обслуживания из уровня представления. Но в проекте мы называем Web или сервис WCF, определенный в том же приложении? Если мы раскрываем всю нашу логику на уровне сервисов и вызываем сервисы, а не методы на уровне бизнес-логики, это должно привести к снижению производительности. Я сомневаюсь, делаем ли мы это в проекте. Но если мы вызываем Web или службу WCF, определенную в другом приложении, я думаю, мы можем также вызывать их с нашего уровня доступа к данным или уровня бизнес-логики. Я очень смущен этим, кто-то может дать мне подсказку?

Я с нетерпением жду вашего ответа. Спасибо большое!

Ответы [ 2 ]

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

Я бы ответил да на многие вопросы и предупредил бы вас о путях.Вы упускаете очень фундаментальную вещь о SOA.Во-первых, вам нужно понять, что означает Service Inventory, прежде чем приступать к разработке веб-служб.

Инвентаризация услуг может включать три основных типа услуг:

  1. Entity Services - этот вид услуг работает с проблемами, связанными с данными - CRUD.Да, запросы к базам данных.

  2. Коммунальные услуги - этот вид инфраструктуры выполняет такие работы, как отправка электронной почты, «регистрация» и т. Д.

  3. Службы задач - это управление другими службами (сущностью, задачей и утилитами) и выполнение бизнес-правил.

Например, приложение пользовательского интерфейса может вызывать службу задачкоторый в свою очередь вызывает две другие службы Entity Services, выполняет бизнес-логику, уведомляет пользователей по почте, вызывает другую службу задач, которая также может вызывать другие типы служб.

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

Я внедряю экосистему, полностью основанную на этих концепциях, с использованием WCF.Часть из них уже на производстве, и у меня нет никаких проблем с производительностью вообще.Вместо этого пользователи действительно счастливы.Но это не так просто, я бы не стал использовать стандартный стиль программирования.Был изменен взгляд на стиль программирования, и мне пришлось осваивать проблемы параллелизма и параллельного программирования.Лучшая вещь, которую я когда-либо делал!Я все еще не могу использовать истинный потенциал моего многоядерного сервера.

удачи!

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

Вот несколько практических примеров того, как построить SOA с использованием WCF.

Я бы предложил вам прочитать статьи Thomas Erl и Roger Sessions, это даст вам твердое представление о том, что такое SOA.

Шаблон проектирования SOA

Достижение целостности в SOA

Почему ваш SOA должен быть похож на VW Beetle

SOA для вашего босса

...