Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

DESIGN AND DEVELOPMENT OF SOFTWARE AND TECHNOLOGIES FOR GEOSPATIAL WEB APPLICATIONS

Matveev A.G. 1 Yakubailik O.E. 1
1 Institute of Computational Modeling
We consider software and technologies for the integration of geoportal components. Geoportal is a complex multi-tier web-based system, focused on the processing and presentation of spatial data. In the presented brief historical review it is shown that research in this area has been going on for about 15 years. Large companies that are the developers of GIS software also involved in these studies. Developed library is designed for integration of components of web-based applications with a geoportal of spatial data management system (integration library). It provide tools for authentication and authorization of users, associated user interface components, and a set of APIs to access the directory of resources from the client software part. The paper describes the logic level of the library, its content and functions. Integration Library is a collection of the following blocks: system settings components, application programming interfaces for resource directory management, user authentication and authorization tools, graphical user interface components. The features of the implementation are discussed, such as Cookie-files, used cryptographic algorithms, the behavior of the interactive elements on a web page, etc. Main automated business processes are described also. In particular, the details the authentication processes organization are provided for the initial user logon case and after it. Geospatial web-based applications are listed, the implementation of which was done with the considered library.
web application
geoportal
web mapping
spatial data
cartographic services
1. Erunova M.G., Gosteva A.A., Yakubailik O.E. Zhurnal SFU. Serija: Tehnika i tehnologii – Journal of Siberian Federal University. Engineering and Technologies, 2008, v. 1, no. 4, pp. 366–376.
2. Matveev A.G., Yakubailik O.E. Vestnik SibGAU – Siberian State Aerospace University Scientific Journal, 2012, no. 2(42), pp. 48–54.
3. Popov V.G., Yakubailik O.E. Gornyj informacionno-analiticheskij bjulleten’ – Mining information-analytical bulletin, 2009, no. 17, pp. 39–44.
4. Tokarev A.V., Yakubailik O.E. Gornyj informacionno-analiticheskij bjulleten’ – Mining information-analytical bulletin, 2009, no. 18, pp. 215–219.
5. Kadochnikov A.A., Popov V.G., Tokarev A.V., Yakubailik O.E. Zhurnal SFU. Serija: Tehnika i tehnologii – Journal of Siberian Federal University. Engineering and Technologies, 2008, v. 1, no. 4, pp. 377–386.
6. Yakubailik O.E. Vestnik SibGAU – Siberian State Aerospace University Scientific Journal, 2010, no. 1(27), pp. 40–45.
7. Yakubailik O.E. Vestnik SibGAU – Siberian State Aerospace University Scientific Journal, 2012, no. 3(43), pp. 96–102.
8. Yakubailik O.E., Popov V.G. Vychislitel’nye tehnologii – Computational Technologies, 2009, v. 14, no. 6, pp. 116–126.

Первым картографическим веб-приложением считают созданную в 1993 году программу Map Viewer Исследовательского центра Пало-Альто компании Xerox (PARC), которая позволяла пользователям в интерактивном режиме отправлять запросы из браузера к серверу и получать фрагменты карт в графическом формате GIF. Именно это приложение и его функциональная концепция стало родоначальником большинства более поздних версий картографических веб-систем. Где-то с 1998 года в процесс создания систем указанного класса включились крупные компании – производители программного обеспечения ГИС: ESRI, Intergraph, MapInfo и другие берутся за разработку приложений для веб-картографии. С этого же момента времени начинает свою историю наиболее успешный из некоммерческих проектов с открытым исходным кодом – MapServer, разработка которого стартовала в Университете штата Миннесота. В последующие годы идет интенсивное формирование рынка программного обеспечения веб-картографии; темпы его развития не снижаются и в настоящее время. Возникают многочисленные разработки – от простых интерактивных средств визуализации заранее подготовленных карт в веб-браузере до сложных распределенных систем обработки корпоративной геопространственной информации [7, 8].

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

В настоящей статье рассмотрим структуру и функции библиотеки интеграции веб-приложений в геопортал СУПД, некоторые особенности ее реализации.

Библиотека интеграции веб-приложений

