А.Н.Копайгородский, Л.В.Массель
Разработка и интеграция основных компонентов информационной инфраструктуры научных исследований*
Введение, Эффективность функционирования любой организации, в том числе и научного учреждения, зависит от качества производственной инфраструктуры, то есть комплекса услуг, обеспечивающих выполнение основных бизнес-функций организации, Активное и все возрастающее использование информационных технологий для поддержки деятельности предприятий заставляет выделить в отдельную группу услуги, связанные с обработкой данных - информационные и аналитические системы, системы документооборота, системы управления и т.п., образующие ИТ-инфраструктуру организации, которая базируется на современных информационных технологиях. Создание информационной инфраструктуры научных исследований рассматривается на примере системных исследований в энергетике.
Разрабатываемая в Институте систем энергетики им. Л.А. Мелентьева СО РАН ИТ-инфраструктура системных исследований в энергетике, или, иначе, теле-коммуникационная распределенная вычислительная инфраструктура [1], включает три основных компонента: информационную, вычислительную и телекоммуникационную инфраструктуры. В перспективе предусматривается выделение интеллектуальной инфраструктуры, в которую будут интегрированы разрабатываемые интеллектуальные компоненты. В настоящей статье рассматривается создание информационной инфраструктуры, выполняющей интегрирующую роль при создании ИТ-инфраструктуры.
Особенностью системных исследований в энергетике является то, что научные сотрудники разрабатывают свои собственные математические методы, реа-лизовывают их в виде программных продуктов, разрабатывают методики проведения исследований, осуществляют подготовку исходной информации и проводят исследования, базирующиеся на вычислительных экспериментах. На основании результатов исследований, в том числе, готовятся прогнозы и рекомендации института для вышестоящих органов.
Информационная инфраструктура научных исследований [2] должна поддерживать выполнение следующих функций:
¡.Создание и организацию хранения описаний ресурсов института, среди которых можно выделить:
■ информационные - базы данных, хранилища данных, наборы данных, онтологии;
■ вычислительные - программы и программные комплексы;
■ трудовые - научные сотрудники института, разработчики баз данных и программных комплексов;
■ научно-исследовательские - НИР, проекты, гранты и т.п.;
■ сервисные - Web-сервисы, имеющиеся в институте;
■ электронные - публикации;
■ внутренние - вспомогательная информация для работы сервисов.
2.Поиск необходимого ресурса по метаданным (описаниям хранимых ресурсов).
3.Преобразование метаданных из внутреннего стандарта в общепринятые стандарты (например, Dub-linCore, RDF, XML и др.).
4.Создание и организация хранения онтологий предметных областей (для ИСЭМ СО РАН: как энергетики в целом, так и отдельных энергосистем), а также научных исследований, ведущихся в институте.
5.Организационная, информационная и вычислительная поддержка системных исследований в энергетике.
При реализации информационной инфраструктуры предлагается использовать компонентный подход. Идея компонентного программного обеспечения явилась следствием развития объектно-ориентированного подхода (ООП) к разработке программ. Эта идея переводит разработчика на более высокий, по сравнению с ООП, уровень абстракции. Основной структурной единицей при разработке такого ПО является компонент (вместо классов и объектов в ООП). Компонентный подход позволяет строить более сложные программные системы, производить перекомпоновку системы, с тем, чтобы она решала другие задачи, что заметно облегчает эволюцию (изменение ПО в связи с изменением внешних условий) и развитие ПО. Описа-
*Работа выполняется при частичной поддержке грантов: РФФИ №04-07-90401, РГНФ №04-02-0027 К РФФИ №06-07-89215
Репозитарий
Рис. I. Структура Репозитария
ние того, как программная система компонуется из составляющих ее компонентов, называется ее архитектурой. Программная система обладает гибкостью, если ее архитектура позволяет убирать, заменять компоненты и изменять конфигурацию составляющих ее компонентов без изменения остальных частей системы [3-5].
Основным компонентом Информационной инфраструктуры является Репозитарий - специализированное хранилище данных, которое позволяет хранить, находить и использовать информацию о других компонентах ИТ-инфраструктуры, базах данных, программных комплексах, исследованиях и пр. [6].
Структура Репозитария. Репозитарий (рис. 1) состоит из базы метаданных (в общем случае некото-
Атрибуты
poro абстрактного хранилища информации), используемой для хранения атрибутивной информации обо всех объектах системы (в т.ч. онтологий) и хранилищ файлов, содержащих модели данных и документацию о программных комплексах. По информационному наполнению Репозитарий содержит метаданные о программных продуктах, базах данных, которые разработаны или используется в ИСЭМ СО РАН, описание структуры БД в виде ER-диаграмм, информацию об исследованиях, которые выполняются либо уже завершены, данные о сотрудниках (авторы, пользователи, владельцы информации) и подразделениях института.
Модель данных [7], лежащая в основе Репозитария, представлена на рис. 2, Модель данных включает 9 отношений:
Рис. 2. Модель данных, лежащая в основе Репозитария
■ «Типы_объектов» - содержит наименование всех типов объектов, которые могут быть описаны в Репозитарии.
■ «Атрибуты» - перечень всех атрибутов каждого типа объектов.
■ «Типы_атрибутов» - список типов атрибутов (строка, целое число и пр.).
в «Типы_отношений» - названия отношений, в которые могут вступать объекты.
■ «Возможные_отношения» - содержит информацию о том, какие отношения могут возникать между различными объектами с указанием степени связанности этим отношением.
■ «Экземпляры» - экземпляры объектов, которые отображены в Репозитарии.
■ «Значения_атрибутов» - значения атрибутов для каждого экземпляра.
■ «Связи_экземпляров» - хранит информацию о существовании конкретного отношения между конкретными экземплярами,
■ «Файлы» - перечень файлов, которые хранятся в хранилище файлов, используется для ускоренного поиска местоположения файла в файловой системе,
Такой подход к построению БД имеет свои достоинства; во-первых, структура хранимых объектов в БД не является жесткой (как в случае, если атрибуты объектов являлись бы атрибутами отношений, а типы объектов - отдельными отношениями), во-вторых, возможна реализация простых алгоритмов для обработки атрибутов объектов хранения, так как структура хранения всех атрибутов для любых объектов одинакова,
Механизмы манипулирования данными в такой структуре достаточно сложны (требуется отслеживание целостности большого количества ссылок между отношениями), поэтому для решения этих задач разработан ряд хранимых процедур (в настоящий момент 42), которые образуют уровень бизнес-логики Репозитария. Используя эти процедуры, можно достаточно легко создавать объекты, модифицировать атрибуты объектов, устанавливать значения конкретных атрибутов и пр. С помощью процедур также решается задача обеспечения безопасности и целостности данных.
Все операции, выполняемые над метаданными, подразделяются на три класса:
1) управление структурой хранения метаданных в Репозитарии - описание объектов хранения (типов сущностей и атрибутов), описание возможных отношений между объектами и правил их построения - эти операции выполняются только администраторами Репозитария;
2) управление метаданными - создание/изменение/удаление экземпляров сущностей, изменение атрибутов сущностей, связывание сущностей отношениями - операции производятся специалистами предметных областей;
3) получение информации о сущностях и их атрибутах - поиск сущностей по заданным значениям атрибутов, отношениям, получение списка хранимых сущностей, выборка значений атрибутов сущностей -доступны для анонимных и авторизованных пользователей, получение информации для каждой группы пользователей возможно только в соответствии с их правами доступа.
Для поддержки базы метаданных необходимо использовать систему управления базами данных (СУБД), удовлетворяющую следующим требованиям. СУБД должна:
■ быть реляционной;
■ обеспечивать сетевой доступ и транзакцион-ную работу с данными;
■ поддерживать хранимые процедуры и триггеры;
* быть открытой — иметь возможности для программного расширения своего ядра.
Этим требованиям удовлетворяют ряд СУБД: Microsoft SQL Server 7/2000/2005, Oracle 8/9i/10g, InterBase 6/6.5/7, FireBird 1.0/1.5, Postgree SQL 7.1/7.2/7.3 и др. Они позволяют организовывать не только работу в многопользовательской сетевой среде, выполнять обработку данных на стороне сервера, но и предоставляют возможность разработчику самостоятельно реализовать дополнительные функции, оформленные в виде подгружаемых программных модулей. В настоящий момент для хранения метаданных используется СУБД FireBird 1.5.2, которая распространяется бесплатно и реализована для платформ Windows и Unix/Linux, что, бесспорно, дает дополнительные преимущества перед другими системами и позволяет использовать как коммерческие, так и свободно распространяемые серверные операционной системы.
Для организации доступа к документам (файлам), хранимым в Репозитарии, предлагается использовать специальный внутренний сервис - менеджер файлов, который выполняет процесс преобразования логического имени определенного файла, хранимого в Репозитарии, в поток данных для чтения или записи. Менеджер файлов, являясь посредником между файловой системой, содержащей физические файлы, базой метаданных, хранящей логические имена файлов, и внешними компонентами (или пользователем), позволяет организовать хранение сколь угодно больших объемов данных и обеспечить их защиту от несанкционированного доступа.
Файлы, к которым организуется доступ, могут быть расположенными как на одном дисковом массиве, так и распределенными между несколькими массивами. При использовании менеджера файлов возможна также реализация компрессии и декомпрессии «на лету» - прозрачно для компонентов в процессе чтения из Репозитария или записи в него. Для организации высокой надежности и обеспечения хорошей производи-
тельности дисковой подсистемы сервера баз данных разработчики СУБД рекомендуют использовать аппаратную технологию RAID 10 как наиболее эффективную для работы с данными, к которым производиться произвольный доступ с относительно большим процентом операций записи (более чем 10% записи и 90% чтения) [8], При меньшем проценте операций записи скорость доступа к информации в дисковых массивах RAID 5 (RAID 3) незначительно уступает в массивах RAID 10. Избыточность информации для восстановления в RAID 10, поэтому более "экономными" являются массивы RAID 3 и RAID 5, при этом для организации массива 10 требуется наличие минимум четырех дисков, а для 3 и 5 достаточно трех [9].
Архитектура информационной инфраструктуры. Схема взаимодействия компонентов информационной инфраструктуры приведена на рис. 3. Компоненты можно разделить на три логических уровня: уровень файловой системы, СУБД и уровень клиента. Уровень файловой системы включает:
в файлы базы метаданных;
■ файлы, находящиеся в хранилище.
Файловая система обеспечивает безопасное хранение информации и быстрый доступ к ней, а также взаимодействие через сеть в случае распределенного файлового хранилища.
На уровне СУБД функционируют три компонента:
■ ядро СУБД, организующее сетевой доступ к базе метаданных и обработку информации с помощью запросов, хранимых процедур, триггеров;
■ программное ядро Репозитария, которое обеспечивает управление сервером, а также организует доступ к хранилищу файлов;
■ библиотека дополнительных функций, реализующая преобразование таблиц символов, вычисление hash-функций, вычисление MD5 и прочие,
Программное ядро Репозитария и библиотека
функций конвертации загружаются СУБД автоматически во время запуска системы, работают в среде ядра СУБД и расширяют его возможности. При этом некоторые запросы (например, к файловому хранилищу) перенаправляются во внешние, по отношению к ядру СУБД, программные модули. Таким образом, эти компоненты являются универсальными и согласованы с ядром СУБД по интерфейсам взаимодействия, поэтому в случае смены СУБД потребуется заново реализовать только интерфейс.
На уровне клиента работают:
■ программа администрирования Репозитария;
■ драйвер Репозитария;
■ Web-сервисы, которые строят запросы к Ре-позитарию через драйвер.
В общем случае все клиентские компоненты могут функционировать по сети. Базовым протоколом передачи данных является тот, который поддерживает СУБД, в настоящий момент этим протоколом является GBD поверх протокола TCP/IP. Драйвер Репозитария является универсальным и обеспечивает поддержку различных протоколов СУБД: MySQL 3.20-4.1, PostgreSQL 6.5-7.3, Firebird 1.0/1.5, Interbase 5.0-7.5, Microsoft SQL Server 7/2000, Sybase ASE 12.0/12,5, интерфейсы OLE-DB, ADO и ODBC, Наличие трех последних интерфейсов предоставляет возможность использовать универсальные технологии доступа к целому ряду СУБД, которые напрямую не поддерживаются драйвером. Драйвер является динамической библиотекой и имеет программный интерфейс (API) для вызова различных функций; функции отключения и подключения к Репозита-рию, поиска объектов, запроса информации по конкретным объектам и прочие. В программе администрирования драйвер не выделен и является составной частью, а Web-сервис, напротив, все общение с Репо-зитарием строит посредством драйвера.
Программа администрирования Репозитария раз-
Драйвер Репозитария
Программное ядро Репозитария
Программа I администрирова ■ ния Репозитария
База метаданных
I ...
Файловое хранилище
Ч. '••••——
инфраструктуры
Библиотека
—►! ФУНКЦИЙ
конвертации
; - '_______ _ i
.
Web-сервисы
Рис. 3. Схема взаимолействия компонентов информационной
работана в Borland Delphi 6 специально для выполнения административных задач, Она позволяет достаточно легко проводить первоначальное проектирование и изменение структуры хранения метаданных, вносить и модифицировать описания информационных объектов Репозитария, а также дает возможность извлекать все или часть данных из Репозитария в различных форматах,
Выгрузка данных реализована с помощью специальных хранимых процедур, которые построчно формируют текстовые файлы с заданной структурой (HTML, XML, TXT и прочей). Использование такого метода гарантирует корректность и целостность извлекаемой информации, так как код процедур экспорта хранится прямо внутри Репозитария.
В настоящее время реализованы два Web-сервиса, которые, как и программа администрирования Репозитария, показывают «внутреннее» наполнение Репозитария пользователю. При этом отображение информации идет в виде HTML страниц, а просмотр осуществляется обычным Web-обозревателем. Пользователь ощущает себя в привычной «Internet-среде», используя уже достаточно знакомые программные средства, приемы навигации и поиска информации в Internet.
Для конечного разработчика предусмотрена возможность использовать различные механизмы управления и протоколы доступа к Репозитарию: посредством технологии SOAP (Simple Object Access Protocol) no протоколу HTTP через Web-сервис, через драйвер Репозитария, с помощью прямого подключения к СУБД Репозитария либо через программу администрирования (для проведения некоторых действий по настройке, созданию процедур экспорта, отслеживанию возможных ошибок и корректировки данных), Возможно также использование Репозитария не только для извлечения описания объектов, но и как единого источника информации: организуя выполнение запросов через драйвер и единый универсальный интерфейс Репозитария, Конечно, регистрация объектов Репозитария как источников данных должна идти с разрешения их владельцев, однако возможно внесение только описания этих информационных объектов.
Выводы. Отличие предлагаемого подхода к организации информационной инфраструктуры от других проектов, например, интегрированной системы информационных ресурсов РАН (ИСИР) [10], состоит в том, что в нашем случае предлагается использовать описания информационных ресурсов не только для публикации на сервере и получения справочной информации, но и для поддержки научных исследований (а именно - для системных исследований в энергетике).
Предлагаемый подход является универсальным и позволяет в достаточно легкой форме представить различные области системных исследований, внести описания не только программных комплексов, баз данных, но и других информационных объектов. Реализована возможность доступа к данным через универсальный интерфейс Репозитария с помощью технологии SOAP или драйвера, зарегистрированного в операционной системе клиента.
Предлагаемый подход позволяет решить задачу интеграции информационных ресурсов для проведения системных исследований в энергетике. Универсальность предложенного подхода подтверждается тем, что сформулированные в нем идеи и предложения используются при выполнении грантов РФФИ № 04-07-90401, РГНФ № 04-02-00271, РФФИ №06-07-89215,
Библиографический список
1, Массель ЛВ. Методы и технологии создания ИТ-инфраструктуры научных исследований II Труды X Байкальской Всероссийской конференции "Информационные и математические технологии в науке, технике и образовании",- Иркутск: ИСЭМ СО РАН, 2005. - С. 57-65.
2, Копайгородский А.Н., Макагонова Н.Н., Трипутина В,В. Информационная инфраструктура научных исследований II Труды X Байкальской Всероссийской конференции "Информационные и математические технологии в науке, технике и образовании",- Иркутск: ИСЭМ СО РАН, 2005, - С. 72-80.
3, Шевель А, Технология GRID II Открытые системы.-2001,- №2, - С, 12-17,
4, Web-сервисы: прогнозы на 2004-й год и далее // Открытые системы,- 2004,- №2,- С, 5,
5, Борт Д. Когда миром правит SOA II Computerworld-2005,- №8, - С, 42,
6, Щавелев ЛВ, Способы аналитической обработки данных для поддержки принятия решений II СУБД,- 1998,- № 4-5, - С, 122-127.
7, Конолли Т.; Бегг К., Страчан А, Базы данных; проектирование, реализация и сопровождение, Теория и практика, 2-е изд.-М.: Изд. дом "Вильяме", 2000. - 1120 с,
8, Гарсена М.Ф, и др. Microsoft SQL Server 2000. Справочник администратора, 2-е изд,/Пер. с англ,- М.: «СП ЭКОМ», 2004. - С. 93-123,
9, Копайгородский А.Н. Организация систем резервного копирования и хранения информации // Научные труды V Международной научно-практической конференции "Фундаментальные и прикладные проблемы приборостроения, информатики, экономики и права",- М.: МГАПИ, 2002, - С, 78-82.
10, Бездушный А,А., Бездушный А.Н., Нестеренко А,К„ Серебряков В,А„ Сысоев Т.М. Архитектура и технологии RDFS-среды разработки цифровых библиотек и Web-порталов, // Электронные библиотеки, 2003, Том 6, Выпуск 4,-h1tp://www.elbib, ru/index, phtml?page=elbib/rus/journal/2003/part3/ BBNSS,