Современные
информационные технологии/3.Программное обеспечение
Милихин М.М., Белоконь А.И., Рычагов М.М.
Томский государственный университет систем управления
и радиоэлектроники
Технологии Java и Javascript в разработке Web-ориентированных геоинформационных систем
В эпоху стремительного
развития и повсеместного использования Internet все более актуальной становится
задача разработки полноценных Web-ориентированных геоинформационных систем,
обладающих всем спектром возможностей современных настольных приложений, а
также основными преимуществами использования Web-технологий: простотой доступа
к ресурсам для конечного пользователя, отсутствием необходимости установки
дополнительного программного обеспечения, минимизацией финансовых затрат.
Рассмотрим решение задачи разработки Web-ГИС на основе геоданных,
опубликованных с использованием программного продукта ESRI ArcGIS Server.
ArcGIS Server предусматривает два основных варианта создания Web-приложений: c
использованием ArcGIS Javascript Application Program Interface или ArcGIS Web Application Developer Framework (ADF)
для платформы Microsoft .NET.
ArcGIS
JavaScript API предназначен для добавления функциональных возможностей ГИС
напрямую в Web-страницы. Для работы с API необходим только доступ к
опубликованным через ArcGIS Server ресурсам, при этом API предоставляет все
преимущества Javascript: интерактивность, выполнение функциональных
возможностей на стороне клиента, увеличение быстродействия работы системы,
интеграцию в html страницы, простоту написания программ.
Интерфейс ArcGIS JavaScript API позволяет
внедрять карты в web-страницы, создавать
картографические web-приложения и ГИС-клиенты, интегрирующие
данные из различных источников на JavaScript.
ArcGIS JavaScript API
предоставляет широкие возможности визуализации, картографирования, геокодирования
и геообработки. [1]
С помощью ArcGIS JavaScript API можно:
·
представить
интерактивную карту с собственными данными;
·
создать модель
ГИС на сервере и передать результаты конечному пользователю;
·
получить
отображение данных на картах ArcGIS Online и таких картографических сервисов
как Google Maps и Google Earth;
·
выполнить поиск сведений по базе геоданных и вывести результаты;
·
добавить панели инструментов
для осуществления навигации по карте, масштабирования, добавления объектов
(точек, линий, полигонов);
·
ArcGIS JavaScript API включает расширения для сервисов
Virtual Earth и Google Maps, что позволяет вести работу,
комбинируя ресурсы сервисов ArcGIS Server и Virtual Earth SDK или Google
Maps API. [2]
Javascript
API построен на основе «dojo javascript toolkit» (dojo) - открытой
(распространяемой под двойной лицензией: BSD License и Academic Free License)
библиотеки Javascript [3].
Dojo представляет собой набор инструментов,
позволяющих разрабатывать надежные, эффективные приложения без необходимости
установки специальных утилит на стороне клиента и использования дополнительных
компонент на стороне сервера[4].
Dojo включает в себя набор базовых элементов
пользовательского интерфейса — «dijits» (dojo widgets), - в котором реализованы
меню, кнопки, панели инструментов и многое другое. Одним из преимуществ
использования таких компонент в составе
приложения является их надежность: все элементы интерфейса протестированы на
совместимость с современными web-браузерами,
благодаря чему обеспечивается стабильность работы web-приложения [3].
Данные технологии были
успешно применены при разработке пользовательского интерфейса Web-ориентированной геоинформационной системы ГИС-ВУЗ,
предназначенной для решения задач в области поддержки управления вузом. Помимо
задач разработки удобного пользовательского интерфейса в ходе работы над
системой ГИС-ВУЗ решались также задачи организации серверной части системы
образом, оптимальным для взаимодействия ее с базой данных и обеспечения защиты данных от несанкционированного
доступа.
Для решения
поставленных задач были выбраны язык программирования Java и технология Java
Servlet (Сервлет).
Сервлет представляет
собой Java-программу, которая выполняется на стороне сервера, расширяет его функциональные возможности,
взаимодействует с клиентами посредством принципа запрос-ответ и характеризуется
определенным жизненным циклом.
Клиентская часть
приложения представлена в виде HTML страниц,
динамически создающихся сервером с использованием технологии Java Server
Pages на основании AJAX запросов к Сервлету с учетом прав доступа пользователя.
Для проверки прав
пользователя применяется технология Java Filters (фильтры). Фильтры
представляют собой приложения на языке программирования Java, выполняющиеся до
передачи клиентского запроса на сервлет, позволяющие блокировать запросы от
пользователей, не прошедших авторизацию или не имеющих достаточных прав для
получения запрошенных данных, еще до того, как они попадут на этап обработки
запроса в серверной части приложения.
Архитектура
web-приложения ГИС-ВУЗ представлена на рисунке 1.
Таким образом,
технологии на основе языков программирования Java и Javascript
могут успешно и эффективно применяться при разработке Web-ориентированных геоинформационных систем.
Рисунок 1 – Архитектура Web-приложения
ГИС-ВУЗ
Литература:
1.
Разработка
ГИС-приложений для ArcGIS Server // Разработка программного обеспечения,
информационных/ геоинформационных систем (ПО, ИС, ГИС) [электронный ресурс]. 2009. URL: http://gisworks.blogspot.com /2009/02/4-razrabotka-na-arcgis-javascript-api.html (дата обращения:03.03.2011)
2.
ArcGIS API for JavaScript: Key
Features & Benefits // ESRI (UK) [электронный ресурс]. URL:
http://www.esriuk.com/products/showproduct.asp?prodid=28&groupid=5&activetab=4&mode=keyfeatures (дата обращения: 05.03.2011)
3.
Working with Dojo // ArcGIS resource center [электронный ресурс]. 2011. URL: http://help.arcgis.com/en/webapi/javascript/arcgis/help/jshelp_start.htm#
jshelp/inside_dojo.htm (дата обращения: 03.03.2011)
4. Eric Pimpler. Using
Dojo to Enhance Web Mapping Applications with the ArcGIS Server // Geoweb Guru
[электронный ресурс]. 2009. URL: http://www.geowebguru.com/articles/168-using-dojo-to-enhance-web-mapping-applications-with-the-arcgis-server (дата обращения: 02.03.2011)