Применение декларативных спецификаций для разработки и интеграции информационных систем

4. Информационные системы и технологии

УДК 004.75

©А. А. Ветров, А. С. Гаченко, Е. С. Фереферов, А. Е. Хмельное

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

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

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

©A A. Vetrov, A. S. Gachenko, Е. S. Fereferov, А. Е. Hmelnov

BUILDING AND INTEGRATION OF INFORMATION SYSTEMS BASED ON DECLARATIVE SPECIFICATION

The article is devoted to actual problems of information systems development and their integration into a single information-analytical environment of large organizations. The authors propose an original approach to the information systems development to interact with relational databases, spatial data, multidimensional data analysis, based on declarative specifications, significantly reducing development systems time and to simplify inter-system integration.

Keywords: information systems, GIS, databases, OLAP, specification.

Введение

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

1 Работа выполнена при частичной финансовой поддержке РФФИ проект № 1407-31339

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

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

1. Подходы к разработке информационных систем

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

На сегодняшний день существует большое количество технологий разработки ИС. Каждая предоставляет разработчикам те или иные преимущества, и имеют свои недостатки. Например, технологии разработки ИС, основанные на императивном программировании и использовании развитых библиотек визуальных компонентов (например, VCL [1], MFC [2], FCL [3]) предоставляют общецелевые инструментальные средства и позволяют ускорить создание программ за счёт применения готовых компонент, реализующих как части визуального интерфейса, так и бизнес-логики для взаимодействия с БД. Недостатком данного подхода является необходимость вносить изменения в программный код ИС каждый раз, когда изменяется структура данных (например, добавляются новые поля в таблицах, корректируется тип поля), заново реализуя функции для доступа к новым элементам БД.

Существующие подходы в области объектно-реляционного отображения (например, Hibernate/NHibernate [4], Entity Framework [5]) позволяют ускорить разработку приложений баз данных (ПБД) за счёт автоматизации построения объектной модели обеспечивающей взаимодействие с сущностями реляционной БД и являющейся описанием структуры БД для приложения. При этом часть программного кода, в частности классы соответствующие сущностям БД, классы обеспечивающие преобразование объектных запросов в SQL-запросы, генерируется автоматически. Необходимо отметить, что изменения в структуре БД приводят к необходимости перегенерации классов, что не является сложным процессом, но тре-

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

Технологии порождающего программирования [6-8] позволяют значительно сократить время разработки ИС за счет формализации знаний о структуре системы в виде модели, при этом единожды выделив схожие структуры данных и присущие им бизнес-процессы в отдельные компоненты, а также сгенерировав соответствующие им сценарии создания структур в СУБД, алгоритмы обработки бизнес-процессов, экранные формы и распространять их на все подобные компоненты. Необходимо отметить, что сгенерированный код при этом является грубым каркасом будущей системы, поэтому практически всегда его требуется дорабатывать вручную, при этом полученные изменения не отражаются в исходных абстрактных моделях системы

Большинство БД современных ИС содержат информацию о реально существующих физических объектах, имеющих пространственные характеристики (например, почтовый адрес, координаты, кадастровый номер). Для решения задач обработки, представления и анализа пространственных данных (ПД) современные ИС должны в том или ином объёме включать соответствующие функциональные возможности геоинформационных систем (ГИС). Современные ГИС предлагают разработчикам API (например, GisToolKit, МарХ) реализации ГИС-функциональности. Несмотря на развитость этих API, реализация таких функций - сложная и трудоёмкая задача, требующая знаний в области геоинформационных технологий. Реализация ГИС-функциональности существующими методами часто приводит к дублированию функций целевой ГИС в разрабатываемой системе, поскольку используют доступ к данным из приложения ГИС. Модернизация существующих ИС, направленная на интеграцию с функциями обработки ПД, как правило, требует наличия исходных кодов этих ИС у разработчика, а в случае их отсутствия приводит к необходимости повторной разработки системы.

2. Разработка информационных систем на основе декларативных

спецификаций

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

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

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

Пользователь

Рис. 1. Схема взаимодействия пользователя с данными в рамках технологии спецификации ПБД Представленная технология предоставляет широкие возможности межсистемной интеграции. Описание моделей в виде спецификаций систем позволяет поддержать модульную разработку ИС - интегрировать

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

Рис. 2 Интеграция АРМов на уровне спецификаций

3. Технологии создания \¥еЬ-ориентированных информационных систем

Для автоматизации создания \¥еЬ-ориентированных систем в ИДСТУ СО РАН разработаны технологии, обеспечивающие публикацию, как информации из БД, так и пространственных данных в виде цифровых карт с привязкой к ним данных. Основой данных технологий также является использование декларативных спецификаций.

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

