|
Распределение работ
Размещая
бизнес-правила на сервере или на
различных средних уровнях,
многоуровневая система упрощает
выполнение задач разделения
обязанностей при постоянной
поддержке целостности и защиты
данных сервера. Это позволяет
разным подразделениям совместно
использовать одни и те же данные,
однако управлять клиент может
только теми данными, которые
необходимы для выполнения его
специфических задач. Такое
распределение работ
осуществляется благодаря
предоставлению доступа только к
тем хранимым процедурам
и другим объекта базы данных,
которые необходимы конкретному
подразделению.
Рассмотрим пример
системы учета еще раз. Для большей
определенности предположим, что
это система учета автомобильного
склада запасных частей. В данной
системе некоторым сотрудниками
необходимо обратиться к одним и тем
же данным, но с различными целями.
Бухгалтер должен обработать счета,
добавить и удалить заказчиков и
изменить информацию о заказчике;
сотрудники склада - добавить
наименования новых запасных частей
в базу данных: сотрудники
финансового отдела - выполнить свою
часть работы с системой. Создавая
все необходимые бизнес-правила на
сервере, можно предоставить доступ
каждому клиенту только к
определенным данным. В этом случае
бухгалтер будет иметь доступ к
одним правилам, складской персонал
- к другим, а сотрудники финансового
отдела могут получить доступ к
данным, связанным с денежными
средствами.
Распределение
работ относится не только к их
распределению между различными
клиентами, но и к определению того,
какую работу лучше выполнять на
стороне клиента, а не на сервере или
на среднем уровне. Как разработчик,
вы должны оценить различные
варианты распределения работы,
например позволяющие выполнять на
быстрых клиентных компьютерах
операции, интенсивно использующие
процессор; таким образом вы
несколько разгрузите сервер.
Естественно, прежде чем принимать
решение, необходимо продумать,
какие бизнес-правила могут
оказаться нарушенными и не
появится ли при таком подходе дыра
в системе защиты.
|
|