Инструментальное средство автоматизации создания приложений баз данных на основе декларативных спецификаций

УДК 004.4'244

Е.С. Фереферов, И.В. Бычков, Г.М. Ружников, А.Е. Хмельное

ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО АВТОМАТИЗАЦИИ СОЗДАНИЯ ПРИЛОЖЕНИЙ БАЗ ДАННЫХ НА ОСНОВЕ ДЕКЛАРАТИВНЫХ СПЕЦИФИКАЦИЙ

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

Ключевые слова: базы данных, инструментальные системы, декларативные спецификации.

E.S. Fereferov, I.V. Bychkov, G.M. Rugnikov, A.E. Hmelnov

TOOLS FOR AUTOMATIZATION THE CREATION OF DATABASE APPLICATIONS BASED OF

DECLARATIVE SPECIFICATIONS

The article deals with the problems of automation to create applications to work with databases. To solve this problem the authors propose an original instrumental system, allows you to create information systems based on declarative specifications of database structures.

Keywords: data bases, tools, declarative specifications.

Введение

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

Информационная среда современных промышленных предприятий, органов власти, научных организаций, как правило, состоит из набора автоматизированных рабочих мест (АРМ), часто реализованных на разных платформах и ориентированных под разные системы управления базами данных (СУБД). Для получения комплексных аналитических решений необходима интеграция данных из разных АРМов и расширение функционала существующих информационных систем (ИС) или при отсутствии исходных кодов вовсе разработка нового ПО.

Современные методы создания настольного ПО базируются на применении интегрированных сред разработки, таких как Delphi [1], C Builder [2], Visual Studio [3]. В арсенале современных IDE имеется большое количество компонентов, реализующих как части визуального интерфейса, так и бизнес логики для работы с БД, но их применение позволяет автоматизировать лишь малую часть процесса разработки, оставляя большую программисту. Как правило, АРМы создаются для работы с БД, имеющей определенную структуру, при этом для работы с каждой таблицей реализуется одинаковый набор функций. При изменении структуры БД (например, добавление новых таблиц или атрибутов) приходится вносить изменения в программный код, снова реализуя функции для работы с новыми элементами базы данных. Отсутствие автоматизации реализации однотипных функций для работы с таблицами БД приводит к большими временным и трудовым затратам при создании (модернизации) информационных систем.

Технология автоматизации создания АИС на основе декларативных спецификаций

Для автоматизации процесса создания приложений баз данных в ИДСТУ СО РАН разработана технология создания ИС на основе декларативных спецификаций1 (рис. 1). Для создания приложений БД используется настраиваемое универсальное автоматизированное рабочее место - «ГеоАРМ»2 [4], на вход которого поступает спецификация приложения баз данных. Для формирования спецификаций разработан язык представления баз данных (ЯПБД) [5], позволяющий в декларативном виде описывать как структуру БД (способ подключения к БД, структуры таблиц БД, связей между ними), так и

1 Работа выполнена при частичной финансовой поддержке РФФИ проект 11-07-00426-а, междисциплинарного интеграционного проекта № 121 СО РАН, ОНИТ РАН (проект №3.1).

2 Свидетельство об официальной регистрации программы для ЭВМ № 2007613643. Программный комплекс для создания автоматизированных рабочих мест с картографической привязкой с использованием метаописаний структуры баз данных (ГеоАРМ) / И.В.Бычков, А.Е.Хмельнов, Е.С. Фереферов. 2007.

структуру приложения (представления таблиц, способы отображения данных), а также способы интеграции с другими БД и ГИС.

Рис. 1. Технология создания АИС на основе декларативных спецификаций

Универсальное автоматизированное рабочее место является инструментальным средством для создания спецификаций информационных систем и в то же время интерпретатором этих спецификаций. После интерпретации спецификации ГеоАРМ становится полнофункциональным АРМом предметного специалиста.

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

Архитектура инструментальной системы создания приложений БД Архитектура инструментальной системы ГеоАРМ (рис. 2) включает следующие основные компоненты: подсистему управления спецификациями, ядро системы, подсистему редактор БД, построитель пользовательских запросов, подсистему «Карта», программный интерфейс.

Рис. 2. Архитектура инструментальной системы создания приложений БД

Общая схема разработки и исполнения приложения БД в ИС ГеоАРМ выглядит следующим образом. С помощью подсистемы управления спецификациями создаётся спецификация приложения БД, которая загружается в ядро системы, в результате чего инструментальная система становится тематическим АРМ и обеспечивает возможность работы с БД через подсистемы «Редактор БД», «Построитель пользовательских запросов», «Карта» и позволяет решать специфические задачи при помощи библиотек-надстроек, подключаемых через встроенный программный интерфейс.

Ядро системы отвечает за взаимодействие всех подсистем ИС с СУБД, обеспечивая преобразование команд в терминах спецификации в команды интерфейсов для работы с СУБД.

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

Подсистема «Редактор БД» представляет собой динамический интерфейс для работы с БД, настраиваемый при помощи спецификации БД. Редактор (рис.3) содержит главное меню, дерево сущностей, области задач и данных. Главное меню содержит все функции ИС для быстрого доступа. В дереве сущностей отображаются описанные в спецификации имена таблиц и представлений приложения БД, объединённые в смысловые группы исходя из их назначения или функций.

