Книга II - Сервер управления (Miracle Base Program)
(рабочее место менеджера системы, часть №01)

Сервер управления

  Сервер управления - это ключевой элемент информационной системы, построенной средствами Miracle. Только при наличии активного Сервера управления, возможно осуществлять доступ и эксплуатацию Miracle-приложений и инструментальных средств.
  Сервер управления осуществляет следующие действия:

  1. Подключение пользователей к активной иерархической модели (структуре). Пересылку пользователям списка доступных приложений;
  2. Организация хранения зарегистрированных приложений, математических алгоритмов, форм отчетов, в едином репозитарии;
  3. Пересылку требуемых ресурсов;
  4. Установку уровня доступа к данным авторизованным участникам.

  Подключение пользователей к системе осуществляется автоматически, при их авторизации. Используя различные механизмы, администратор может блокировать авторизацию, как выбранных пользователей, так и всей структуры в целом. Обязательным условием для подключения к системе является наличие активной структуры (иерархической модели доступа к данным).
  Хранение приложений, математических алгоритмов, форм отчетов осуществляется автоматически, при их регистрации на Сервере управления.
  Пересылка требуемых приложений и иных ресурсов, осуществляется автоматически, при активизации пользователем выбранной Miracle-программы. Клиентские места не хранят получаемые ресурсы, а получают их копию при каждом запуске. Такой подход обеспечивает рассылку новых приложений или их модификаций всем пользователям.
  Организация уровней доступа к данным производится согласно иерархической модели, структуре.

О структуре ...

  Сервер управления системы Miracle обладает свойствами, позволяющими администратору информационной системы решать ряд часто встречающихся проблем.
  Проблема N1. Часто бывает необходимо организовать доступ одних пользователей к одному набору программ, а других к другому.
  Проблема N2. Часто бывает необходимо организовать различный доступ к данным в единой БД, для разных пользователей. Т.е. необходимо, чтобы в рамках одной и той же программы, разные пользователи “видели” только “свои” данные, либо данные какой либо группы.
  Проблема N3. Часто бывает необходимо иметь возможность по просмотру информации созданных разными пользователями, с запретом их видоизменения, с одновременной возможностью редактирования собственных данных.
  Проблема N4. Часто бывает необходимо поддержать “миграцию” пользователей по различным компьютерам в локальной сети предприятия. При этом, по возможности, необходимо организовать однотипный набор программ и интерфейса их запуска.
  Проблема N5. Часто бывает необходимо иметь механизмы по “временному” прекращению доступа к программам предоставляемых пользователю.
  Проблема N6. Часто бывает необходимо иметь журнал работы пользователей в информационной системе.
  Проблема N7. Часто бывает необходимо ограничить круг людей знающих пароли доступа к базе данных на SQL-сервере, с одновременным расширением круга пользователей использующих сервер баз данных.
  Методика использования структуры позволяет:

  1. Организовать предоставление необходимого объема программ для различных пользователей.
  2. Обеспечить выполнение требования по организации предоставления различного объема данных, для разных пользователей.
  3. Обеспечить “защиту” информации от несанкционированного видоизменения на уровне ядра системы, а не на уровне логики пользовательских приложений.
  4. Обеспечить единообразие по предоставлению доступа к программам пользователя, вне зависимости от компьютера с которого производили авторизацию.
  5. Обеспечить как автоматическую, так и ручную блокировку пользователя.
  6. Иметь журнал работ с Сервером системы, отражающих все действия пользователей.
  7. Обеспечить требование по “нераспространению” паролей доступа к БД, с “прозрачным” доступом к данным через предоставленные приложения. Тем, самым “скрыть” от конечных пользователей процедуру доступа к SQL-серверу.

  Структура распределения данных используется для:

  1. Организации точек авторизации пользователей в систему.
  2. Определения уровня доступа к ресурсам системы.
  3. Определения уровня доступа к объему информации из объектов БД.

  Организация точек авторизации пользователей осуществляется через их “привязку” к необходимому узлу структуры. Поэтому для доступа к системе, необходимо иметь хотя бы одну активную структуру, с одним “корневым” узлом. Структура может отражать необходимую модель отношений, например отделов, регионов или иных признаков. Распределение пользователей на разные узлы модели позволяет организовывать необходимый уровень доступа к хранящейся информации.

Корневой узелзел   Корневой узел формируется автоматически при создании новой модели.
  Узел №1     Дополнительный узел, создаваемый средствами Сервера управления.
  Узел №2   Иванов Список пользователей, допущенных к узлу.
    Узел №3 Иванов
Петров
 
  Узел №4   Петров  

  Пример структуры, содержащей четыре узла и имеющих различный уровень отношений. Организовав доступ пользователя к необходимому узлу структуры, Вы устанавливаете “точку” его авторизации.
  Теперь, для получения доступа к системе, пользователь должен указывать имя структуры и имя узла, к которому необходимо получить доступ. При этом список доступных ресурсов может быть совершенно различным для каждого узла и пользователя на нем. Это обеспечивает предоставление необходимого объема задач, в зависимости от точки авторизации пользователя.
  Третий режим использования Сервера управления позволяет обеспечить определение объема предоставляемой информации из БД для каждого пользователя.

Рисунок 1 Доступ к разному объему информации, через одно и тоже приложение

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

Таблица, имеющая статус “общедоступная”

Данные А
Данные В
Данные С

Объект БД (таблица)

  Информация в таблице может быть подготовлена различными пользователями. Статус таблицы - общедоступная.
  Доступ к общедоступной таблице не регламентирован структурной моделью. Это означает, что любой пользователь имеет доступ ко всем данным, хранящимся в этом объекте базы данных, и может осуществлять все действия над ними. Т.е. иерархия структуры не влияет на определение, какие именно данные предоставить пользователю.

Таблица, имеющая статус “структура”

Данные А структура 1
Данные В структура 2
Данные С структура 1

Объект БД (таблица)

  Информация в таблице имеет дополнительное (системное) описание, указывающее под управлением какой структуры были созданы данные. Статус таблицы - структурная.
  Доступ к информации в таблице, имеющей статус - структура, регламентирован именем иерархической модели (структуры). Объем предоставляемых данных из таблиц с таким статусом, ограничивается информацией, созданной под управлением управляющей структуры.
  Например, объект БД содержит информацию, созданную под управлением структуры №1 и структуры №2. При авторизации к структуре №1, пользователь получит только ту часть информации, которая была создана в рамках этой структуры.
  В рамках структуры информация будет доступна всем участникам без ограничений. Особо следует отметить, что невозможно получить доступ к информации, не принадлежащей к структуре, к которой была получена авторизация. Логика работы приложения не может влиять на уровень доступа. Только статус таблицы определяет объем предоставляемой информации.

Иерархия структуры не влияет на дальнейшее определение объема предоставляемых данных.

Таблица, имеющая статус “узел”

Данные А Структура 1 Узел I
Данные В Структура 2 Узел n
Данные С Структура 1 Узел II

Объект БД (таблица)

  Информация в таблице имеет дополнительное описание, указывающее под управлением какого узла и структуры они были созданы. Статус таблицы - узел.
  Доступ к данным в таблице, имеющей статус - узел, регламентирован именем узла в структуре. Объем предоставляемых данных из таблицы ограничивается информацией, созданной под управлением конкретного узла структуры. Например, объект БД содержит информацию, созданную под управлением разных структур и узлов. При активизации к Узлу I в Структуре 1, пользователь получит только ту часть информации, которая была создана под управлением этого узла, а также всех нижележащих. В рамках узла, данные будут доступны всем участникам без ограничения. Однако, пользователи, получившие доступ к другому узлу структуры, получат объем информации соответствующий этому узлу. Доступ к данным может быть осуществлен через разные или одинаковые приложения, в любом случае, объем предоставленной информации будет определяться рамками авторизованного узла.

Иерархия структуры полностью определяет объем предоставляемых данных.

Таблица, имеющая статус “пользователь”

