Розов А.В., ТНК-ВР, Шпильман А.В., Полищук И.Н., Маклаков С.С., Колобов П.Н., ООО «Сибгеопроект», Тюмень, тел.: (3452) 46-02-79, т/ф.: (3452) 46-88-86, e-mail: andrew@shpilman.com
В настоящее время мониторинг за выполнением условий лицензионных соглашений является важнейшей задачей недропользования. Для ее решения на современном уровне необходимы соответствующие информационные системы. Создаваемая нами «Система мониторинга недропользования» (СМН) предназначена для эффективного управления использованием недр на лицензионных участках, географически расположенных в разных районах страны и находящихся в ведении нескольких предприятий – недропользователей, объединенных в одну корпоративную структуру.Создание единого информационного пространства по управлению недропользованием помогает специалистам компании решать задачи по повышению эффективности геологоразведочных работ, оптимизации затрат на подготовку новых запасов и вовлечение их в разработку. Система основана на современных геоинформационных технологиях, которые позволяют представить пространственное распределение информации по недропользованию.
Для разработки новой системы были использованы следующие главные составляющие: ESRI ArcGIS Engine, Microsoft .NET Remoting, Business Objects Crystal Reports и Microsoft Internet Information Server (рис. 1). Применение этих технологий при построении информационной системы позволило упростить доступ к системе большого количества пользователей и снизило требования к клиентскому рабочему месту.
Рис. 1. Основные компоненты Системы мониторинга недропользования.
Для предоставления доступа к «Системе Мониторинга Недропользования» один из ранних вариантов предполагал наличие на каждом клиентском месте следующих компонентов: ESRI ArcView, Crystal Reports и клиента СМН, оформленного в виде Windows приложения (exe-файла). Данный подход оказался неоптимальным с точки зрения поддержки клиентских мест и стоимости одного рабочего места. На каждом клиенте необходимо было установить и администрировать ArcView, соответственно для каждого клиента необходимо покупать лицензию ArcView. После выхода очередных изменений и исправлений требовалось каждый раз обновлять ПО у клиентов.
Вторым вариантом был веб-сайт, разработанный при помощи ASP.NET в связке с ArcGIS Server. Недостаток этого подхода заключается в том, что на основе обычного HTML и JavaScript проблематично создать интерфейс, сравнимый с интерфейсом Windows-приложения по удобству отображения информации, удобству использования и функциональности. Также существенным недостатком этого подхода явились некоторые ограничения, которые накладывает ArcGIS Server на разработчика.
Поэтому в нашем случае было принято решение разработать версию Системы мониторинга недропользования, основными чертами которой стали бы: удобный интерфейс клиента, минимум компонентов на клиентском месте и, конечно же, автоматическое обновление системы.
Структура системы
Итак, перейдем к устройству системы (рис. 2). Новая версия Системы Мониторинга Недропользования состоит из серверной и клиентской частей.
Рис. 2. Архитектура Системы мониторинга недропользования.
Компоненты сервера:
- Сервер СМН
- ESRI ArcGIS Engine
- Microsoft Internet Information Server
- Microsoft .NET Framework
- Microsoft SQL Server (Oracle)
- Business Objects Crystal Reports
Сервер СМН – это сервис, обслуживающий пространственные и атрибутивные запросы клиентов. Он разработан с использованием библиотек ESRI ArcGIS Engine и Microsoft .NET Remoting, входящей в состав Microsoft .NET Framework.
ESRI ArcGIS Engine – этот инструментарий разработчикаиспользуется для реализации картографической части сервера СМН, которая генерирует изображения карт и обеспечивает пространственные запросы (рис. 3, 4). При этом, приложение на основе ArcGIS Engine устанавливается только на сервер, а клиенты работают с экземпляром карты на сервере посредством разработанных нами интерфейсов.
Рис. 3. Представление данных по лицензионным участкам.
Рис. 4. Вывод атрибутивной информации по лицензионным участкам.
Видимо нужно объяснить, почему выбран ArcGIS Engine, а не ArcGIS Server. Во-первых, в случае относительно небольшого числа клиентов решение на основе ArcGIS Engine дешевле по сравнению с решением на ArcGIS Server. Во-вторых, ArcGIS Engine в принципе позволяет создать приложение, подобное приложению на ArcGIS Server, и, для некоторых задач, даже несколько более гибкое. Например, в текущей реализации ArcGIS Server (в версии 9.1) нет возможности управлять открытым документом, то есть сохранить его измененную копию для каждого пользователя и, потом, при следующем сеансе, открыть его снова. В нашем случае это было одним из основных препятствий. Плюсом ArcGIS Engine также явилось и то, что не пришлось выносить в отдельное приложение картографический сервис. Он находится в том же модуле, что и атрибутивный. Следовательно, проще администрировать сервер.
CrystalReports– популярный генератор отчетов, который уже десятый год подряд побеждает в номинации «Лучшие инструментальные средства для составления отчетов и анализа», удостоен награды «Выбор читателей» журнала Visual Studio Magazine (лидирующего независимого источника информации для разработчиков), также назван VARBusiness Magazine одним из лучших продуктов для рынка среднего бизнеса. В нашей системе Crystal Reports используется в качестве подсистемы построения отчетных форм, основные возможности которой: доступ почти к любым данным, динамическое форматирование информации, создание отчетов на основе данных практически из любого источника и последующий экспорт во все основные форматы.
InternetInformationServer(IIS) – современное решением компании Microsoft в области Web-серверов. Данный сервер дает возможность гибко управлять доступом к ресурсам, распределять нагрузку между процессами. Одним из решающих факторов выбора этого Web-сервера было его наличие в каждой инсталляции операционной системы Windows, что позволяет быстро развертывать готовые решения. IIS прост в администрировании и легок в освоении. В нашей системе он используется для публикации клиента СМН на сервере. IIS автоматически выдает клиенту новые версии библиотек Клиента СМН, обрабатывает и передает http запросы к Серверу СМН, если пользователь не может обращаться к нему напрямую. Последнее возможно, если в компании используется жесткая политика администрирования, и у пользователя обычно открыт только один порт http 80, через который IIS и обрабатывает все запросы к системе.
MicrosoftSQLServer или Oracle – базы данных для хранения и обработки атрибутивной информации и собственных пространственных данных.
Компоненты клиента:
- Клиент СМН
- Microsoft .NET Framework
- Microsoft Internet Explorer или любой совместимый браузер
Из этих компонент у клиента необходимо всего один раз установить Microsoft .NET Framework, да и то очень редко, так как в новых версиях Windows он идет в пакете установки. Microsoft Internet Explorer (выше 5-й версии) также входит в стандартный пакет установки Windows. Клиент СМН сам автоматически загружается посредством Internet Explorer.
Таким образом, запуск Клиента СМН сводится всего лишь к тому, чтобы пользователь в адресной строке Internet Explorer указал адрес Сервера СМН – и всё. Выходит, что на рабочих местах для взаимодействия с системой необходимы Internet Explorer (или любой совместимый браузер) и Microsoft .Net Framework, причем Internet Explorer используется только для получения доступа к системе и автоматического обновления компонентов системы на клиентском рабочем месте.
Интерфейс клиента СМН построен на .Net Framework и представляет собой обычное Windows-приложение, которое загружается при помощи Internet Explorer на машину клиента и автоматически запускается в его окне. Такой подход дает еще одно преимущество: у пользователя – полнофункциональный Windows интерфейс, которого нельзя добиться в случае использования HTML и JavaScript.
Для обмена информацией между сервером и клиентом используется технология Microsoft .NET Remoting, входящая в .Net Framework. Microsoft .NET Remoting–новейшая технология для построения отказоустойчивых, масштабируемых, защищенных, быстрых, простых в сопровождении и администрировании распределенных приложений. Вкратце, она организует работу с компонентами приложения так, как будто они находятся на одном компьютере. Технология позволяет использовать различные транспортные протоколы (HTTP, TCP, IPC), форматы сериализации объектов, схемы контроля времени жизни объектов, режимы создания и активации объектов. То есть, она позволяет контролировать весь поток и формат передаваемых данных, вплоть до шифрования передаваемой информации, ее сжатия и т.д. .NET Remoting дает возможность разработчику расширять имеющуюся функциональность.
Преимущество использования Internet Explorer для развертывания Клиента СМН заключается, во-первых, в том, что библиотеки загружаются только тогда, когда они используются. Если приложение состоит из нескольких библиотек, они загружаются только тогда, когда на них имеются ссылки. Этот автоматический процесс обеспечивает более быструю начальную загрузку приложения, поскольку загружается не весь код, а только та его часть, которую использует клиент. При этом Internet Explorer проверяет наличие обновлений на серверной стороне, и пользователь, не заботясь об обновлениях, всегда получает последнюю версию приложения. Во-вторых, Internet Explorer всегда присутствует на клиентской машине, так как входит в пакет Windows.
Также Клиента СМН возможно запускать самостоятельно без участия Internet Explorerкак обычное Windows-приложение, не меняя его логики и ничего не изменяя в приложении, что удобно для разработчика. При этом сохраняется единый интерфейс с системами доступа через web, который не вводит пользователя в заблуждение, если их несколько видов.
Возможности системы
Система позволяет удаленно работать с экземпляром проекта ArcMap. На сервере формируются и предоставляются пользователю проекты-шаблоны, которые пользователь может менять и сохранять свои измененные копии для следующих сеансов работы. Пользователь может управлять пространственными данными, добавлять на сервер новые, фильтровать и искать необходимую информацию как на основе географического положения, так и по атрибутивным данным, экспортировать необходимые данные к себе на машину, переключаться между проектами (рис. 5). Можно сказать, что посредством нашей системы клиенту предоставлены все базовые возможности ArcMap. Система расширяема, и в любой момент можно реализовать нужные инструменты, которые будут использовать возможности, предоставленные библиотеками ArcGIS Engine. На сегодняшнийдень ArcGIS Engine – одиниз лучших инструментов разработчика для создания картографических приложений.
Рис. 5. Запрос сведений об объектах лицензирования.
В Итоге новая система:
- позволяет удаленно работать с экземплярами проекта, предоставляя при этом все базовые функции ArcMap
- располагает удобным, полнофункциональным пользовательским интерфейсом
- до минимума разгружает клиентскую часть
- автоматически обновляется на клиентских рабочих местах
- существенно экономит денежные ресурсы.