Разработка геоинформационной системы для компьютерной сети г. Переславля-Залесского

А.А. Кузнецов, М.В. Гумин

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

Для управления СТ "Ботик" используется административно-информационная система NAdmin (Network Administration). Эта система обладает свойством расширяемости, позволяющей добавлять к ней различные компоненты. В их число входит подсистема MON (MONitor), которая занимается мониторингом состояния сетевых узлов СТ "Ботик". Она осуществляет проверку работоспособности узлов, и может предоставить информацию о любых неисправностях.

Обслуживающему персоналу СТ "Ботик" поступает поток сообщений от пользователей, например, в виде писем, в которых пользователь с некоторым учетным именем сообщает о своих проблемах. На момент принятия решения о проведении ремонтных работ или о дополнительной проверке имеется регистрационная информация: имя устройства и учетные данные пользователя, но отсутствует географическая информация. Тем самым, мы не можем быстро определить где произошла неполадка и куда выезжать ремонтной бригаде. Таким образом, информационная система существует, но  не хватает географической привязки объектов. Поэтому актуальной задачей становится разработка геоинформационной системы (ГИС). Она будет полезна не только для обслуживающего персонала, но и для самих абонентов. Абонентам можно предоставить режим доступа, при котором не раскрываются технические детали, но отображается следующая информация: какая часть СТ "Ботик" работает в штатном режиме, а какая находится в аварийном состоянии или в состоянии ремонта. Это повысит открытость системы. Абонент будет обладать всей возможной информацией и не будет зря обращаться к персоналу СТ "Ботик".

Разработка подобной ГИС ранее проводилась студентами Университета города Переславля (УГП). Эта работа выполнена достаточно успешно. Однако, в созданной системе наблюдаются следующие проблемы: а) практически вся обработка информации в их подходе происходит на серверной стороне, а на клиентской стороне работает стандартный Web-браузер. Следовательно, графическая и географическая информация передаётся на клиентскую сторону в пиксельном формате в полном размере и в полный цвет, что приводит к передаче большого объема информации и к достаточно большим вычислениям на серверной стороне, поэтому смена одного кадра на другой и передача кадра к пользователю является узким местом в системе. б) ГИС был отделен от NAdmin за счет использования собственной системы хранения данных. Существование двух БД (специализированная для ГИС и БД NAdmin) приводит к техническим трудностям, например, к необходимости синхронизации данных.

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

Для достижения этой цели нужно решить следующие задачи:

а) подобрать надлежащие средства и с их помощью реализовать ГИС-ориентированный браузер-редактор, который работал бы на клиентской стороне системы, то есть, средство, которое позволит отображать, вводить и изменять информацию ГИС;

б) разработать специализированный ГИС-сервер, который содержал бы БД ГИС, средства для взаимодействия с клиентом и с другими компонентами системы NAdmin. в) выбрать способы реализации каналов взаимодействия между клиентом и сервером и разработать протоколы передачи информации между ними;

г) решить вопросы информационной безопасности.

Наша разработка ГИС делится на две основные части: клиентская и серверная. Эти части обмениваются информацией между собой и с другими системами, например, с системой NAdmin.

Клиентская часть системы реализована в виде программного продукта BotikMap на языке TCL/TK. В этой программе можно просматривать и редактировать объекты геоинформационной системы г.Переславля-Залесского. По сути, реализован специализированный (на ГИС-приложения) графический редактор.

Все объекты ГИС разделены на классы, которые называются слоями. К числу слоёв относятся: "Оборудование", "Каналы", "Объекты", "Дома", "Улицы", "Зелень", "Мосты", "Водоёмы" и "Кварталы". Выбор слоя осуществляется с помощью "Менеджера слоёв". Выбор того или иного слоя в "Менеджере слоёв" определяет какие объекты мы можем создавать в данном слое. Например, в слое "Водоёмы" допустимо создавать только объекты "Oзеро", "Название Водоёма", "Pека", "Pучей". Среди слоёв задан порядок их отрисовки по "высоте" (это общее понятие в системах, связанных с построением многослойных изображений, речь идёт об очерёдности отрисовки слоёв) при формировании изображения карты: кварталы расположены ниже, чем водоёмы, водоёмы лежат ниже, чем мосты, а слой "Оборудование" располагается выше всех остальных. Это очень важно для правильного визуального понимания картографического материала.

Для каждого класса (слоя) определены свои подклассы объектов. Например, слою "Водоёмы" соответствуют подклассы: "Oзеро", "Название Водоёма", "Pека", "Pучей". Выбор возможных объектов для создания зависит от выбранного слоя. В программе BotikMap есть возможность переключения на тот или иной слой и создания объектов, соответствующих этому слою.

Клиентская часть, с учётом тех требований, которые были изложены выше, могла быть написана на различных языках программирования: JavaScript, Java, Flash, Visual Basic, и т.п. После анализа достоинств и недостатков различных возможных средств реализации, для клиентской части ГИС было выбрано средство разработки графических приложений TCL/TK. Основная причина такого выбора - многоплатформенность. Этот язык поддерживается в ОС Linux, с которой работает большинство сотрудников СТ "Ботик", и в ОС Windows, которая популярна среди абонентов. Благодаря множеству встроенных средств для работы с графикой, TCL/TK предоставляет всё необходимое для создания полноценных графических приложений.

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

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

Серверная часть ГИС - это CGI-программа на языке Perl. Она делится на несколько подсистем: 

а) подсистема хранения: обеспечивает хранение в базе данных ГИС информации, введенной пользователями или работниками СТ "Ботик". Изменять информацию в этой подсистеме могут также другие компоненты программного обеспечения. Например, подсистема MON может менять состояния (работоспособен, неработоспособен и т.п.) различных объектов.

б) подсистема разграничения прав доступа: контролирует права пользователей. Существует три типа пользователей: анонимный, простой и привилегированный. Каждому пользователю определен его уровень доступа, что подразумевает доступность тех или других операций для данного пользователя. Анонимному клиенту разрешено просмотр объектов БД (кроме слоёв "Оборудование" и "Каналы"). Простой пользователь наследует права анонимного пользователя плюс права на изменение объектов БД. Привилегированный пользователь имеет право на просмотр и изменение всех объектов. В системе NAdmin уже реализованы механизмы авторизации в рамках веб-интерфейса пользователя и администратора к системе NAdmin. Поэтому разумно использовать в нашем проекте уже существующие механизмы авторизации, а не реализовывать свои. 

в) подсистема взаимодействия с клиентом и с другими компонентами системы NAdmin.

В качестве среды для взаимодействия клиент-сервер выступает https, поскольку такое решение позволяет использовать Аpache как платформу для реализации ГИС-сервера. Это позволит не тратить ресурсы на создание мультисессионного сервера и повысит защищенность ГИС-сервера от внешних атак. Системой хранения информации будет единая БД NAdmin. Тем самым, мы решим проблему синхронизации данных и взаимодействия ГИС СТ "Ботик" с другими компонентами системы NAdmin.

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