Данные А Структура 1 Узел I Иванов
Данные В Структура 2 Узел n Иванов
Данные С Структура 1 Узел II Петров

  Информация в таблице создана разными пользователями, при авторизации к разным узлам структуры. Статус таблицы - пользовательская.
  Доступ к данным в таблице, имеющей статус - пользователь, регламентирован именем пользователя, именем узла и именем структуры. Объем предоставляемой информации данных из таблицы, определяется параметрами авторизации пользователя.
  Например, объект БД содержит информацию, созданную разными пользователями в одном узле, одной структуры. Вся информация будет распределена для доступа только тем пользователям, которые ее создавали, вне зависимости от вида и типа приложения. Иерархия структуры обеспечивает доступ к информации согласно модели, но с учетом одного правила. Доступ в подчиненных узлах будет возможен только к данным созданных этим же пользователем. В иных случаях пользователю будут предоставлены только его данные, вне зависимости от уровня в иерархической модели.

Иерархия структуры имеет полное влияние на определение объема предоставляемых данных, но это относится только к таблицам имеющим статус “не общедоступные”. В случае доступа к “общедоступной” таблице, пользователю будут предоставлены все данные хранимые в ней.

Подход и определение структуры

  Структура является основой всей информационной системы. Ее предназначение:

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

  Действующая (загруженная) структура предоставляет доступ участников системы к необходимым узлам структуры, приложениям. Все приложения (Miracle-программы), предоставленные в работу для разных узлов, будут обслуживать информацию согласно статуса объектов БД, используемых в приложении.

Разграничение объема данных применимо только к объектам базы данных (таблицам), созданных как “не общедоступные”.

  Тем самым, не прибегая, к каким либо сложным методам программирования, возможна организация распределения информации в зависимости, кто именно получил доступ. Находясь на более верхнем уровне структуры, пользователю, доступны данные, созданные другими участниками, но находящиеся на более низкой ступени иерархии. При этом доступ к редактированию, видоизменению данных, наработанных подчиненными службами, не разрешен, что обеспечивает однозначную ответственность человека за каждое значение, внесенное и находящиеся в базе данных. Следует учесть, что данное правило не распространяется на объекты базы данных, которые были определены как “общедоступные”. В этом случае все данные будут доступны для редактирования любому участнику системы.

Методика управления структурой

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

Рисунок 2 Начальное состояние иерархической модели

  Используя механизм модификации структуры, для изменения отношений между узлами, меняется и правила по определению предоставляемого объема информации. При этом, информация, принадлежавшая узлам, все также принадлежит им. Но, объем данных, предоставляемых для “вышестоящих” узлов, видоизменяется. Это вызвано тем, что система предоставляет “прозрачную” консолидацию по схеме “снизу→вверх”, в рамках которой, пользователь, работающий на более высокой ступени иерархии, имеет доступ ко всей информации, созданной на нижестоящих уровнях.

Рисунок 3 Изменение структуры

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

Методики использования

  Разработка ИС, с учетом механизмов разграниченного доступа, позволяет проектировать решения, предоставляющие администратору информационной системы организовывать необходимую модель распределенной информации, не проектируя это в управляющей логики пользовательских приложений. Например, возможна организация следующей модели:

Рисунок С2

  В рамках каждой структуры функционируют специализированные приложения, использующие для хранения информации несколько объектов БД. Одна из таблиц имеет статус “структура”. Т.е. объем предоставляемой информации в ней, регламентирован именами авторизационных структур. Другая таблица является общедоступной.

Рисунок 4 Пример модели БД

  При программировании пользовательских приложений, программист может не учитывать статус используемых объектов БД. Однако, администратор ИС, может организовать модель на Сервере управления таким образом, чтобы обеспечить необходимый уровень контроля по доступу к корпоративной информации.
  Для обслуживания этих таблиц можно использовать две программы:

  1. Складская.
  2. Торговая.

  “Движение товара” будут учитываться в одной таблице, но система обеспечит необходимую фильтрацию данных для каждой задачи (за счет статуса используемых таблиц). Такой подход позволит программисту не проектировать сложный механизм разграничения информации. А функции Сервера управления, обеспечивает необходимый режим предоставления данных.


Предыдущий раздел На начал документауции На оглавление Следующий раздел

©1995,1997,2000 НПФ ”И.В.А.”. Все права сохранены.
Название фирм и торговых марок используются только в качестве пояснения.