Физическая Организация управления БД АИС Все данные в АИС хранятся в СУБД 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, поддерживаются версии АИС и обеспечивается возможность отката версии в случае непреднамеренных ошибок при разработке.