Электронный научный журнал
Современные проблемы науки и образования
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 0,737

СИСТЕМА УПРАВЛЕНИЯ КОНТЕНТОМ ГЕОИНФОРМАЦИОННОГО ВЕБ-ПОРТАЛА «ГЕОФРЕЙМВОРК»

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

Введение

Опыт разработки веб-сайтов и веб-приложений различной сложности и назначения показывает, что в большинстве случаев для ускорения и облегчения процесса создания данного типа программного обеспечения можно использовать специализированные системы – так называемые системы управления контентом веб-сайтов (CMS, Content management system). На данный момент наиболее популярными свободными CMS являются Joomla, Drupal, Wordpress, MODx, TYPO3. Большинство из них предназначены для достаточно широкого круга задач и применимы для разработки веб-сайтов различного масштаба и сложности. Универсальность достигается за счет модульной архитектуры, которая позволяет создавать и подключать необходимые программные узлы, расширяющие функциональность разрабатываемого веб-сайта. Тем не менее каждая из этих систем имеет свои архитектурные особенности и функциональные ограничения, а также определенное направление разрабатываемых проектов (Интернет-дневники, Интернет-магазины, корпоративные сайты, социальные сети и т.д.), которые необходимо учитывать при проектировании и разработке веб-сайта. Для нестандартных решений (к которым относятся веб-приложения, в том числе геоинформационные) базовая функциональность этих систем чаще всего является излишней. В этой ситуации, как правило, создается специализированная система.

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

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

• Универсальное хранение данных

В популярных системах управления контентом веб-сайтов в качестве хранилища данных используются СУБД (MySQL, PostgreSQL, MS SQL), причем использование систем управления базами данных является обязательным условием создания приложения на основе CMS. Учитывая тот факт, что геоинформационные веб-приложения могут обладать достаточно разнообразным функционалом – от небольших клиентских приложений, работающих с данными посредством технологий веб-сервисов, до крупных многофункциональных комплексов управления и анализа пространственной информации – было выдвинуто следующее требование: система разработки геоинформационных веб-приложений должна предоставлять возможность свободного выбора способа хранения данных (файловые архивы, СУБД, комбинированные способы).

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

Традиционно CMS обладают достаточно развитыми средствами формирования (X)HTML-кода страниц, автоматизации создания различных элементов пользовательских интерфейсов, таких как гиперссылки, каскадные меню, формы и пр. Формирование индивидуальных интерфейсов обеспечивается в данных системах посредством создания тем, которые должны быть разработаны с использованием данных функций по определённой технологии. Данный способ является вполне удобным при создании традиционных интерфейсов веб-сайтов (учитывая современные возможности технологии CSS – каскадных таблиц стилей), но он накладывает существенные ограничения на разработчиков, перед которыми стоит задача формирования сложных интерфейсов веб-приложений. Поэтому разрабатываемая система должна обеспечить максимально гибкий способ реализации пользовательских интерфейсов.

• Возможность интеграции различных JavaScript-фреймворков

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

• Поддержка технологии AJAX

Использование технологии асинхронных запросов (AJAX) является достаточно эффективным способом ускорения работы веб-приложения, уменьшения нагрузки на веб-сервер, уменьшения объёмов передаваемых данных, уменьшения времени реакции элементов пользовательского интерфейса, поэтому при создании системы разработки геоинформационных веб-приложений необходимо предусмотреть достаточно развитые и гибкие средства для применения данной технологии, а также предоставить возможность выбора возможного формата передачи данных (XML, JSON и т.п.).

• Обеспечение маршрутизации HTTP-запросов и ответов

Одним из основных функциональных требований является обеспечение базовых функций работы с HTTP-запросами, поступающих от веб-браузера на веб-сервер, и ответов в виде (X)HTML-кода.

Архитектура системы «Геофреймворк»

Система разработки геоинформационных веб-приложений «Геофреймворк» состоит из клиентской и серверной частей, реализуя тем самым технологию «клиент – сервер». Применение в основе серверной части приложения шаблона проектирования MVC (модель – представление – контроллер) предоставляет широкие возможности для решения поставленных задач. Использование данной архитектуры предполагает разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента (рис. 1). Модификация каждого компонента может осуществляться независимо. Помимо стандартных элементов MVC, ключевыми блоками рассматриваемой системы также являются шаблоны представления страниц и AJAX-обработчики.

Рисунок 1. Архитектура системы разработки «Геофреймворк»

Основные компоненты архитектуры системы

• Модель (Model)

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

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

• Представление (View)

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

• Контроллер (Controller)

Является связующим звеном между прочими компонентами системы. Большинство HTTP-запросов перенаправляется для обработки контроллеру. Основными задачами контроллера являются:

  • подключение настроек, внутренних и внешних библиотек;
  • приём и анализ HTTP-запросов;
  • выбор на основе параметров запроса необходимой модели и передача ей управления;
  • подключение необходимого шаблона представления страницы;
  • формирование заголовков ответа HTTP и вывод данных.

• Шаблон представления страницы