ля этой таблицы. Таким образом, при этом все объекты слоя характеризуются одним и тем же ограниченным набором атрибутов. Так как цифровые карты невозможно использовать без семантической информации (табличные данные), то авторами разработан оригинальный формат SMD (Static Map Data) [16]. Данный формат позволяет эффективно (по времени отображения и загрузки информации в память) визуализировать пространственные объекты. Хранение семантической информации в формате SMD обеспечено разработкой модулей, предназначенные для хранения неизменяемых таблиц - статическая БД (СБД). Особенностью разработанного представления является возможность эффективного включения в таблицу большого количества необязательных полей. При этом допускается наличие в одной записи нескольких значений одного необязательного поля. С другой стороны, в СБД могут быть эффективно представлены и реляционные таблицы, вообще не содержащие необязательных полей. Неизменяемость данных используется для оптимизации хранения строковых значений в СБД: все строки собираются в блок строковых констант, в котором каждая строка встречается только один раз, а записи содержат ссылки на этот блок.

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

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

4. Инструментальная система интегрированного OLAP-анализа

Проведение информационно-аналитической работы требует создания единого, неизменяемого, предметно-ориентированного, привязанного ко времени информационного ресурса - хранилища данных (ХД) [15]. Конечной целью использования ХД является анализ данных и представление результатов этого анализа в виде, удобном для восприятия и принятия решений. Одним из наиболее востребованных видов анализа является OLAP анализ (On-line analytical processing) [16]. OLAP - ключевой ком-

понент организации ХД, цель которого обеспечить пользователей гибким, интуитивно понятным и простым доступом к данным.

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

Система MDAttr реализует:

• многомерное концептуальное представление данных с полной поддержкой множественных иерархий;

• авторскую технологию интегрированного OLAP-анализа;

• генерируемый графический пользовательский интерфейс на основе спецификаций приложения;

• поддержку большинства современных систем управления базами данных (СУБД) через интерфейс ADO (ActiveX Data Objects);

• привязку пространственных данных с возможностью построения тематических карт;

• вычислимые поля, задаваемые выражениями;

• многоязычный пользовательский интерфейс;

• построение диаграмм по результатам анализа;

• экспорт данных в электронные таблицы, для использования сторонними системами.

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

Заключение

В рамках программ информатизаций органов государственной власти и местного самоуправления в ИДСТУ СО РАН с применением описанных выше технологий разработаны более десятка информационных систем, обеспечивших автоматизацию деятельности ключевых структурных подразделений. Для решения задач жилищно-коммунального хозяйства г. Иркутска разработаны: ИС «Управление многоквартирными домами», ИС

«Отдел жилищного хозяйства», ИС «Отдел коммунального хозяйства». Для обеспечения поддержки градостроительной деятельности разработаны: ИС «Реестр строящихся зданий и сооружений», ИС «Формирование градостроительного плана», ИС «Геодезические съемки», ИС «Учет градостроительной документации», ИС «Книги хранения», ГИС «Адресный план», ИС «Единый общегородской реестр адресов недвижимости», ИС «Ветхое жилье», ИС «Объекты топонимики», а также слои муниципальной ГИС «Детские и спортивные площадки», «Рекламные конструкции», «Площадки для твердых бытовых отходов», «Сети освещения», «Избирательные округа».

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

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

Литература

1. VCL Overview //Embarcadero. URL: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpd ate2/EN/html/devwin3 2/vclov_xml .html

2. Приложения MFC для рабочего стола. Microsoft Developer Network. URL: http://msdn.microsoft.com/ru-ru/library/d06h2x6e.aspx

3. .NET Framework Class Library Overview// Microsoft Developer Network. URL: http://msdn.microsoft.com/en-us/library/hfa3fa08(v=vs. 110).aspx

4. Hibernate ORM documentation//Hibernate ORM. URL: http://hibernate.org/orm/ documentation/

5. Entity Framework (EF) Documentation.//Microsoft. Data Developer Center. URL: http://msdn.microsoft.com/en-us/data/ee712907

6. Грибачёв К. Delphi и Model Driven Architecture. Разработка приложений баз данных. СПб.: Питер, 2004.

7. Грибова В.В., Кисленок Р.С. Автоматизация разработки визуального представления пользовательского интерфейса по модели предметной области. //Искусственный интеллект. 2006. No. №4. с. 148-152.

8. Черкашин Е.А., Федоров Р.К., Бычков И.В., Парамонов В.В. Автоматизация синтеза ядра информационной системы с использованием UML-описания. //Вычислительные технологии. 2005. Т. 10. С. 114-121.

9. Фереферов Е.С., Хмельнов А.Е. Автоматизация создания пользовательского интерфейса на основе модели приложения баз данных // Вестник Бурятского гос. ун-та. 2013. № 9. С. 100-118.

10.Фереферов Е.С., Бычков И.В., Хмельнов А.Е. Технология разработки приложений баз данных на основе декларативных спецификаций // Вычислительные технологии. 2014. Т. 19, № 5. С. 85-100.

