Физическая Организация управления БД АИС
Все данные в АИС хранятся в СУБД ORCLE. Для хранения данных используется кодировка UNICODE (UTF-8), стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Целостность данных и обработка статусов реализована на технологии CARABI. В СУБД используются встроенные пакетные функции и триггеры для чтения и обработки данных.
Структура ИО
Физически данные по ИО хранятся в группе таблиц и представляют собой объект БД с возможностями создания, модификации и удаления.
Представление структуры ИО в формате XML
…
…
…
…
FORMAL – описание конкретного документа
PROPERTY – поле документа и его значение
Параметры тега FORMAL
DOCKIND_NAME Наименование справочника, системное
DOCKIND_DESCR Наименование справочника на русском языке
Параметры тега PROPERTY (поле документа, реквизит)
SHOW_ORDER Порядок - порядковый номер в структуре документа
DOC_FORMAT 0 (определяет формат поля и шаблон хранения данных
DOCPROP_NAME Наименование поля на русском языке
DOCPROP_DESCR Системное наименование поля
DOCPROP_KIND Тип поля
DOCPROP_VISIBLE Видимость, (1 и более - отображается; 0 – нет)
DOCPROP_UNIQUE Если 1, то является ключевым при идентификации документов
DOCPROP_NOTNULL Если 1, то заполнение поля обязательно
DOCPROP_OBJECT Подтип поля (Только если DOCPROP_KIND=1 - Простое поле) - документ Экспорт XML
DOCPROP_REPEAT 0 (фиксированное значение), для диапазонов дат и чисел указывает на номер значения в диапазоне
DOCPROP_MULTI 0 – одиночное поле, более 1 множественное
DOCPROP_SQL 0 (другой шаблон, для ссылочных полей принцип связи, 1)
DOCPROP_TREE_KIND 0, 1 – Признак наличия иерархии
DOCPROP_RULE_CHILD 0 (каскадные операции для ссылочных полей)
DOCPROP_RULE_PARENT (каскадные операции для ссылочных полей)
Если есть DOCPROP_KIND=9 (ссылка), то может быть задано подчиненно описание документа, с использованием тега FORMAL, вложенного в PROPERTY DOCKIND_DESCR=<Наименование связанного объекта> XML_ID="0"/>
Представление документа ИО в формате XML
…
…
Изменение атрибутов ИО
Изменение атрибутов ИО производится во время работы АИС после согласования изменения БП. Остановка системы не требуется. Если в этот момент производится модификация документа пользователя, использующего данный ИО, то АИС извещает об этом и просит повторить операцию. Действия по добавлению статусов описаны в руководстве разработчика CARABI SDK.
Добавление новых статусов
Добавление новых статусов производится во время работы АИС после согласования изменения БП. Остановка системы не требуется. Действия по добавлению статусов описаны в руководстве разработчика CARABI SDK.
***Поиск ИО *** Поиск ИО производится 2 способами:
При помощи контекстного поиска документа заданного типа по наименованию документа.
При помощи формализации запроса к системе в формате XML.
Для всех поисковых полей СУБД построены специальные встроенные ключи. Поиск в формате XML выглядит следующим образом:
…
…
…
OPERATION – Правило объединения критериев – может принимать значения
И
ИЛИ
CONDITION – Условие выборки - может принимать значение – Равно, Содержит, Начинается с, Не содержит, Значение не указано, Значение указано, Номер документа равен, Больше, Больше или равно, Меньше, Меньше или равно, Не равно
Организация запросов по системе
Для формирования запросов и визуализации результатов выборки данных для отчетов и статистик в АИС организован ИО Запрос
Название
Тип данных
Системное наименование
Номер
Счетчик
NUM
Наименование
Текстовый
NAME
Корневой тип
Выборка из таблицы "VOCABS"
ROOT_TYPE
Список типов для доступа
Выборка из таблицы "VOCABS" [множ.]
TYPE_LIST
Вариант запроса
Значение из словаря "QueryType"
QUERY_TYPE
Текст запроса
Текстовый
SQLTEXT
Параметры для отображения
Ссылочный [множ.]
VARVAR
Группа
Значение из словаря "SystemWorks"
GROUP
Доступ пользователей
Выборка из таблицы "CLIENTS_TREE" [множ.]
QUERY-ACCESS
Доступ ролей
Выборка из таблицы "VOCABS" [множ.]
ACCESS_ROLE
Шаблон отчета
Медиа-данные
REPORT_XLS
Сгруппировать множ. значения
Да/нет
ISGROUP
Внешний вызов
Да/нет
EXTERNAL
Использовать JOB для обработки запроса
Да/нет
ISJOB
Програма для внешнего вызова
Текстовый
EXE
Параметр внешнего вызова
Текстовый
EXTERNAL_PARAMS
Выдавать системные поля
Да/нет
IS_SYS_NAME
Режим групповой(нет - одиночный - передача ID документа)
Да/нет
QGROUP
Параметры для запроса
Ссылочный [множ.]
DOCQUERY-REF-REPORTS_PARAMS
Режим отображения
Значение из словаря "QUERY_TYPE"
DISPLAY
Структура параметров
Выборка из таблицы "VOCABS"
STRUC_PARAMS
Настройка отображения
Ссылочный [множ.]
DOCQUERY-REF-DOCQUERY_FIELD
Текст запроса должен выглядеть как комбинация поиска и перечня полей для выдачи с описанием названия выдаваемого поля:
" display="" as="<Отображение поля в запросе>"/>
…
Шаблон запроса служит для вывода данных в другие подсистемы отображения или во встроенную система отчетов FASTREPORT.
Запрос в формате SQL
Возможно прямое обращение к БД при помощи SQL запроса. Правило формирование запроса см. в руководстве разработчика CARABI SDK.
Импорт и экспорт во внешние системы
Взаимодействие с другими информационными системами осуществляется с использованием обмена XML-данными. Для загрузки и выгрузки XML используется набор встроенных средств. Для выгрузки данных необходимо настроить выгрузку через интерфейс «Выгрузка данных». Для загрузки данных необходимо сначала подготовить XML-файл в требуемом формате, а затем запустить процедуру загрузки данных через интерфейс «Загрузка данных». Без использования пользовательского интерфейса, загрузка и выгрузка данных может выполняться посредством встроенных средств, которые позволяют: выполнять чтение данных из внешних источников:
с файловой системы сервера;
с файловой системы клиента;
с FTP-ресурса;
с HTTP-сервера;
с использованием обращения к веб-сервису.
выполнять выгрузку данных из информационной системы:
на файловый сервер, доступный в сети;
на FTP-сервер;
передавать данные в интерактивном режиме на веб-сервис.
Пример описания структуры передачи данных в формате XML
LOAD – корневой элемент, содержащий перечень документов для обмена данными.
Контроль прав доступа
Настройка прав доступа к ИО осуществляется при помощи редактора реквизитов CARABI. Настройка осуществляется по ролям пользователей.
Ограничение доступа к учетным ИО
Ограничение пользователей к спискам ИО осуществляется в CARABI при помощи специального объекта – ИО Доступ к данным Название
Тип данных
Системное наименование
Подразделение
Выборка из таблицы "CLIENTS_TREE" [множ.]
DEPARTMENTS
Роль
Выборка из таблицы "VOCABS" [множ.]
ROLES
Пользователи
Выборка из таблицы "CLIENTS_TREE" [множ.]
USERS
Информационный объект
Выборка из таблицы "VOCABS"
IOBJECT
Фильтр
Текстовый
XMLFILTER
Комментарий
Текстовый
COMMENT
В фильтре при помощи специального экрана прописывается запрос в формате XML, ограничивающий Подразделение(или роль, или конкретного пользователя).
Поддержка версий хранилища
В специальной таблице СУБД ORACLE C_LICENSE размещается информация о владельце БД, дата формирования, серийном номере и номере версии ПО Управляющим систему. Номер версии кодируется следующим образом
MAJOR.MINOR.RELEASE.BUILD
MAJOR и MINOR - определяет общий номер версии системы CARABI
RELEASE - установленный комплекс ПО для управления БД
BUILD – номер версии конкретного приложения АИС.
После тестирования разработчиками и установки нового ПП для управления бизнес - функциями, обеспечивающими работу комплекса, меняется номер BUILD. Таким образом, сохраняя предыдущий BUILD, поддерживаются версии АИС и обеспечивается возможность отката версии в случае непреднамеренных ошибок при разработке.