а? АИС ГИС-вьювер | яа

Файл Таблицы Просмотр Карта Состояние Помощь

В іг^іі Адресный реестр  ІП Улицы ЭТИ Старые названия ЯШ Адреса В Адресный план ІП Улицы |1 а] Строения В  История

|П] Снесенные здания В (£3 Статистика

ИГЛ Улицы не привязаннь П Адреса не привязанні - (З) '- арта

ПТП Улицы Га] Адреса

т

Рис. 3. Редактор БД

В области задач отображаются элементы управления для решения различных задач обработки данных. Состав элементов управления для каждой таблицы или представления регулируется спецификацией. Для всех таблиц и представлений всегда присутствуют кнопки навигации (в режиме только на чтение кнопки модификации не активны), кнопка «Правка» для перехода в режим просмотра записи в виде формы, кнопки «Экспорт» и «Запрос». Также опционально могут присутствовать кнопки вызова надстроек и взаимодействия с электронной картой.

Область данных служит для отображения информации из выбранных в дереве сущностей таблиц или представлений. Информация из таблиц и представлений может отображаться в двух режимах: в

табличном и в виде формы. За расстановку элементов управления на форме и в области задач отвечает менеджер компоновки [6].

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

Рис. 4. Расширенный режим построителя запросов

В расширенном режиме поддерживается формирование условий на записи подчинённых таблиц. При формировании таких условий построитель запросов вызывается рекурсивно.

В любом режиме способ редактирования условий на значения поля определяется информацией о типе поля из спецификации структуры БД.

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

Подсистема «Карта» обеспечивает возможность работы с электронной топоосновой. Данный модуль реализован при помощи пакета GIS ToolKit из ГИС Панорама. В системе реализован механизм «Адресный план» - поиск на карте объектов по их почтовым адресам.

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

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

Заключение

Система ГеоАРМ может быть настроена без перекомпиляции на работу с любыми БД и позволяет организовывать работу с картой для баз данных, в которых изначально эта возможность не была предусмотрена. Настройка системы для работы с конкретной БД может быть выполнена специалистами предметной области в достаточно сжатые сроки. После настройки системы ГеоАРМ

становится альтернативой уже существующего АРМа и в случае простых АРМов может их полностью заменить.

Литература

1. Фаронов В.В. Delphi 2005. Разработка приложений для баз данных и Интернета.- СПб.: Питер, 2006. 608 с.

2. Хомоненко А. Работа с базами данных в C++ BUILDER. СПб.: БХВ-Петербург, 2006. 496 с.

3. Рендольф Н., Гарднер Д., Минутилло М., Андерсон К. Visual Studio 2010 для профессионалов. Киев: Диалектика, 2011. 1184 с.

4. Бычков И.В., Гаченко А.С., Фереферов Е.С., Хмельнов А.Е. Система создания автоматизированных рабочих мест с возможностью обработки пространственных данных на основе метаописаний структур баз данных // Современные технологии. Системный анализ. моделирование. 2008. Спец. вып. С. 12-18.

5. Фереферов Е.С., Хмельнов А.Е. Язык представления баз данных // Инфокоммуникационные и вычислительные технологии и системы: материалы III междунар. конф. - Улан-Удэ: Изд-во Бурят. гос. ун-та, 2010. С. 269 - 272.

6. Фереферов Е.С., Хмельнов А.Е. Реализация менеджера размещения визуальных компонентов в Delphi // Вычислительные и информационные технологии в науке, технике и образовании: материалы междунар. конф. Алматы; Новосибирск, 2008. Т. 13. С. 283 - 287.

Фереферов Евгений Сергеевич, научный сотрудник ИДСТУ СО РАН, 664033, г.Иркутск, ул. Лермонтова, 134, тел. (395-2) 453071, e-mail: fereferov@icc.ru.

Бычков Игорь Вячеславович, чл.-кор. РАН, доктор технических наук, директор ИДСТУ СО РАН, тел. (395-2) 427100, e-mail: bychkov@icc.ru

Ружников Геннадий Михайлович, кандидат технических наук, ИДСТУ СО РАН, тел. (395-2) 453006, e-

mail: rugnikov@icc.ru.

Хмельнов Алексей Евгеньевич, кандидат технических наук, заведующий лабораторией ИДСТУ СО РАН, тел. (395-2) 453071, e-mail: hmelnov@icc.ru.

Fereferov Evgeniy Sergeevich, researcher of Institute for System Dynamics and Control Theory of SB RAS, e-mail: fereferov@icc.ru

Bychkov Igor Vyacheslavovich, Corresponding Member of RAS, doctor of technical science, director of Institute for System Dynamics and Control Theory of SB RAS.

Rugnikov Gennadiy Mikhailovich, candidate of technical science, Institute for System Dynamics and Control Theory of SB RAS.

Hmelnov Alexey Evgenievich, candidate of technical science, Chief of laboratory of Institute for System Dynamics and Control Theory of SB RAS.