П.Ветров А.А., Фереферов Е.С., Хмельнов А.Е. Технология использования метаописаний для формирования хранилищ данных и анализа многомерных данных // Вестник Бурятского государственного университета. 2011, № 9, с. 83-86.

12.Ветров А. А., Фереферов Е. С., Хмельнов А. Е., Шигаров А. О. Формирование хранилища данных для системы MDAttr // Вестник Бурятского государственного университета. — 2012. — № 9. — С. 22 - 28.

13.Introduction to EAV Model in Magento// Magento Planet. URL: http ://magentoplanet. wordpress .com/2014/03/19/introduction-to-eav-model-in-magento/

14.Inmon W. Building the Data Warehouse. Wiley, 2005. - 543 c.

15.Codd E.F., Codd S.B., and Salley C.T. "Providing OLAP (On-line Analytical Processing) to User-Analysts: An IT Mandate". Codd & Date, Inc. 1993.

16.Бычков И.В., Гаченко A.C., Ружников Г.М., Фереферов Е.С., Хмельнов А.Е., Фёдоров Р.К. Интеграция информационно-аналитических ресурсов и обработка пространственных данных в задачах управления территориальным развитием // Новосибирск: Изд-во СО РАН, - 2012. -369 с.

References

1. VCL Overview // Embarcadero. URL: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpd ate2/EN/html/devwin3 2/vclov_xml .html

2. MFC Desktop applications. Microsoft Developer Network. URL: http://msdn.microsoft.com/ru-ru/library/d06h2x6e.aspx

3. .NET Framework Class Library Overview// Microsoft Developer Network. URL: http://msdn.microsoft.com/en-us/library/hfa3fa08(v=vs. 110).aspx

4. Hibernate ORM documentation//Hibernate ORM. URL: http ://hibernate .org/orm/ documentation/

5. Entity Framework (EF) Documentation.//Microsoft. Data Developer Center. URL: http://msdn.microsoft.com/en-us/data/ee712907

6. Gribachev K. Delphi and Model Driven Architecture. Database applications development. SPb .: Piter, 2004.

7. Gribova V.V., Kislenok R.S. Automate the development of visual representation of the user interface for the domain model. // Artificial intelligence. 2006. No. №4. pp. 148-152.

8. Cherkashin E.A., Fedorov R.K., Bychkov I.V., Paramonov V.V. Automation of the syntheses of a kernel of the information system with using UML-description// Computational Technologies. 2005. T. 10 SI. pp. 114-121.

9. Fereferov E.S., Hmelnov А.Е. Automatization of user interface creation based on models of database application // The Buryat State University Bulletin. 2013. №9. pp. 100-118.

10.Fereferov E.S., Bychkov I.V., Hmelnov A.E. Technology for database applications based on declarative specifications// Computational Technologies. 2014. T. 19, №5. pp. 85-100.

11.Vetrov A.A., Fereferov E.S., Hmelnov A. E. Using technology of meta-dicsription for forming data warehouse and multidimensional data analysis // The Buryat State University Bulletin. 2011, № 9, pp. 83-86.

12.Vetrov A.A., Fereferov E.S., Hmelnov A.E., Shigarov A.O. Forming data warehouse for system MDattr // The Buryat State University Bulletin. — 2012. — № 9. —pp. 22-28.

13.Introduction to EAV Model in Magento// Magento Planet. URL: http ://magentoplanet. wordpress .com/2014/03/19/introduction-to-eav-model-in-magento/

14. Inmon W. Building the Data Warehouse. Wiley, 2005. - 543 p.

15. Codd E.F., Codd S.B., and Salley C.T. "Providing OLAP (On-line Analytical Processing) to User-Analysts: An IT Mandate". Codd & Date, Inc. 1993.

16. Bychkov I.V., Gachenko A.S., Rugnikov G.M., Fereferov E.S., Hmelnov A.E., Fedorov R.K. Integration of information and analytical resources and и processing spatial data in territorial development tasks // Novosibirsk: Publishing House of SB RAS, - 2012. - p 369.

Ветров Александр Анатольевич, младший научный сотрудник ИДСТУ СО РАН, e-mail: vetrov@icc.ru

Гаченко Андрей Сергеевич, кандидат технических наук, старший научный сотрудник ИДСТУ СО РАН, e-mail: gachenko@icc.ru

Фереферов Евгений Сергеевич, кандидат технических наук, учёный секретарь ИДСТУ СО РАН, e-mail: fereferov@icc.ru

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

Vetrov Alexandr Anatolievich, junior researcher of Institute for System Dynamics and Control Theory of SB RAS, e-mail: vetrov@icc.ru

Gachenko Andrey Sergeevich, PhD of Institute for System Dynamics and Control Theory of SB RAS, e-mail: gachenko@icc.ru

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

Hmelnov Alexey Evgenievich, PhD of Institute for System Dynamics and Control Theory of SB RAS, e-mail: hmelnov@icc.ru