Journal influence
Bookmark
Next issue
Abstract:
Аннотация:
Authors: () - , () - , () - | |
Ключевое слово: |
|
Page views: 11989 |
Print version Full issue in PDF (1.58Mb) |
До последнего времени геоинформационные системы (ГИС) использовались только для профессиональной деятельности узким кругом лиц (картографами, геологами и т.д.); для организации подобного рабочего ГИС-места были необходимы колоссальные затраты. За последние годы ситуация с применением ГИС изменилась коренным образом: вместо дорогостоящих рабочих станций все чаще используются ПЭВМ, широкое распространение получили недорогие ГИС для решения узкоспециализированных задач. По данным компании Dataquest объем программного обеспечения ГИС для ПЭВМ к 2000 г. превысит 1,4 млрд. долларов США. Учитывая тенденции развития сети Интернет, интеграция ГИС-технологий и Интернет-технологий представляет несомненную актуальность [1,2]. Такая интеграция предполагает применение архитектуры распределенных систем обработки информации с элементами "клиент – серверной". Если рассмотреть две взаимодействующие части этого комплекса, то одна из них (клиент) выполняет активную функцию, то есть инициирует запросы, а другая (сервер) – пассивно на них отвечает. По мере развития системы роли могут меняться (например, некоторый программный блок будет одновременно выполнять функции сервера по отношению к одному блоку и клиента по отношению к другому, в смысле возможности элементов в разные моменты времени изменять свою активную функцию на пассивную и наоборот). Данная архитектура позволяет оптимально использовать аппаратное (сервер ГИС, сканер, плоттер) и программное (ГИС MapInfo, ГИС ARC/INFO и т.д.) обеспечение. Для реализации предлагаемого подхода были разработаны связующие программные компоненты на Delphi v.3.0. В ГИС-центре ИНЦ СО РАН имеющееся лицензионное программное обеспечение базируется на платформе Windows, поэтому при разработке архитектуры построения системы удаленного доступа к указанным ресурсам рассматривались только решения фирмы Microsoft. Обзор технологий взаимодействия Windows-приложений 1. DDE (Dynamic Data Exchange) – динамический обмен данных. Это успешно реализованная, до сих пор широко применяемая технология низкого уровня динамического обмена данными. По существу, DDE представляет собой модель асинхронного взаимодействия Windows-процессов (приложений), с применением которой приложение организовывает канал обмена данными с 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. COM (Common Object Model) – общая объектная модель, или модель компонентных объектов. Обычно приложение состоит из одного монолитного двоичного файла, сгенерированного компилятором; файл остается неизменным, пока не будет скомпилирована и поставлена новая версия, учитывающая изменения в операционных системах, аппаратуре и функциональных потребностях пользователей. При современных темпах развития индустрии программирования статичные приложения значительно замедляют процессы создания программных систем. Одно из решений этой проблемы состоит в том, чтобы разбить монолитное приложение на отдельные части или компоненты. По мере развития технологии компоненты, составляющие приложение, могут заменяться новыми. Приложение более не является статичным, оно постепенно эволюционирует – исходные компоненты заменяются новыми. Из существующих компонентов легко создать и абсолютно новые приложения. Компонент подобен мини-приложению: он поставляется пользователю как двоичный код, скомпилированный и готовый к использованию. Для того чтобы разбить монолитное приложение на компоненты, необходим мощный инструмент, которым и является COM. COM определяет, как создавать динамически взаимосвязанные компоненты и клиенты, чтобы гарантировать возможность совместной работы, и устанавливает стандарт для конкретной архитектуры построения объектных приложений. С возрастанием производительности и общего значения сетей увеличивается потребность в приложениях, состоящих из размещенных в сети компонентов. Компонентная архитектура помогает упростить процесс разработки подобных распределенных приложений. Использование данной архитектуры позволяет разработчику создавать приложения либо с учетом конфигурации сети (например, в ГИС-центре ИНЦ СО РАН выделен сервер и определены клиенты), либо без учета размещения компонентов. Существуют различные варианты коммутации компонент с использованием интерфейса. Используя интерфейс COM, обеспечивается коммутация компонентов напрямую. Данный интерфейс включает в себя набор функций, которые реализуются компонентами и используются клиентами, то есть это определенная структура в памяти, содержащая массив указателей на функции. Другой подход, обеспечивающий большую гибкость связывания компонентов, называется Автоматизацией. Автоматизация облегчает интерпретируемым языкам и макроязыкам доступ к компонентам COM, а также облегчает написание таких компонентов на этих языках. Особенностью Автоматизации является упор на проверку типов во время выполнения. Этот способ коммутации компонент используют многие фирменные приложения Microsoft. Средства Автоматизации позволяют организовать иерархическую структуру объектов – методы и свойства могут возвращать указатели на интерфейсы других компонентов. Автоматизацию можно рассматривать как стандартный механизм, при помощи которого объект может задать свои свойства, методы и типы, и предоставить к ним доступ как через методы стандартного интерфейса IDispatch, так и методами обычных интерфейсов. Автоматизация является надстройкой над COM. Компонент COM, реализующий этот интерфейс, называется Сервером Автоматизации. Клиент COM, взаимодействующий с сервером Автоматизации через интерфейс IDispatch, называется Контроллером Автоматизации. Клиенты не вызывают функции сервера напрямую, вместо этого они используют функции – члены интерфейса для неявного вызова функций сервера Автоматизации. Интерфейс IDispatch предоставляет клиентам и компонентам новый способ общения между собой. Вместо предоставления нескольких собственных специфичных интерфейсов для доступа к своим сервисам, компонент может обеспечить доступ к этим сервисам через один стандартный интерфейс IDispatch. OLE v.2.0 предоставила пользователю дополнительные возможности: встроенные в документ объекты стали теперь активизироваться на месте, их можно редактировать с помощью собственных меню и инструментальных линеек, такая возможность очень удобна для конечных пользователей. Следующим шагом в развитии технологии взаимодействия приложений явилась разработка технологии распределенных объектов, обеспечивающая реализацию компонентной архитектуры в рамках глобальных сетей. 3. DCOM (Distributed COM) – общая модель распределенных объектов, по определению удаляющая реализацию интерфейса от точки исполнения. Технология DCOM обеспечивает объединение информационных ресурсов, оборудования, программных систем, взаимодействие между СУБД, ГИС, других приложений и возможность доступа к ним через World Wide Web (WWW). Подробное описание организации WWW-доступа к картографической информации ГИС-центра ИНЦ СО РАН приведено в [3]. В апреле 1996 года Microsoft приняла в сферу своих интересов среду WWW и ввела в обращение термин ActiveX, призванный отобразить новое направление в стратегии выпуска программных продуктов фирмы. 4. ActiveX – специализированный набор средств, построенных на базе COM и предназначенных для решения задач, связанных с WWW и корпоративными сетями (интрасетями). По существу, термин ActiveX заменил термин OLE, так как большинство средств, используемых ActiveX, уже существовали до этого времени, и реализация была внедрена в Microsoft Internet Explorer. Заметим, что спецификация COM является основой таких технологий, как OLE и ActiveX, которые есть всего лишь две разновидности реализаций указанных выше сервисов, построенных на их базе, замечательно склеивающие не зависящие от расположения объекты, переносимые между различными платформами и не ограничивающиеся в выборе используемых языков программирования. Возможности API-интерфейсов ГИС Базовым программным обеспечением настольных ГИС в ГИС-центре ИНЦ СО РАН являются MapInfo v4.1 и ARC/INFO v7.1.2. ГИС-сервер представляет собой компьютер с базовой операционной системой MS Windows-NT и набором программного обеспечения для создания, отображения, редактирования карт, библиотек для организации доступа клиентов в виде ActiveX-компонентов; топооснова региона в форматах 1:200,000, 1:1000000. Клиентское место – обозреватель стандартных HTML-страниц. При обработке им главной страницы сервера ГИС запускается программа, поддерживающая интерактивный интерфейс к программному обеспечению сервера. Указанные выше инструментальные ГИС предоставляют следующие возможности. ГИС MapInfo (версия 4.5 и выше) обеспечивает как работу в локальной сети по технологии клиент-сервер, так и использование ее в качестве сервера OLE/COM/DCOM объектов (Интегрированная Картография) с интерфейсами к языкам MS Visual Basic, MS Visual C++, Delphi v.3; Интегрированная Картография – это механизм, когда элементы ГИС MapInfo (окно Карты, Отчета, Легенды и т.п.) интегрируются в пользовательское приложение, обеспечивая разработчиков простыми методами доступа к возможностям MapInfo из пользовательских приложений (связывание компонентов). ГИС ARC/INFO (версия 7.1.2 и выше) – Open Development Environment (ODE) (открытая среда разработчика), которая позволяет разработчикам обращаться к функциональным возможностям ARC/INFO из других прикладных программ через специально созданные интерфейсы. ODE представляет собой набор библиотек с одной библиотекой для каждого стандартного модуля и предоставляет доступ к функциональным возможностям ARC/INFO в виде набора подпрограмм и функций. ODE поддерживает те же команды и функции, которые доступны в традиционных модулях ARCEDIT, ARCPLOT, ARC GRID, а также через командную строку ARC/INFO. Версия ODE для Windows-NT включает OLE-оболочку для каждой динамически связанной библиотеки (DLL). В результате мы имеем три управляющих элемента ActiveX (ActiveX Controls) и два сервера объектов COM. 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-доступа к ресурсам ГИС MapInfo на основе интерфейса IDispath и метода CreateOleObject для организации доступа к методам Сервера Автоматизации по технологии COM. Так как функции ГИС API MapInfo технология OLE предоставляет возможность только локальной работы, то для решения данной задачи необходимо ввести промежуточное звено (ПрограммаА), как показано на рисунке. Подобная структурно-функциональная схема установлена на одной машине с ГИС MapInfo, которая, с одной стороны, умеет локально взаимодействовать с ГИС MapInfo, а с другой (по протоколу TCP/IP) – с удаленными клиентами (Программой(-ми)B). Как уже отмечалось ранее, ГИС MapInfo является Сервером Автоматизации, и только благодаря этому возможно решение поставленной задачи. Рассмотрим, каким образом происходит OLE-управление и как работает описываемая система в целом: ПрограммаВ (повторимся, находится у клиента) вызывает методы ПрограммыА (находится на ГИС сервере), которая, в свою очередь, вызывает методы MapInfo, все графические данные ГИС MapInfo выводятся в переподчиненное и контролируемое ПрограммойА окно. Специфика задачи предполагает, что для определенных классов изображений для уменьшения размера образ конвертируется в GIF (Graphic Interchange Format) – формат с использованием метода исключающее ИЛИ и потоком (TStream) передается ПрограммеВ (клиенту). При использовании в ПрограммеB клавиш управления, вызываются удаленные методы ПрограммыА, которая генерирует команды для окна ГИС MapInfo (в области карты – это координаты курсора мыши и используемый рабочий инструмент и т.д.) К достоинствам предложенного подхода следует отнести то, что используемый уровень интеграции применяемых компонентов обладает возможностью масштабирования, то есть увеличение количества пользователей не влияет на функциональные возможности программного продукта, при использовании технологии OLE нет необходимости в написании специального программного обеспечения для взаимодействия между СУБД, ГИС и прикладными программами. Основной проблемой при реализации данной системы является обеспечение необходимого быстродействия, а также некоторая ограниченность, связанная с использованием в качестве серверной платформы операционной системы Windows-NT, из-за чего возникает необходимость значительного расширения ресурсов ГИС-сервера, а в качестве клиентского места – операционной системы Windows-95, 98/NT с обозревателем Internet Explorer. Также нужно отметить, что работу с ActiveX-элементами поддерживает только обозреватель Microsoft Internet Explorer v.3.0 и выше. Для других обозревателей данная технология разрабатывается и тестируется. Все вышеизложенное позволяет говорить о перспективности используемых подходов в настоящем, а в будущем планируется дальнейшее расширение использования компонентов черных ящиков, дающих возможность одной программе управлять выполнением другой посредством установки/чтения свойств объектов и вызова их методов, пока рынок указанных систем не перенасыщен подобными решениями и стандартами. Список литературы 1. Воробьев В.В., Васильев С.Н., Бычков И.В. и др. Интеллектное информационно-картографическое обеспечение устойчивого развития Байкальского региона// География и природные ресурсы. – 1995. - №1. 2. Архипов А., Голованов Ю. Интернет как основа для создания ГИС// ГИС-Обозрение.-1998.-№2. 3. Бычков И.В., Кухаренко Е.Л. Организация WWW-доступа к картографической информации ГИС-центра ИНЦ СО РАН// Вычислительные технологии. - 1998. - Т.3. - №5. |
Permanent link: http://swsys.ru/index.php?id=929&lang=en&page=article |
Print version Full issue in PDF (1.58Mb) |
The article was published in issue no. № 2, 1999 |
Perhaps, you might be interested in the following articles of similar topics:
- Компьютерная интеграция и интеллектуализация производств на основе их унифицированных моделей
- Инженерная программа трехмерного моделирования магнитных систем LittleMag
- Оптимизация обработки информационных запросов в СУБД
- FLEX- семейство аппаратных и программных средств САПР для ПЭВМ
- Интерактивная процедура построения модели тренда для экономических показателей
Back to the list of articles