Технологии и программная реализация сайта экологического моделирования

А.В. Токарев (tav@torins.ru)
Институт вычислительного моделирования СО РАН, г. Красноярск

Введение

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

К настоящему времени, при участии специалистов КНЦ СО РАН, уже созданы информационные ресурсы и развиваемые ими фрагменты региональной информационной инфраструктуры (в экологии, здравоохранении, управлении земельными и лесными ресурсами, в штабах ГО и ЧС и др.). Накапливаемый опыт можно обобщать на базе научно-исследовательского информационно-аналитического портала. Предлагается создать единое информационное пространство с общими информационными ресурсами, содержащими: как служебные (корпоративные) так и открытые базы данных и документов, унифицированные информационные модели окружающей среды, математические модели экологических процессов, программные средства, среду научного моделирования и вычислительных экспериментов, инструментальные программные средства и описание технологий создания наукоемких приложений.

Структура Интернет-лаборатории

Геоинформационную Интернет-лабораторию планируется создать на основе действующего макета геоинформационного Интернет-сервера [1], предназначенного для моделирования территориально-распределенных экологических процессов.

Предполагаемые разделы и сервисы лаборатории (рис. 1):


Рис. 1. Структура Интернет-лаборатории

В первоначальную версию лаборатории планируется встроить несколько уже разработанных проектов.

Ниже описаны информационные технологии и реализация нескольких проектов, реализованных на базе макета геоинформационного Интернет-сервера.

Макет геоинформационного Интернет-сервера экологического моделирования

К настоящему моменту создан макет геоинформационного Интернет-сервера, предназначенного для моделирования территориально-распределенных экологических процессов [7], в котором:

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


Рис. 2. Внешний вид пользовательского интерфейса
(интерфейс расчетного модуля и пример результата моделирования)

Созданное программное обеспечение позволяет пользователю сети Интернет:

С точки зрения администратора геоинформационного интернет-сервера, разработанное программное обеспечение позволяет:


Рис. 3. Архитектура геоинформационного Интернет-сервера

Основу серверной части (рис. 3) составляет Web-сервер Apache с подключенным интерпретатором PHP [8], возможности которого расширены с помощью дополнительных модулей. Это компоненты для доступа к базам данных, программное обеспечение MapServer [9], а также разработанная библиотека визуализации пространственных распределений в виде линий уровней и полупрозрачных заливок на фоне карты местности. При написании программного обеспечения серверной части использовался принцип модульности, что позволяет легко расширять функциональные возможности. Предусмотрен механизм добавления новых расчетных модулей, после чего их функциональные возможности становятся доступны для всех пользователей сервера. Сами вычисления проводятся внешними расчетными модулями. Расчетные модули являются сценариями на языке PHP, в которых, по определенным правилам, запрограммированы реализации моделей.

Предусмотрено несколько вариантов реализации расчетных модулей.

  1. Программа на языке PHP. Это простейший вариант реализации расчетного модуля. Он хорошо работает, если объем вычислительной работы относительно мал, поскольку язык PHP является интерпретируемым. В программе возможен доступ к объектам карты местности, что позволяет добавлять новые слои, выполнять тематическую раскраску карты, и т.д.
  2. Модуль расширения языка PHP. Этот вариант предназначен для моделей, в которых объем вычислительной работы достаточно большой. Язык PHP содержит программные средства и инструменты, позволяющие создавать модули расширения языка, в которых содержатся новые функции. Поскольку модуль расширения является уже скомпилированной программой, то выполнение его функций осуществляется значительно быстрее, чем функций, написанных на PHP. Это позволяет вынести объемистую часть вычислений в отдельный скомпилированный модуль, и обращаться к нему из основной программы расчетного модуля (написанной на языке PHP).
  3. Исполняемый файл серверной операционной системы. Этот вариант похож на предыдущий. Программа моделирования разрабатывается отдельно на любом языке программирования и компилируется в исполняемый файл. В дальнейшем он вызывается на исполнение из основной программы расчетного модуля, которая, по сути, будет выполнять функции согласования интерфейса. Естественно, необходимо продумать механизм передачи данных между исполняемым файлом и расчетным модулем.

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

Архитектура геоинформационной Интернет-лаборатории

Геоинформационную интернет-лабораторию решено создать на основе действующего макета геоинформационного интернет-сервера, описанного выше. Для этого планируется перевести сайт макета на систему управления контентом (CMS - content management system). Это позволит автоматизировать процесс управления как сайтом в целом, так и сущностями в рамках сайта: макетами страниц, шаблонами вывода данных, структурой, информационным наполнением, пользователями и правами доступа, а также предоставляющий дополнительные сервисы: форум, лента новостей, списки рассылки, ведение статистики, поиск, средства взаимодействия с пользователями и т.д.

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

Однако использование CMS не решает всех задач Интернет-лаборатории. Необходимо разработать механизмы ведения нескольких проектов (разделов сайта, посвященных отдельным направлениям исследований), каталог ресурсов с разделением доступа, средства хранения и управления публикациями и др.

