Letyshops

Создание системы бизнес-правил. Часть 5

Барбара фон Халле
Продолжение.
Разработка правил в модуле | Настройка баз данных и правил

Этап 6. Спроектируйте правила в модуле. Очередность этапов разработки может быть разной, в зависимости от типа модуля (ориентирован на данные или на службу), от функциональности или ограничений, от требуемых рабочих показателей.

При работе с модулем, ориентированным на данные, проектирование и внедрение правил следует привязывать к данным. Для этого сначала определяются ряды и столбцы, обычно в форме модели данных или объекта. Затем формулируются правила для данных, за которыми будет наблюдать модуль.

Правила выражаются декларативно, хотя для этого может потребоваться перевод. Например, если правило представлено как "if/then", а ваш пакет не поддерживает такой синтаксис, выражение надо переформулировать.

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

В модуле, ориентированном на службу, проектирование правил обычно опирается на процесс. Как правило, создается объектная модель, которая должна обеспечить передачу и совместное использование данных. Объекты для выполнения правил содержат только данные, но не правила. Правила находятся в службе.

Иногда данные выражаются в коде процедуры, иногда нет. Декларативно вы можете использовать синтаксис if/then. Менять спецификации базы данных, скорее всего, не понадобится, так как сервис-ориентированный модуль правил связан с данными не так тесно.

Проектирование правил обычно требует: сгруппировать правила по комплексам и иерархиям; установить очередность выполнения комплексов правил; установить очередность выполнения правил внутри комплекса. Таким образом, когда приложение вызывает модуль правил, он уже подготовлен к конкретному действию.

Способов создания модуля, ориентированного на данные, много. Проще всего, если это возможно, встроить все правила в СУБД. Правила автоматически выполняются при попытке приложения обновить базу данных. Если такая архитектура неприемлема, можно создать простую службу, которая выполняет соответствующие правила при вызове базы данных.

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

[1][2] следующая>>
[вид для печати]
© DM Review

 

 

Реклама: