Лучшая книга WCF SOA, которую вы рекомендуете для данного архитектурного дизайна
Я хочу создать три службы WCF в интрасети. Три службы WCF не зависят друг от друга в смысле их функциональности, например
Валидатор Сервис - имеет дело со всем, что имеет отношение к проверке счетов и владельцев счетов. т. е. если существует учетная запись, если существует держатель карты
Обслуживание счета - Сделки с внесением баланса на счет и внесением баланса
- Лимитное обслуживание - имеет дело с проверкой, находится ли сумма, которую пользователь хочет получить, в пределах лимита учетной записи.
Вариант использования:пользователь хочет внести деньги.
Пользовательский интерфейс начинается с вызова службы учетной записи. Служба учетных записей вызывает службу проверки, чтобы проверить, существует ли учетная запись. Служба валидатора возвращает логическое значение, чтобы указать, существует ли учетная запись. Если сервис валидатора возвращает true, тогда сервис аккаунта вносит деньги.
Пользователь хочет вынуть деньги.
Пользовательский интерфейс начинается с вызова службы учетной записи. Сервис аккаунта вызывает сервис валидатора, если аккаунт существует. Служба валидатора возвращает true. Затем служба учетной записи вызывает службу ограничения, чтобы проверить, может ли пользователь вывести этот баланс. Если служба limit возвращает true, то служба учетных записей вызывает соответствующий метод, который уменьшает баланс и дает баланс пользователю.
Я планирую разместить их как службы Windows, потому что пользовательский интерфейс и все эти службы будут развернуты на одной машине.
Что вы думаете об этом?
Есть ли книга, которую вы рекомендуете рекомендовать для такой архитектуры SOA, где сервисы взаимодействуют друг с другом? Я действительно обеспокоен его масштабируемостью, безопасностью и производительностью.
Благодарю.
1 ответ
Почему три отдельных сервиса для операций, которые связаны таким образом? Кажется, вы доводите SOA до крайности, которая вам не нужна.
Я бы создал одну службу, которая бы занималась действиями со счетом (пополнение счета, снятие средств, запросы баланса, переводы и т. Д.). Такие вещи, как проверка и ограничения, если они недоступны для пользователя, я бы поставил за кулисы, либо как частные методы в контракте, либо, что более вероятно, в базовой DLL, на которую ссылается сервис.
Наличие службы, которая выполняет только одну вещь, само по себе не является плохим, но наличие нескольких служб делает только одну вещь, и все эти вещи, попадающие в одну логическую группу, являются излишним (IMO). Я бы посоветовал внимательно взглянуть на бизнес-процесс, который вы пытаетесь смоделировать - группировки (если таковые имеются) должны быть легко заметны.
Я бы порекомендовал книгу Ювала Лоури " Программирование служб WCF: освоение WCF и сервисная шина Azure AppFabric" - многие считают ее библией WCF, и у него есть целое приложение, которое является хорошим учебником по SOA.