Для реализации проекта выбраны следующие информационные технологии и программное обеспечение: операционная система - Unix (FreeBSD); Web-сервер - Apache; основной язык для разработки - PHP; система управления контентом - phpWebThings; программное обеспечение для доступа к геоинформации - MapServer; система управления базами данных - MySQL.

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

Такое решение довольно гибкое и позволяет представлять разнообразные материалы на сайте.


Рис. 4. Внешний вид макета пользовательского интерфейса лаборатории

При проектировании модуля управления публикациями решено было создать единое дерево ресурсов портала. Предпосылки:

Для решения этих задач реализован единый древовидный каталог ресурсов (рис. 5), который могут использовать различные модули сайта. Кружками обозначены узлы дерева. Каждый узел (кроме корня дерева) обязательно имеет родительский узел и, возможно, несколько дочерних узлов. Смысловая нагрузка для узла может быть различна, например, для каталога статей, это могут быть разделы рубрикатора. А сами статьи будут "привязаны" к одной или нескольким рубрикам.

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


Рис. 5. Единый каталог ресурсов

Поскольку может быть много пользователей и чаще всего их можно разделить на отдельные группы с одинаковыми правами доступа, то целесообразно реализовать пользовательские роли. Роль - это мнимый пользователь с некоторыми правами доступа. Например, может быть пользовательская роль "Гость", которая описывает права доступа для всех пользователей, незарегистрированных на сайте, и позволяет только читать статьи из раздела публикаций. Или роль "Участник проекта N 1", разрешающая доступ к каталогу статей и позволяющая публиковать собственные материалы в отведенном разделе. Любой пользователь может "выполнять" несколько ролей одновременно.

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

  1. Файловая система. Этот способ подразумевает, что бинарные объекты хранятся на диске в виде самих себя, т.е. в виде обычных файлов. Доступ к ним можно организовать по FTP протоколу через FTP-сервер или по HTTP протоколу через Web-сервер. При своей простоте, этот способ обладает недостатками:
  2. СУБД. Этот вариант лишен выше указанных недостатков. В этом случае вся информация (данные и атрибуты) хранится в базе данных.
В результате был выбран 2-ой вариант, поскольку это решение более гибкое.

Заключение

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

Работа выполнена при поддержке гранта РФФИ-ККФН 03-07-96001-р2003енисей_в. Дополнительные материалы, посвященные разработке геоинформационной Интернет-лаборатории, можно найти в публикациях [11,12].

Литература

  1. А.В. Токарев. Интернет-технологии и программное обеспечение для информационных моделей природных и техногенных процессов // География: новые методы и перспективы развития / Материалы научной конференции тематической картографии (Иркутск, 16-19 апреля 2003г.). - Иркутск: Изд-во Института географии СО РАН, 2003, с. 187-188.
  2. Ю.Д. Иванова. Воздействие факторов окружающей среды на заболеваемость злокачественными новообразованиями: особенности пространственно-временных связей (на примере г. Красноярска). // Автореф. дисс. канд. техн. наук. Красноярск, КрасГУ, 2002.
  3. Экологический Интернет-атлас г. Красноярска (http://info.krasn.ru/ecoatlas/).
  4. М.Г. Ерунова. Создание Геоинформационной системы Красноярского заповедника "Столбы". // Заповедное Дело. Научно-методические записи комиссии по заповедному делу. Вып.9. Москва, 2001. с. 76-80.
  5. М.Г. Ерунова, Р.А. Коловский, О.Э. Якубайлик. Построение карт загрязнений и оценка экологического состояния Красноярского заповедника "Столбы" // Материалы II Всерос. науч.-практ. конф.. Проблемы экологии и развития городов. - Красноярск: СибГТУ. - 2001. - Т. 2. - С. 207-212.
  6. В.Н. Лопатин, А.Д. Апонасенко, Л.А. Щур. Биофизические основы оценки состояния водных экосистем (теория, аппаратура, методы, исследования). - Новосибирск: Наука. Сибирская издательская фирма РАН. - 2000. - 360 с.
  7. Макет геоинформационного Интернет-сервера для моделирования территориально-распределенных экологических процессов (http://www.torins.ru/demo/eco_model.php).
  8. Официальный сайт PHP (http://www.php.net/).
  9. Официальный сайт MapServer (http://mapserver.gis.umn.edu/).
  10. Сайт phpWebThing (http://www.phpdbform.com).
  11. С.С. Замай, Ю.Д. Иванова, А.В. Токарев, А.В. Беляков. Разработка технологий геоинформационной Интернет-лаборатории экологии и регулирования природопользования г. Красноярска. // Материалы VIII Всероссийской конференции "Проблемы информатизации региона (ПИР-2003)" (в печати).
  12. А.Д. Апонасенко, С.С. Замай, Ю.Д. Иванова, А.В. Токарев. Моделирование территориально-распределенных экологических процессов в работе геоинформационной интернет-лаборатории. // Материалы VIII Всероссийской конференции "Проблемы информатизации региона (ПИР-2003)" (в печати).