WCF - Определение параметров проектирования

Я разрабатываю сервис для FundManagement. Служба управления фондом имеет операцию с именем «UpdateFundApprovalDate (фонд FundDTO)». Эта операция обновит запись таблицы фонда с датой утверждения дляndingID. Услуга будет использоваться клиентом «FundManagementUI».

Существует бизнес-правило, согласно которому дата утверждения не должна обновляться, если продление контракта выполняется.

Существует отдельная служба обновления. Служба обновления использует данные из таблицы обновления (в которой есть идентификатор финансирования). Структура таблицы обновления (RenewalID, FundingID, RenewalStartDate, Renewal CompletionDate, RenewalStatus). Существует сервисная операция под названием «публичный список GetInProgressRenewal (фонд FundDTO)».

Один важный момент здесь. Хотя обе службы используют одну и ту же базу данных, обновление «В процессе» должно решаться службой обновления. Это может быть основано на статусе или дате завершения записи обновления. Служба продления должна решать бизнес-логику продлений в процессе. Служба управления фондом не претендует на владение этой логикой.

Каков принцип / шаблон SOA, который объясняет вышеупомянутое поведение? (Использование службы продления для определения продлений «в процессе», хотя существует риск, что служба продления может изменить логику в своих интересах.). Каковы рекомендации по таким сценариям?

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

В Службе управления фондом, кто должен бытьответственность для проверки того, что возвращенный список продлений равен NULL? Где эта проверка должна происходить внутри кода метода работы службы или внутри FundBusinessLayer (который вызывает служба)?

Примечание. Здесь SOA будет реализована с использованием WCF, а бизнес-класс будет разработан с использованием C #.

ЧТЕНИЕ:

SOA / WCF, рассекающие границы системы и сервиса

Ответы на вопрос(2)

Ваш ответ на вопрос