Центральным звеном СУПД с точки зрения доступа пользователей к ее функциональным модулям является геопортал, представляющий собой веб-сайт (Интернет-портал). Функциональными модулями в данном случае являются различные веб-сервисы и веб-приложения, предоставляющие средства для работы с пространственными данными, зарегистрированными в каталоге ресурсов системы. Поскольку архитектура СУПД была разработана с расчетом на гибкое расширение функциональных возможностей, в состав системы могут быть внедрены совершенно различные функциональные модули, которые могут быть разработаны с применением самых разнообразных систем и средств [1, 3].

Для упрощения процесса внедрения веб-приложений (созданных на языке PHP) в геопортал СУПД была разработана библиотека интеграции веб-приложений, предоставляющая разработчикам набор средств для объединения логики разработанных приложений с предоставляемыми системой функциями аутентификации, авторизации, работы с каталогом ресурсов и т.д. Кроме того, библиотека предоставляет средства визуального оформления некоторых элементов пользовательского интерфейса [5].

Описание логического уровня библиотеки

Логическая структура библиотеки представляет собой совокупность следующих функциональных блоков.

● Общие настройки компонентов системы

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

● Библиотеки клиентского API каталога ресурсов

Хранение актуальной версии клиентской библиотеки доступа к каталогу ресурсов посредством SOAP для веб-приложений в одном месте также позволяет осуществлять своевременные обновления функционала и облегчает перенос и развёртывание системы на другом веб-сервере.

● Средства аутентификации и авторизации пользователей

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

● Общие компоненты пользовательского интерфейса

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

Описание состава и функций библиотеки

● Общие настройки компонентов системы

В число общих настроек входят: корневой URL системы, заголовок (название) системы, данные гостевой учётной записи, адрес страницы входа в систему, адрес доступа к сервису каталога ресурсов.

● Компоненты пользовательского интерфейса

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

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

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

● Средства аутентификации и авторизации пользователей

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

○ Класс GPAuth, предоставляющий основные функции входа в систему, проверки прав доступа и т.д.;

○ Класс GPCookie, предназначенный для осуществления работы с файлами Cookie;

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

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

Для осуществления безопасной работы и пресечения попыток взлома системы все данные, хранимые в Cookie-файлах, подвергаются шифрованию. В текущей версии библиотеки используется криптографический алгоритм blowfish, реализующий блочное симметричное шифрование. При желании данный метод можно изменить на любой другой, поддерживаемый расширением PHP mcrypt.

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

Основные бизнес-процессы библиотеки интеграции веб-приложений

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

pic_38.wmf

Рис. 1. Последовательность запросов при первоначальной аутентификации

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

1. Пользователь, используя веб-браузер, отправляет запрос веб-приложению.

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

3. Веб-браузер пользователя запрашивает страницу входа в систему, расположенную на сервере каталога пространственных данных.

4. В веб-браузере отображается страница, содержащая форму ввода логина и пароля.

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

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

7. Веб-браузер пользователя осуществляет повторный запрос первоначальной страницы веб-приложения.

8. Сценарий веб-приложения проверяет достоверность информации в Cookie-файле или сеансе пользователя и допускает пользователя к работе с приложением.

pic_39.wmf

Рис. 2. Последовательность запросов после первоначальной аутентификации

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

1. Пользователь, используя веб-браузер, отправляет запрос веб-приложению.

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

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

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

Заключение

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

● Геопортал ИВМ СО РАН.

● «Банк пространственных данных Красноярского края» – информационно-аналитическая система межведомственного взаимодействия, поддержку которой осуществляет Министерство информатизации и связи Красноярского края.

● «Геоинформационная система мониторинга состояния окружающей природной среды в зоне действия предприятий нефтегазовой отрасли Красноярского края» [6].

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

● Веб-приложение для визуализации каталога пространственных данных.

● Подсистема администрирования данными каталога ресурсов, предназначенная для регистрации информационных ресурсов, управления их метаданными и классификацией.

● Подсистема картографической визуализации посредством веб-интерфейса.

● Средства информационного взаимодействия пользователей геопортала.

● Служебные, прикладные и картографические веб-сервисы.

Внедрение рассматриваемой технологии интеграции компонентов многозвенных систем обеспечивает существенное сокращение сроков их разработки.

Рецензенты:

Садовский М.Г., д.ф.-м.н., ведущий научный сотрудник ИВМ СО РАН, г. Красноярск;

Заворуев В.В., д.б.н., профессор Сибирского федерального университета, г. Красноярск.

Работа поступила в редакцию 05.12.2013.