Научная статья на тему 'Web-технология доступа к географическим данным'

Web-технология доступа к географическим данным Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
163
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЕРЕДАЧА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ ЧЕРЕЗ INTERNET / ПЕРЕДАЧА ВЕКТОРНОЙ ИНФОРМАЦИИ / ГЕОИНФОРМАЦИОННЫЕ СИСТЕМЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гриценко Юрий Борисович, Еськин Денис Михайлович, Жуковский Олег Игоревич, Игушев Кирилл Владимирович

В данной статье рассматриваются вопросы, связанные с возможностью доступа к географической информации с использованием технологии Internet. Описан подход, предлагаемый авторами для решения этой задачи с использованием технологии Autodesk MapGuide и Oracle Spatial 9i, а также механизма детального контроля доступа.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гриценко Юрий Борисович, Еськин Денис Михайлович, Жуковский Олег Игоревич, Игушев Кирилл Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

WEB-BASED ACCESS TO GEOGRAPHICAL DATA

This article examines issues related to accessing geographical information by use of Internet technology. Described is an approach based on Autodesk MapGuide and Oracle Spatial 9i technology as well as detailed control access mechanism suggested by the authors to solve the task.

Текст научной работы на тему «Web-технология доступа к географическим данным»

УДК 681.3.016:91

WEB-ТЕХНОЛОГИЯ ДОСТУПА К ГЕОГРАФИЧЕСКИМ ДАННЫМ

Ю.Б. Гриценко, Д.М. Еськин, О.И. Жуковский, К.В. Игушев

В данной статье рассматриваются вопросы, связанные с возможностью доступа к географической информации с использованием технологии internet. Описан подход, предлагаемый авторами для решения этой задачи с использованием технологии Autodesk MapGuide и Oracle Spatial 9i, а также механизма детального контроля доступа.

Последнее десятилетие в нашей стране отмечается повышенным вниманием к геоинформатике. За это время опубликовано большое количество статей и книг, посвященных вопросам и проблемам связанным с ней. Вместе с тем сравнительно недавно возникла потребность работы с географическими данными через среду Internet. Это связано с рядом факторов: широким распространением Internet-технологии в Российской Федерации, появлением высокопропускных каналов, развитием микроэлектронной базы ЭВМ.

Системы передачи графической информации через Internet возникли несколько лет назад. До настоящего времени они представляли собой лишь просмотр фиксированного набора растровых изображений территорий в форматах GIF, JPEG. Интерфейс взаимодействия пользователя с web-сервером был небогат и сводился к простому выбору растрированных изображений карт. Преимущества такого метода передачи данных:

- простота публикации;

- низкие требования к серверу;

- канал низкой пропускной способности;

- наличие на клиентском месте браузера.

Затем появились системы просмотра картографической информации посредством выбора из базы данных. На web-сервере организовывалась база данных, представляющая собой набор тематических категорий. Каждая категория содержала определенный набор тематических карт,

хранящихся в растровых форматах.

Следующим шагом развития технологии передачи графической информации через Internet стала возможность передачи векторной информации. На каждом клиентском месте размещается дополнительный модуль (plug-in, обычно ActiveX plug-in) для расширения имеющихся графических функций браузера. На сервере размещается набор серверных программ, обеспечивающих взаимодействие с клиентом: анализ действий клиента и создание картинки на область, указанную им.

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

информации, но и высокоскоростную обработку атрибутивной информации, хранящейся в базе данных.

В настоящее время на мировом рынке существует ряд компаний, производящих геоинформационные системы. Каждая из этих фирм создала свою разновидность web-сервера. Обычно такие серверы работают со структурами информации родственных ГИС-систем. Только некоторые поддерживают форматы других ГИС. К основным производителям можно отнести следующие компании: Autodesk (MapGuide), ESRI (ArclMS), InterGraph (GeoMedia Web Map), Maplnfo (MapXtreme), Bently (ModelServer Discovery) и т.д.

