Инструментальное средство автоматизации создания приложений баз данных на основе декларативных спецификаций
Автор: Фереферов Евгений Сергеевич, Бычков Игорь Вячеславович, Ружников Геннадий Михайлович, Хмельнов Алексей Евгеньевич
Журнал: Вестник Бурятского государственного университета. Философия @vestnik-bsu
Рубрика: Системный анализ, обработка информации и информационные технологии
Статья в выпуске: 9, 2011 года.
Бесплатный доступ
Статья посвящена проблемам автоматизации создания приложений для работы с базами данных. Для решений данной задачи авторы предлагают оригинальную инструментальную систему, позволяющую создавать информационные системы на основе декларативных спецификаций структур баз данных.
Базы данных, инструментальные системы, декларативные спецификации
Короткий адрес: https://sciup.org/148180505
IDR: 148180505
Текст научной статьи Инструментальное средство автоматизации создания приложений баз данных на основе декларативных спецификаций
Приложения для работы с базами данных (БД) являются одним из наиболее востребованных видов программного обеспечения (ПО), позволяющего автоматизировать работу предметных специалистов с постоянно растущим объёмом информации в виде баз данных.
Информационная среда современных промышленных предприятий, органов власти, научных организаций, как правило, состоит из набора автоматизированных рабочих мест (АРМ), часто реализованных на разных платформах и ориентированных под разные системы управления базами данных (СУБД). Для получения комплексных аналитических решений необходима интеграция данных из разных АРМов и расширение функционала существующих информационных систем (ИС) или при отсутствии исходных кодов вовсе разработка нового ПО.
Современные методы создания настольного ПО базируются на применении интегрированных сред разработки, таких как Delphi [1], C Builder [2], Visual Studio [3]. В арсенале современных IDE имеется большое количество компонентов, реализующих как части визуального интерфейса, так и бизнес логики для работы с БД, но их применение позволяет автоматизировать лишь малую часть процесса разработки, оставляя большую программисту. Как правило, АРМы создаются для работы с БД, имеющей определенную структуру, при этом для работы с каждой таблицей реализуется одинаковый набор функций. При изменении структуры БД (например, добавление новых таблиц или атрибутов) приходится вносить изменения в программный код, снова реализуя функции для работы с новыми элементами базы данных. Отсутствие автоматизации реализации однотипных функций для работы с таблицами БД приводит к большими временным и трудовым затратам при создании (модернизации) информационных систем.
Технология автоматизации создания АИС на основе декларативных спецификаций
Для автоматизации процесса создания приложений баз данных в ИДСТУ СО РАН разработана технология создания ИС на основе декларативных спецификаций1 (рис. 1). Для создания приложений БД используется настраиваемое универсальное автоматизированное рабочее место – «ГеоАРМ»2 [4], на вход которого поступает спецификация приложения баз данных. Для формирования спецификаций разработан язык представления баз данных (ЯПБД) [5], позволяющий в декларативном виде описывать как структуру БД (способ подключения к БД, структуры таблиц БД, связей между ними), так и структуру приложения (представления таблиц, способы отображения данных), а также способы интеграции с другими БД и ГИС.

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

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

Рис. 3. Редактор БД
В области задач отображаются элементы управления для решения различных задач обработки данных. Состав элементов управления для каждой таблицы или представления регулируется спецификацией. Для всех таблиц и представлений всегда присутствуют кнопки навигации (в режиме только на чтение кнопки модификации не активны), кнопка «Правка» для перехода в режим просмотра записи в виде формы, кнопки «Экспорт» и «Запрос». Также опционально могут присутствовать кнопки вызова надстроек и взаимодействия с электронной картой.
Область данных служит для отображения информации из выбранных в дереве сущностей таблиц или представлений. Информация из таблиц и представлений может отображаться в двух режимах: в табличном и в виде формы. За расстановку элементов управления на форме и в области задач отвечает менеджер компоновки [6].
Построитель пользовательских запросов является универсальной формой, которая настраивается на работу с конкретной таблицей при помощи спецификаций структуры БД. Построитель может работать как в упрощённом, так и в расширенном режиме. В упрощённом режиме пользователь видит таблицу с именами полей, в которой он может задать ограничения на значения некоторых из них, при этом конъюнкция условий образует условие запроса. При необходимости задать более сложное условие можно перейти в расширенный режим (рис. 4), в котором можно редактировать выражения в виде горизонтально ориентированного дерева.

Рис. 4. Расширенный режим построителя запросов
В расширенном режиме поддерживается формирование условий на записи подчинённых таблиц. При формировании таких условий построитель запросов вызывается рекурсивно.
В любом режиме способ редактирования условий на значения поля определяется информацией о типе поля из спецификации структуры БД.
Программный интерфейс предназначен для взаимодействия с надстройками, позволяющими решать специфические, не заложенные в архитектуру ГеоАРМ задачи. Надстройки реализуются в виде динамически подключаемых библиотек.
Подсистема «Карта» обеспечивает возможность работы с электронной топоосновой. Данный модуль реализован при помощи пакета GIS ToolKit из ГИС Панорама. В системе реализован механизм «Адресный план» – поиск на карте объектов по их почтовым адресам.
Картографический модуль позволяет просматривать картографическую информацию, находить на карте объекты, информация о которых содержится в БД, и, наоборот, находить в БД информацию, связанную с объектом карты. Также в модуле реализованы стандартные механизмы просмотра карты, такие как загрузка карты, масштабирование, перетаскивание карты, нанесение, удаление объекта, получение информации об объекте.
Привязка БД к карте может быть осуществлена двумя способами: через геокодирование, т.е. по полям, содержащим адреса домов, или привязкой к произвольным объектам карты через таблицу связей.
Заключение
Система ГеоАРМ может быть настроена без перекомпиляции на работу с любыми БД и позволяет организовывать работу с картой для баз данных, в которых изначально эта возможность не была предусмотрена. Настройка системы для работы с конкретной БД может быть выполнена специалистами предметной области в достаточно сжатые сроки. После настройки системы ГеоАРМ становится альтернативой уже существующего АРМа и в случае простых АРМов может их полностью заменить.