Конференции ИВТ СО РАН
«Вычислительные и информационные технологии
в науке, технике и образовании»
Алматы, Казахстан, 6 – 10 октября 2004 года
Тезисы докладов
Архитектура комплекса программ для создания и сопровождения распределённых информационных систем
Сибирский государственный аэрокосмический университет имени академика М.Ф. Решетнева (Красноярск)
Архитектура комплекса программ "Обучение и тестирование" нового поколения должна обладать следующими характеристиками:
- ядром, которое обеспечивает функционирование распределённых информационных систем;
- возможностью дополнения новыми сервисными услугами, методиками тестирования, формами отчетов и другими средствами;
- гибкостью настроек, входящих в него подсистем;
- пользовательским интерфейсом, который динамически настраивается под запросы конкретного клиента.
Удовлетворить этим требованиям можно, если за основу структуры комплекса взять идеологию подсистем, каждая из которых решает определенный набор задач и связана с другими подсистемами через само ядро. Данное ядро предоставляет программный интерфейс для всех подсистем комплекса, используя один из стандартных механизмов взаимодействия между процессами.
Функциональность ядра включает:
- Управление учётными записями и параметрами безопасности;
- Обслуживание баз данных (создание, резервное копирование, репликация и др.);
- Единый механизм установления соединения клиентских приложений с источниками данных;
- Передачу наборов данных в формате XML;
- Ведение журналов событий и аудита;
- Общий механизм работы с подключаемыми модулями;
- Процедуры взаимодействия приложений со службой каталога;
- Работу с почтовыми службами;
- Шифрование и выдачу ключей сертификатов.
Каждая из подсистем использует функциональность ядра для решения общих задач и обращается к своему брокеру для осуществления связи с хранилищем данных, которым в тот или иной момент времени является один из серверов баз данных или локальная папка компьютера с мгновенным снимком части реальной базы.
Брокером данных называется набор программных библиотек, которые являются промежуточным звеном между сервером баз данных и клиентским приложением, реализующие полный доступ к данным для каждого клиента. Они решают определённый набор задач, обеспечивающий разгрузку клиентских приложений, что позволяет сделать их независимыми от конкретного типа сервера баз данных и обеспечивает их "тонкость" при соблюдении требуемых правил и при учёте ограничений наложенных на данные библиотеки. Предложено создать брокера данных трёх типов: однопользовательский, сетевой и корпоративный.
Важная часть ядра - механизм, обеспечивающий единый стандарт использования подключаемых модулей, которые позволяют расширять его функциональные возможности без перекомпиляции приложений, путём добавления новых библиотек или корректировки созданных ранее.
Поскольку существует возможность реализации брокеров данных для различных типов серверов, должен существовать единый механизм работы с учетными записями пользователей и правами доступа к данным, включающий следующие функции:
- Разграничение доступа к информации в таблицах баз данных до уровня записи;
- Выполнения задач администрирования, использующие списки контроля доступа;
- Доступа к службе каталога, служебная база данных которого используется для централизованного хранения информации, общей для всех частей системы.
Для обеспечения работы удаленных клиентов без наличия постоянного соединения с центральным узлом используются механизмы репликации. Из множества типов репликации выбран способ, основанный на ведении журнала изменений с разделением распределённой базы на филиалы, один из которых является главным. Пакет, передаваемый от филиала на центральный узел и обратно, содержит в себе только изменения выполненные пользователями и отраженные в журнале данного филиала.
Предложен механизм, упрощающий процесс кодировки визуализации простейших таблиц (справочников) на основе шаблонных форм. Эти формы содержат необходимую функциональность для взаимодействия с брокерами данных, основанную на технологии DataSnap. Для создания элементарного справочника любого типа разработчику требуется реализовать соответствующую бизнес-логику в брокере данных, затем, используя механизм наследования, получить потомка шаблонного класса, дополнив его необходимой функциональностью, которая характерна для этого справочника.
Примечание. Тезисы докладов публикуются в авторской редакции
© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск