WWW-ДОСТУП К РЕСУРСАМ ГЕОИНФОРМАЦИОННОЙ СИСТЕМЫ
И.В. Бычков, Е.Л. Кухаренко, Г.В. Ступин
До последнего времени геоинформационные системы (ГИС) использовались только для профессиональной деятельности узким кругом лиц (картографами, геологами и т.д.); для организации подобного рабочего ГИС-места были необходимы колоссальные затраты. За последние годы ситуация с применением ГИС изменилась коренным образом: вместо дорогостоящих рабочих станций все чаще используются ПЭВМ, широкое распространение получили недорогие ГИС для решения узкоспециализированных задач. По данным компании Dataquest объем программного обеспечения ГИС для ПЭВМ к 2000 г. превысит 1,4 млрд. долларов США. Учитывая тенденции развития сети Интернет, интеграция ГИС-технологий и Интернет-технопоттш представляет несомненную актуальность [1,2]. Такая интеграция предполагает применение архитектуры распределенных систем обработки информации с элементами "клиент - серверной". Если рассмотреть две взаимодействующие части этого комплекса, то одна из них (клиент) выполняет активную функцию, то есть инициирует запросы, а другая (сервер) - пассивно на них отвечает. По мере развития системы роли могут меняться (например, некоторый программный блок будет одновременно выполнять функции сервера по отношению к одному блоку и клиента по отношению к другому, в смысле возможности элементов в разные моменты времени изменять свою активную функцию на пассивную и наоборот). Данная архитектура позволяет оптимально использовать аппаратное (сервер ГИС, сканер, плоттер) и программное (ГИС Maplnfo, ГИС ARC/INFO и т.д.) обеспечение. Для реализации предлагаемого подхода были разработаны связующие программные компоненты на Delphi v.3.0. В ГИС-центре ИНЦ СО РАН имеющееся лицензионное программное обеспечение базируется на платформе Windows, поэтому при разработке архитектуры построения системы удаленного доступа к указанным ресурсам рассматривались только решения фирмы Microsoft.
Обзор технологий взаимодействия Windows-up пложс unit
1. DDE (Dynamic Data Exchange) - динамический обмен данных.
Это успешно реализованная, до сих пор широко применяемая технология низкого уровня динамического обмена данными. По существу, DDE представляет собой модель асинхронного взаимодействия Ши^ом^-процессов (приложений), с применением которой приложение организовывает канал обмена данными с ДОЕ-сервером, находящимся на той же машине. Иными словами, после установления связи
вызывающая сторона передает запрос и ожидает возврата результатов, что значительно усложняет его использование, так как нужно учитывать вероятность нарушения связи, тайм-ауты и другие ошибки, которые приложение должно распознавать и исправлять. Сложность использования DDE вынудило Microsoft искать различные способы его усовершенствования -так была предложена спецификация DDEML, но этого оказалось недостаточно. Необходимо было предоставить объединенное решение более высокого уровня для интеграции приложений (компонент). В качестве такого решения была предложена технология OLE (Object Linking and Embedding) v.1.0. - связывание и внедрение объектов. Механизм связывания обеспечивает связь компонента с объектом, которому указывается только ссылка на него; механизм внедрения помещает компоненту в объект, где выделяется место для его хранения и т.д. Используя протокол DDE как базовый механизм коммуникаций, с одной стороны, OLE позволяет активизировать встроенный объект в документе, то есть получить составной документ, с другой стороны, она унаследовала многие проблемы асинхронного протокола (установленные связи легко нарушались, например в результате изменения маршрута доступа к файлу связанного объекта и т.д.). Следующим этапом в развитии OLE технологий стал выход OLE v.2.0, спецификация была распространена среди разработчиков в конце 1993 - начале 1994 года. В дополнение к связыванию и внедрению объектов она определила множество системных средств, включая Uniform Data Transfer (расширение протоколов обмена данными), Structured Storage (способ постоянного хранения иерархически вложенных объектов) и OLE Automation (Автоматизация) (интерфейсы приложений, используемые другими приложениями и языками сценариев). Однако самой важной особенностью OLE v.2.0 является переход от DDE на модель компонентных объектов.
2. СОМ (Common Object Model) - общая объектная модель, или модель компонентных объектов.
Обычно приложение состоит из одного монолитного двоичного файла, сгенерированного компилятором; файл остается неизменным, пока не будет скомпилирована и поставлена новая версия, учитывающая изменения в операционных системах, аппаратуре и функциональных потребностях пользователей. При современных темпах развития индустрии программирования статичные приложения значительно замедляют процессы создания программных систем. Одно из решений этой проблемы состоит в том, чтобы разбить монолитное приложение на отдельные части или компоненты. По мере развития
технологии компоненты, составляющие приложение, могут заменяться новыми. Приложение более не является статичным, оно постепенно эволюционирует -исходные компоненты заменяются новыми. Из существующих компонентов легко создать и абсолютно новые приложения. Компонент подобен мини-при-ложению: он поставляется пользователю как двоичный код, скомпилированный и готовый к использованию. Для того чтобы разбить монолитное приложение на компоненты, необходим мощный инструмент, которым и является СОМ. СОМ определяет, как создавать динамически взаимосвязанные компоненты и клиенты, чтобы гарантировать возможность совместной работы, и устанавливает стандарт для конкретной архитектуры построения объектных приложений.
С возрастанием производительности и общего значения сетей увеличивается потребность в приложениях, состоящих из размещенных в сети компонентов. Компонентная архитектура помогает упростить процесс разработки подобных распределенных приложений. Использование данной архитектуры позволяет разработчику создавать приложения либо с учетом конфигурации сети (например, в ГИС-центре ИНЦ СО РАН выделен сервер и определены клиенты), либо без учета размещения компонентов.
Существуют различные варианты коммутации компонент с использованием интерфейса. Используя интерфейс СОМ, обеспечивается коммутация компонентов напрямую. Данный интерфейс включает в себя набор функций, которые реализуются компонентами и используются клиентами, то есть это определенная структура в памяти, содержащая массив указателей на функции.
Другой подход, обеспечивающий большую гибкость связывания компонентов, называется Автоматизацией. Автоматизация облегчает интерпретируемым языкам и макроязыкам доступ к компонентам СОМ, а также облегчает написание таких компонентов на этих языках. Особенностью Автоматизации является упор на проверку типов во время выполнения. Этот способ коммутации компонент используют многие фирменные приложения Microsoft. Средства Автоматизации позволяют организовать иерархическую структуру объектов - методы и свойства могут возвращать указатели на интерфейсы других компонентов. Автоматизацию можно рассматривать как стандартный механизм, при помощи которого объект может задать свои свойства, методы и типы, и предоставить к ним доступ как через методы стандартного интерфейса IDispatch, так и методами обычных интерфейсов. Автоматизация является надстройкой над СОМ. Компонент СОМ, реализующий этот интерфейс, называется Сервером Автоматизации. Клиент СОМ, взаимодействующий с сервером Автоматизации через интерфейс IDispatch, называется Контроллером Автоматизации. Клиенты не вызывают функции сервера напрямую, вместо этого они используют функции - члены интерфейса для неявного вызова функций сервера Автоматизации. Интерфейс IDispatch предоставляет клиентам и
компонентам новый способ общения между собой. Вместо предоставления нескольких собственных специфичных интерфейсов для доступа к своим сервисам, компонент может обеспечить доступ к этим сервисам через один стандартный интерфейс IDispatch.
OLE v.2.0 предоставила пользователю дополнительные возможности: встроенные в документ объекты стали теперь активизироваться на месте, их можно редактировать с помощью собственных меню и инструментальных линеек, такая возможность очень удобна для конечных пользователей. Следующим шагом в развитии технологии взаимодействия приложений явилась разработка технологии распределенных объектов, обеспечивающая реализацию компонентной архитектуры в рамках глобальных сетей.
3. DCOM (Distributed СОМ) - общая модель распределенных объектов, по определению удаляющая реализацию интерфейса от точки исполнения.
Технология DCOM обеспечивает объединение информационных ресурсов, оборудования, программных систем, взаимодействие между СУБД, ГИС, других приложений и возможность доступа к ним через World Wide Web (WWW). Подробное описание организации WWW-доступа к картографической информации ГИС-центра ИНЦ СО РАН приведено в [3]. В апреле 1996 года Microsoft приняла в сферу своих интересов среду WWW и ввела в обращение термин ActiveX, призванный отобразить новое направление в стратегии выпуска программных продуктов фирмы.
4. ActiveX - специализированный набор средств, построенных на базе СОМ и предназначенных для решения задач, связанных с и корпоративными сетями (интрасетями).
По существу, термин ActiveX заменил термин OLE, так как большинство средств, используемых ActiveX, уже существовали до этого времени, и реализация была внедрена в Microsoft Internet Explorer.
Заметим, что спецификация СОМ является основой таких технологий, как OLE и ActiveX, которые есть всего лишь две разновидности реализаций указанных выше сервисов, построенных на их базе, замечательно склеивающие не зависящие от расположения объекты, переносимые между различными платформами и не ограничивающиеся в выборе используемых языков программирования.
Возможности API-интерфейсов ГИС
Базовым программным обеспечением настольных ГИС в ГИС-центре ИНЦ СО РАН являются Maplnfo v4.1 и ARC/INFO v7.1.2. ГИС-сервер представляет собой компьютер с базовой операционной системой MS Windows-NT и набором программного обеспечения для создания, отображения, редактирования карт, библиотек для организации доступа клиентов в виде Acrt'veX-компонентов; топооснова региона в форматах 1:200,000, 1:1000000. Клиентское место - обозреватель стандартных НТМГ-страниц.
При обработке им главной страницы сервера ГИС запускается программа, поддерживающая интерактивный интерфейс к программному обеспечению сервера.
Указанные выше инструментальные ГИС предоставляют следуюгщ/е возможности.
ГИС Maplnfo (версия 4.5 и выше) обеспечивает как работу в локальной сети по технологии клиент-сервер, так и использование ее в качестве сервера OLE/COM/DCOM объектов (Интегрированная Картография) с интерфейсами к языкам MS Visual Basic, MS Visual C++, Delphi v.3;
Интегрированная Картография - это механизм, когда элементы ГИС Maplnfo (окно Карты, Отчета, Легенды и т.п.) интегрируются в пользовательское приложение, обеспечивая разработчиков простыми методами доступа к возможностям Maplnfo из пользовательских приложений (связывание компонентов).
ГИС ARC/INFO (версия 7.1.2 и выше) - Open Development Environment (ODE) (открытая среда разработчика), которая позволяет разработчикам обращаться к функциональным возможностям ARC/INFO из других прикладных программ через специально созданные интерфейсы.
ODE представляет собой набор библиотек с одной библиотекой для каждого стандартного модуля и предоставляет доступ к функциональным возможностям ARC/INFO в виде набора подпрограмм и функций. ODE поддерживает те же команды и функции, которые доступны в традиционных модулях ARCEDIT, ARC PLOT, ARC GRID, а также через командную строку ARC/INFO. Версия ODE для Win-dows-NT включает OLE-оболочку для каждой динамически связанной библиотеки (DLL). В результате МЫ имеем три управляющих элемента ActiveX (ActiveX Controls) и два сервера объектов СОМ. ActiveX Controls включают в себя средства работы с картами: ARCEDIT (Arcedit.ocx), ARCPLOT (Arcplot.ocx) и ARC GRID (Grid.ocx). Серверы объектов COM включают библиотеку функционального уровня ARC (Arc.dll) и уровня строкового массива (Strings.dll), которые возвращают информацию для среды разработки ActiveX Controls помещаются в прикладную программу для получения доступа к функциональным возможностям: ARCEDIT, ARCPLOT и ARC GRID.
Далее приведена реализация WWW-доступа к ресурсам ГИС Maplnfo на основе интерфейса IDispath и метода CreateOleObject для организации доступа к методам Сервера Автоматизации по технологии СОМ. Так как функции ГИС API Maplnfo технология OLE предоставляет возможность только локальной работы, то для решения данной задачи необходимо ввести промежуточное звено (ПрограммаА), как показано на рисунке.
Подобная структурно-функциональная схема установлена на одной машине с ГИС Maplnfo, которая, с одной стороны, умеет локально взаимодействовать с ГИС Maplnfo, а с другой (по протоколу TCP/IP) - с удаленными клиентами
(Программой(-ми)В). Как уже отмечалось ранее, ГИС Maplnfo является Сервером Автоматизации, и только благодаря этому возможно решение поставленной задачи. Рассмотрим, каким образом происходит OZJÎ-управление и как работает описываемая система в целом: ПрограммаВ (повторимся, находится у клиента) вызывает методы ПрогрсшмыА (находится на ГИС сервере), которая, в свою очередь, вызывает методы Maplnfo, все графические данные ГИС Maplnfo выводятся в переподчиненное и контролируемое ПрогрсшмоНА окно. Специфика задачи предполагает, что для определенных классов изображений для уменьшения размера образ конвертируется в GIF (Graphic Interchange Format) - формат с использованием метода исключающее ПЛИ и потоком (TStream) передается ПрограммеВ (клиенту). При использовании в ПрограммеВ клавиш управления, вызываются удаленные методы ПрогрсшмыА, которая генерирует команды для окна ГИС Maplnfo (в области карты - это координаты курсора мыши и используемый рабочий инструмент и т.д.)
К достоинствам предложенного подхода следует отнести то, что используемый уровень интеграции применяемых компонентов обладает возможностью масштабирования, то есть увеличение количества пользователей не влияет на функциональные возможности программного продукта, при использовании технологии OLE нет необходимости в написании специального программного обеспечения для взаимодействия между СУБД, ГИС и прикладными программами. Основной проблемой при реализации данной системы является обеспечение необходимого быстродействия, а также некоторая ограниченность, связанная с использованием в качестве серверной платформы операционной системы Windows-NT, из-за чего возникает необходимость значительного расширения ресурсов ГИС-сервера, а в качестве клиентского места - операционной системы Windows-95, 98/NT с обозревателем Internet Explorer. Также нужно отметить, что работу с ЛсА'еХ-элементами поддерживает только обозреватель Microsoft Internet Explorer v.3.0 и выше. Для других обозревателей данная технология разрабатывается и тестируется.
Все вышеизложенное позволяет говорить о перспективности используемых подходов в настоящем, а в будущем планируется Дальнейшее расширение использования компонентов черных ящиков, дающих возможность одной программе управлять выполне-
Обозреватель
Internet Explorer
О if
Программа В
в виде ActtiveX
компонент 1
ГИС Клиент Т
Данные
ГИС Maplnfo
ПрограммаА ; виде исполняемого модуля
ГИС Сервер
0. Обеспечивает интерфейс с пользователем
3. Получает потоки с сервера 2. Распаковывает данные
1. Отображает
картографические материалы
0.Управляет ГИС Maplnfo через / OLE
1. Генерирует картографические материалы
2. Упаковывает данные 3.Отправляет потоками клиенту
Структурно-функциональная схема WWW-доступа к ресурсам ГИС Maplnfo
нием другой посредством установки/чтения свойств объектов и вызова их методов, пока рынок указанных систем не перенасыщен подобными решениями и стандартами.
Список литературы
1. Воробьев В.В., Васильев С.Н., Бычков И.В. и др. Ин-теллектное информационно-картографическое обеспечение
устойчивого развития Байкальского региона// География и природные ресурсы. - 1995. - №1.
2. Архипов А., Голованов Ю. Интернет как основа для создания ГИС// ГИС-Обозрение.-1998.-№2.
3. Бычков И.В., Кухаренко Е.Л. Организация \yWW-доступа к картографической информации ГИС-центра ИНЦ СО РАН// Вычислительные технологии. - 1998. - Т.З. - №5.
ВЗАИМОДЕЙСТВИЕ КЛИЕНТА И СЕРВЕРА ГЕОИНФОРМАЦИОННОЙ СПРАВОЧНОЙ СИСТЕМЫ
С. Л. Беляков
Геоинформационные справочные системы (ГИСС) представляют собой класс геоинформационных систем, интерес к которым растет в сферах производства, бизнеса и управления [1]. Основой ГИСС является электронная карта участка земной поверхности в векторном графическом формате. В отдельных информационных слоях карты нанесены здания, сооружения, коммуникации и другие объекты прикладной области, использующей ГИСС. С каждым объектом связывается информация из сопутствующих текстовых, числовых, графических и мультимедийных баз данных. Электронная карта ГИСС используется в качестве многофункционального средства, которое:
- служит основой логического объединения разнородных баз данных;
- представляет удобный и привычный для многих пользователей интерфейс навигационного поиска информации по картам и вывода результатов;
- позволяет моделировать как информационные, так и физические процессы в пространстве и на плоскости.
Работа пользователя с ГИСС происходит следующим образом: на основе текстовых справочников или карт им формируется некоторая рабочая карта области пространства с требуемой тематической направленностью. Над полученной рабочей картой пользователь выполняет операции, необходимые ему для получения информации, реализует аналитические процедуры и процедуры моделирования.
Наиболее эффективна реализация ГИСС в компьютерных сетях, поскольку накопление и использование геоинформации носит коллективный характер. Оба эти процесса протекают параллельно во времени. Централизованное хранение электронной карты и сопутствующих баз данных на сервере и произвольный доступ к информации со стороны клиентов представляется одним из наиболее целесообразных вариантов структурной организации ГИСС. Современные технологии кли-ент-сервер содержат ряд готовых средств построения подобных систем и могут быть непосредственно применены для создания действующих образцов. Вместе с тем специ-
фика работы пользователя с ГИСС такова, что требует в ряде случаев дополнительных мер по организации эффективного взаимодействия клиентов и сервера. В данной работе рассматривается проблема сокращения сложности рабочих карт, формируемых пользователем. Она возникает при работе со сложными электронными картами, хранящимися на сервере, и заключается в недопустимом увеличении объема рабочей карты пользователя после получения ответа на запрос. Сложность понимается как число примитивов - простейших графических элементов описания карты. Эта величина серьезно влияет на эксплуатационные показатели ГИСС. В частности, растет время регенерации изображения, доступа к неграфическим данным и выполнения прикладных программ обработки векторного описания карты. Поскольку основной режим работы пользователя с ГИСС диалоговый, замедление системных процессов от секунд до десятков минут в некоторых областях использования просто недопустимо.
Рассматриваемая проблема рано или поздно возникает в любой ГИСС, так как приток новых сведений в систему при нормальной эксплуатации неизбежен. Хозяйственная деятельность человека, динамика природной среды, социально-экономические процессы, будучи отображенными в ГИСС, обусловливают рост сложности электронной карты.
Анализ процесса взаимодействия клиента с сервером
Как показал анализ разработок ГИСС и типовых процедур картографического исследования [2], процесс решения задачи пользователем-клиентом ГИСС представляет собой последовательность действий (рис. 1). Действие Запрос формируется пользовате-
Процесс реивния задачи кгментом ГИСС
Запрос Анагиз Запрос Анагиз
_________________________________________________________ __
Настройка графического изобра>м5ния Визуагыъй анагиз Выполнение прикладных программ Загросык сопутствукиум ЕД
Рис. 1