В ходе решения производственных задач авторами были изучены продукты, представленные на современном рынке программного обеспечения для работы с географическими данными через среду Internet, и выбор был сделан в сторону компании Autodesk. Компания Autodesk предлагает комплекс программных средств для работы с географическими данными, в который входят системы MapGuide и Autodesk Map 6.

Система Autodesk Map 6 предоставляет инженерам, проектировщикам, административному и техническому персоналу предприятий, организаций эффективные средства точного картографирования и исчерпывающего ГИС-анализа. Она позволяет создавать, актуализировать карты, интегрировать данные из многих источников и форматов и создавать тематические карты. Построенная на базе AutoCAD 2002 и являющаяся клиентом Oracle, Autodesk Map 6 - основной компонент ГИС-системы Autodesk. Autodesk Map 6 позволяет редаетировать проекты в многопользовательском режиме. Используя инструментарий Internet и возможность прямого доступа к порталу Autodesk Point А, она обеспечивает в реальном времени связь с производственной информацией.

MapGuide 6.0 - наиболее мощная на сегодня сетевая ГИС; ГИС для Internet (или корпоративной сети Intranet), назначение которой - предоставлять тысячам пользователей картографическую информацию. С любых компьютеров - PC, Macintosh или Sun SPARCstation - посредством web-браузера можно с легкостью взаимодействовать с обновляемыми, актуальными интеллектуальными картами. MapGuide - масштабируемая и обеспечивающая сохранность геоданных сетевая ГИС, которая одновременно взаимодействует со множеством серверов, содержащих реляционные и географические базы данных, поддерживает все главные форматы данных ГИС и, безусловно, DWG- и DXF-файлы. Мощную среду разработки MapGuide можно использовать для создания интеллектуальных картографических Internet-приложений, которые позволяют работать с актуальными векторными и растровыми данными непосредственно через web-браузер.

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

Данные картографической базы ГИС могут храниться в растровом (форматы растровых изображений) или векторном виде в базе данных Oracle, VISION Cashe. Векторная графическая информация из различных GIS/CAD (dwg-файлы) систем посредством SDF-Loader может быть конвертирована в SDF-формат. Механизм Autodesk MapGuide Providers может осуществлять работу с SDF-форматом, а также поддерживает данные, поставляемые Oracle, VISION Cashe,

Autodesk MapGuide Server обрабатывает картографические данные в соответствии с запросами, поступающими от Autodesk MapGuide Author и Autodesk MapGuide Viewer при работе с картой в этих программах. Он определяет данные, которые должны быть отправлены в соответствии с запросом, а затем посылает их из источника пространственных данных, растровых данных или OLE DB-данных в соответствии с условиями данного запроса. Autodesk MapGuide Server обеспечивает контроль доступа к источникам данных посредством проверки паролей, пользовательских IDs и других параметров определения полномочий пользователя.

Общая схема взаимодействия

Клиенты

Autodesk CttSfc CÎleùV ■' Any Browser J^/ \ bvei F- "I I AutçdçHiJ^iiwde [ " Amiiiif

■ Browser Browser Browser 1— -r

Схема взаимодеиствия

программных средств при работе с графической информацией через Internet

MapAgent - программный интерфейс, обеспечивающий взаимодействие между web-cep-

вером и Autodesk MapGuide Server.

Autodesk MapGuide Author читает пространственные и атрибутивные данные ГИС, а также осуществляет связь объектов карты с соответствующими им записями в базах данных различных СУБД. Обеспечивает создание векторных карт в формате MWF (Map Windows Files), внедряет эти карты в web-страницу. С такими картами можно работать в интерактивном режиме посредством свободно распространяемой утилиты Autodesk MapGuide Viewer, либо используя

собственные приложения.

Более подробную информацию об элементах схемы можно найти на Internet-серверах: www.mapauide.ru.www.autodesK.ru.www.autodesk.com.www.cadmaster.ru.

Так как геоинформационная система должна оперировать как графическими, так и атрибутивными данными, иметь возможность производить наложения запросов к различной информации, авторами статьи была выбрана база данных Oracle Spatial 9i.