Формально является составной частью представления (View), но фактически является самостоятельным элементом системы. Средний по функциональности веб-сайт имеет 1–3 шаблона страницы, каждый из которых представляет собой подключаемый к контроллеру PHP-сценарий, содержащий общие для используемых представлений элементы (X)HTML-кода страницы – заголовочная секция, ссылки на необходимые файлы каскадных таблиц стилей и сценариев JavaScript, метаописания веб-страниц и общие элементы DOM. Выбираемый моделью файл представления затем встраивается в указанный шаблон, и в результате генерируется полный (X)HTML-код веб-страницы.

• AJAX-обработчик

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

Основные функциональные блоки системы

• Средства для работы с разделами сайта

При обращении пользователя по определенному URL необходимо осуществить разбор данного адреса для того, чтобы выбрать нужный контроллер, а впоследствии использовать параметры, которые, возможно, содержатся в запросе, в ходе работы программы. «Геофреймворк» рассчитан на работу как со стандартными URL, где параметры HTTP-запроса, передаваемые методом GET, задаются при помощи конструкции ?<ключ_1>=<значение_1>&<ключ_2>=<значение_2>, так и с полнотекстовыми URL (также известных как ЧПУ, «человеко-понятные урл»), в которых параметры передаются в виде пути. Концепция полнотекстовых веб-адресов предполагает максимально лаконичные и интуитивно понятные URL, которые показывают естественную для человека логическую структуру веб-приложения, представленной в виде пути в пределах файловой системы, к которой привык пользователь.

• Средства для работы с базами данных

Поскольку PHP изначально развивался как язык процедурного программирования, большинство встроенных функций по своей природе являются процедурными. При работе с базами данных, например, с СУБД MySQL, для создания запроса необходимо использовать последовательный запуск набора функций: mysql_connect, mysql_select_db, mysql_query, mysql_fetch (и аналоги). Данные функции осуществляют подключение к серверу баз данных, выбор базы, построение SQL-запроса, получение результата выборки.

• Средства для работы с представлениями

Представления в архитектуре MVC предназначены для осуществления вывода данных пользователю. Чаще всего вывод осуществляется в формате HTML-кода (хотя ограничений на формат вывода нет). Для работы с выводом данных была разработана библиотека Template.

Основные типы функций, содержащиеся в данной библиотеке:

  • Средства для работы с метаописаниями веб-страниц, позволяющие определять и выводить базовые атрибуты: ключевые слова (keywords), информация об авторе и авторском праве (author, copyright), описание страницы (description) и т.д.
  • Функции для ввода и вывода пользовательских сообщений.
  • Функции для вывода даты и времени. Подготовлено несколько стандартных форматов вывода (новостной, полный, краткий, только дата).
  • Средства для подготовки печатного текста к веб-публикации и его корректировки в соответствии с нормами, правилами и спецификой русского языка.

• Прочие служебные средства

Был также сформирован следующий набор служебных функций:

  • Работа с плоскими файлами кеша.
  • Средства для проверки введённых данных. Включают в себя наборы регулярных выражений для тестирования строк на правильность ввода адреса e-mail, URL, IP-адреса.
  • Средства для отправки сообщений электронной почты с поддержкой шаблонов писем в HTML-формате. Создано несколько типовых шаблонов для пользователей и администраторов веб-сайта, которые можно легко изменять и добавлять.
  • Функции для работы с изображениями, включающие операции масштабирования и кадрирования.
  • Средства для проведения автоматизированного публичного теста Тьюринга (CAPTCHA) на основе изображений, содержащих буквенно-цифровые строки.
  • Интеграция со свободными библиотеками с открытым исходным кодом elRTE и elFinder. Данные библиотеки представляют собой визуальный редактор (так называемый, WYSIWYG-редактор) и файловый менеджер соответственно, работающие в среде веб-приложения.
  • Средства для создания систем управления содержимым веб-сайта, а именно – типовые наборы Javascript-функций для создания, изменения, удаления содержимого, реализованных с применением технологий асинхронных запросов, и проч.

Заключение

Разработанное программное обеспечение «Геофремворк» предназначено для формирования тематических информационных ресурсов в составе картографического веб-портала – веб-страниц, содержащих гипертекстовые материалы, интерактивные тематические карты и веб-сервисы, сформированные на основе современных технологий «Веб 2.0», основанные на механизмах многопоточной асинхронной передачи данных и других современных технологиях. Предусматривается динамическое формирование и обновление отдельных элементов интерфейса пользователя – на основе обмена данными с сервером без перезагрузки страницы. Система использует развитый механизм создания веб-страниц на основе шаблонов; технологии XHTML, CSS для формирования компактного эффективного программного кода, на основе объектной модели документа.

На основе «Геофремворк» были разработаны следующие веб-приложения:

  • Веб-приложение для обработки и представления пространственных метаданных геопортала ИВМ СО РАН;
  • Подсистема авторизации пользователей геопортала ИВМ СО РАН;
  • Веб-приложение для поиска и фильтрации картографических ресурсов информационно-аналитической системы «Банк пространственных данных Красноярского края».

Рецензенты:

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

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


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

Матвеев А.Г., Якубайлик О.Э. СИСТЕМА УПРАВЛЕНИЯ КОНТЕНТОМ ГЕОИНФОРМАЦИОННОГО ВЕБ-ПОРТАЛА «ГЕОФРЕЙМВОРК» // Современные проблемы науки и образования. – 2013. – № 6.;
URL: http://science-education.ru/ru/article/view?id=10997 (дата обращения: 18.08.2019).

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

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