Научный журнал
Фундаментальные исследования
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,074

ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММНО-ТЕХНОЛОГИЧЕСКОГО ОБЕСПЕЧЕНИЯ ДЛЯ ГЕОПРОСТРАНСТВЕННЫХ ВЕБ-ПРИЛОЖЕНИЙ

Матвеев А.Г. 1 Якубайлик О.Э. 1
1 Институт вычислительного моделирования Сибирского отделения Российской академии наук
Рассматривается программно-технологическое обеспечение для интеграции компонентов геопорталов – сложных многозвенных веб-систем, ориентированных на обработку и представление пространственных данных. В представленном кратком историческом обзоре показано, что исследования в этом направлении ведутся уже около 15 лет; в них в том числе вовлечены крупные компании – разработчики программного обеспечения ГИС. Разработанное авторами программное обеспечение для интеграции веб-приложений с геопорталом системы управления пространственными данными (библиотека интеграции) предоставляет средства сквозной аутентификации и авторизации пользователей, связанные с ними компоненты пользовательского интерфейса, а также набор программных интерфейсов для доступа к каталогу ресурсов из клиентского веб-приложения. В статье представлено описание логического уровня библиотеки, ее состава и функций. Библиотека интеграции представляет собой совокупность следующих блоков: настройка компонентов системы, программные интерфейсы (API) каталога ресурсов, средства аутентификации и авторизации пользователей, набор компонентов интерфейса пользователя. Обсуждаются особенности реализации – Cookie-файлы, используемые криптографические алгоритмы, логика работы интерактивных элементов на веб-странице и проч. Также рассматриваются основные автоматизируемые бизнес-процессы. В частности, представлены подробности организации процесса аутентификации при первоначальном входе пользователя в систему и после нее. Перечислены внедренные прикладные геоинформационные веб-системы, реализация которых была выполнена с использованием рассматриваемой библиотеки.
веб-приложение
геопортал
веб-ГИС
пространственные данные
картографические сервисы
1. Ерунова М.Г. Геоинформационное обеспечение задач экологического мониторинга особо охраняемых территорий / М.Г. Ерунова, А.А. Гостева, О.Э. Якубайлик // Журнал СФУ. Серия: Техника и технологии. – 2008. – Т. 1, № 4. – С. 366–376.
2. Матвеев А.Г. Разработка веб-приложения для обработки и представления пространственных метаданных геопортала / А.Г. Матвеев, О.Э. Якубайлик // Вестник СибГАУ. – 2012. – Вып. 2 (42). – С. 48–54.
3. Попов В.Г. Разработка модели геоинформационной аналитической Интернет-системы для задач мониторинга и анализа состояния региона / В.Г. Попов, О.Э. Якубайлик // Горный информационно-аналитический бюллетень. – 2009. – Т. 17. – С. 39-44.
4. Токарев А.В. Каталог ресурсов для ГИС мониторинга состояния окружающей природной среды в зоне действия предприятий нефтегазовой отрасли / А.В. Токарев, О.Э. Якубайлик // Горный информационно-аналитический бюллетень. – 2009. – Т. 18. – С. 215–219.
5. Формирование геоинформационного Интернет-портала для задач мониторинга состояния природной среды и ресурсов / А.А. Кадочников, В.Г. Попов, А.А. Токарев, О.Э. Якубайлик // Журнал СФУ. Серия: Техника и технологии. – 2008. – Т. 1, № 4. – С. 377–386.
6. Якубайлик О.Э. Геоинформационная Интернет-система мониторинга состояния окружающей природной среды в зоне действия предприятий нефтегазовой отрасли // Вестник СибГАУ. – 2010. – Вып. 1 (27). – С. 40-45.
7. Якубайлик О.Э. Проблемы формирования информационно-вычисли­тель­ного обеспечения систем экологического мониторинга // Вестник СибГАУ. – 2012. – Вып. 3 (43). – С. 96–102.
8. Якубайлик О.Э. Технологии для геоинформационных Интернет-систем / О.Э. Якубайлик, В.Г. Попов // Вычислительные технологии. – 2009. – Т. 14, № 6. – С. 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.


Библиографическая ссылка

Матвеев А.Г., Якубайлик О.Э. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММНО-ТЕХНОЛОГИЧЕСКОГО ОБЕСПЕЧЕНИЯ ДЛЯ ГЕОПРОСТРАНСТВЕННЫХ ВЕБ-ПРИЛОЖЕНИЙ // Фундаментальные исследования. – 2013. – № 10-15. – С. 3358-3362;
URL: http://www.fundamental-research.ru/ru/article/view?id=33066 (дата обращения: 14.11.2019).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074