В неспециализированных СУБД (от Access до SQL Server) доступен только реляционный подход, при котором чем сложнее описываемый геометрический объект, тем больше строк в базе данных требуется для его описания. И только в СУБД Oracle реализован объектный подход к хранению пространственных данных по принципу «один объект - одна запись». Помимо большего быстродействия при работе с едиными хранилищами данных, построенными по объектному принципу, есть еще одно существенное преимущество: сложные аналитические запросы с пространственными составляющими могут выполняться не инструментальной ГИС, а самим Oracle, что оптимально с точки зрения распределения ресурсов.

Единое хранилище на основе Oracle обладает способностью к репликациям, то есть объединяет данные из многих малых хранилищ в одно централизованное для целей глобального анализа, поддерживает параллельную индексацию и сегментирование таблиц. При этом вся техника поиска дубликатов записей, решения вопроса о дополнении, замене или удалении записей реализуется на основе встроенных механизмов самой СУБД.

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

В MapGuide реализована интеграция с Oracle 8i/9i, позволяющая без предварительной конвертации использовать пространственные данные в его проектах. Стандартными средствами программирования и разработки приложений несложно расширить функциональные возможности MapGuide и добавить новые.

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

Авторами разрабатывается геоинформационная система крупного металлургического предприятия [1,2]. Реализация данной системы основана на использовании пакета программ

Autodesk (Map 6, MapGuide Release 6) и Oracle Spatial 9i.

В результате в системе все данные будут храниться на одном общем сервере, пользователи будут иметь доступ к ним посредством Internet/Intranet. Это сделано для того, чтобы пользователю какого-либо подразделения комбината не отражались те данные, которые не входят в круг его служебных обязанностей. Для реализации данного механизма был использован механизм детального контроля доступа к данным в Oracle 9i.

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

Примером детального контроля доступа может служить политика безопасности, которая определяет, какие строки могут быть доступны различным группам пользователей. Политика безопасности формирует предикат, вид которого зависит от соединенного с базой пользователя и группы, к которой он относится. То есть в нашем случае, когда пользователь активизируется, происходит запрос к БД, причем в зависимости от того, что это за пользователь, к его запросу с помощью функции безопасности, созданной в СУБД, подставляется предикатное предложение WHERE, которое налагает «фильтр» на значения в таблице, и в результате пользователь получает только то, что ему доступно. В предложении WHERE мы указываем конкретно те слои, которые может видеть пользователь.

Для того чтобы работал описанный выше механизм, необходимо добавить процедуру политики безопасности. Эта процедура обращается к системному пакету DBMS_RLS, в котором с помощью процедуры ADD_POLiCY мы добавляем политику безопасности для наших пользователей то есть указываем, какая функция будет добавлять предикат, на какую таблицу накладывается это ограничение, под какой схемой это все будет работать. Также необходимо раздать роли всем пользователям, работающим под этой схемой на таблицу, с которой как раз и будет работать эта политика безопасности (добавление, удаление, изменение, просмотр).

Теперь все DML-предложения, обращающиеся к таблице, будут иметь предикат, возвращаемый связанной функцией my_secunty_function, независимо от источника, вызвавшего DML-

операцию (т е. независимо от приложения, получающего доступ к данным).

Рассмотрим наиболее привлекательные, достоинства механизма детального контроля

доступа.

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

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

Осуществляется на сервере. Учитывая сложность управления и поддержки большого количества представлений, разработчики раз за разом стремятся закладывать логику приложения в самое приложение. Приложения просматривают, кто присоединен к базе данных, что он запрашивает, и выполняют соответствующий запрос. Это защищает данные, но только тогда, когда доступ к ним осуществляется через данное приложение, что снижает возможность использования средств выполнения запросов и генерации отчетов, а также других средств обработки данных. Повышается также вероятность получения искаженных данных, так как для того чтобы сделать искажение, достаточно подключиться к базе данных через любое другое средство, отличное от рассматриваемого приложения, и запросить данные. Благодаря включению в базу данных логики безопасности, то есть механизма, который определяет, какие данные может видеть пользователь, вы можете быть уверены, что данные будут защищены независимо от используемого средства доступа к ним, и обращение можно осуществлять с помощью любого средства, из которого возможен доступ к данным.

Запрет на соединение с базой данных от имени обобщенных пользователей. Благодаря детальному контролю доступа каждый пользователь должен соединяться с базой данных под своим именем. В этом случае обеспечивается полная подотчетность - можно отслеживать действия на уровне пользователя. Раньше многие приложения при работе с различными представлениями данных для различных пользователей должны были применять обобщенных пользователей базы данных соответственно выбираемым данным.

Упрощение разработки приложения. Детальный контроль доступа забирает логику безопасности из логики приложения. Для поддержки безопасности данных разработчик приложения может сконцентрироваться на самом приложении, а не на логике низкоуровневого доступа к данным. Так как детальный контроль доступа полностью осуществляется на сервере, то приложения непосредственно наследуют эту логику. Раньше разработчики приложения должны были встраивать логику в приложение, делая его все более сложным сначала для разработки и особенно сложным для его последующей поддержки. Если из приложения возможен доступ к данным, причем к одним и тем же данным и из нескольких точек приложения, то простейшее изменение политики безопасности может затронуть много дюжин модулей приложения. Благодаря применению детального контроля доступа изменения в политике безопасности не влияют на модули приложения.

Применение развитых средств разработки приложения. Во многих средах политика безопасности поначалу еще должным образом не определена и через некоторое время может измениться. Если происходит слияние компаний или другие структурные перемены или вводятся

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

со встроенной новой логикой.

В Oracle9i существует два типа детального контроля доступа.

Контекст-приложения. Это пространство имен с набором пар соответствующих параметров переменная/значение. Например, в контексте, называемом 'OurApp!, можно получить доступ к переменным 'DeptNo', 'Mgr' и так далее. Контексты приложения всегда связываются с некоторым PL/SQL-пакетом. Единственный способ присваивания значений контекста - это вызов пакета. Например, для получения переменной 'DeptNo' и установки ее значения в контексте 'OurApp' необходимо вызвать специальный пакет, связанный с контекстом 'OurApp'. Этот пакет гарантирует корректную установку значений контекста 'OurApp' (вы сами так написали, поэтому корректная установка контекста гарантируется). В этом случае предотвращается установка значений контекста приложения злоумышленниками, которые в противном случае могли бы получить доступ к той информации, доступа к которой у них быть не должно. Любой пользователь может читать значения контекста приложения, но установить их может только пакет.

Политика безопасности. Политика безопасности представляет собой просто функцию, построенную так, чтобы во время выполнения запроса она могла возвращать предикат для динамической фильтрации данных. Эта функция обычно использует значения контекста приложения для формирования и возврата корректного предиката (т.е. она просматривает, 'кто' присоединен к базе данных, 'что' он собирается сделать, и проверяет, есть ли у него привилегии для выполнения этих операций). Следует обратить внимание, что по отношению к пользователю SYS (или INTERNAL) никогда не используется политика безопасности, эти пользователи могут

видеть все данные.

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

СУБД Oracle.

ЛИТЕРАТУРА

1 Ехлаков Ю П Кошелев А.Е., Веревкин В.И., Жуковский О.И., Гриценко Ю.Б. Геоинформационная технология для автоматизации ведения генплана металлургического комбината // Информационные технологии в экономике, промышленности и образовании: Тематическии

сборник научно-технических статей. - М.:УНПО «ЦСИ», 1999. - С. 3-6.

2 Веревкин В.И., Гриценко Ю.Б., Еськин Д.М., Ехлаков Ю.П., Петров Ю.П., Кошелев А.Е.,

Жуковский О.И. Геоинформационные технологии в управлении инженерной инфраструктурой ОАО «КМК» II Материалы Всероссийской научно-технической конференции «Моделирование, программное обеспечение и наукоемкие технологии в металлургии», посвященной 20-летию кафедры «Информационные технологии в металлургии». - Новокузнецк, 2001. - С. 381-386.

i Надоели баннеры? Вы всегда можете отключить рекламу.