^ВВЕРХ

foto1 foto2 foto3 foto4 foto5


На сайте есть все что нужно знать о ГИС

Все о ГИС специального назначения

Сайт для тех кто хочет все знать о ГИС

Сайт для тех кто изучает ГИС

Сайт для тех кто участвует в развитии ГИС

Get Adobe Flash player

Главное меню

Статистика

615552
Сегодня
Вчера
На этой неделе
За неделю
За этот месяц
За месяц
Всего
544
677
6083
604071
7420
27159
615552

Мой IP: 18.204.55.168
2020-08-10 21:18

 С. В. Павлов, Т. М. Усов, Р. А. Шкундина

 

Сервис-ориентированная архитектура программного обеспечения корпоративных геоинформационных систем

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

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

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

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

Проанализируем различия клиент-серверной и сервис-ориентированной архитектур про­граммного обеспечения ГИС, рассмотрев их в контексте развития архитектур программного обеспечения корпоративных информационных систем [3, 5].

 

Рис. 1. Размещение компонентов ПО ГИС системы моделирования распространения нефти по суше и речной сети в рамках двухъярусной клиент-серверной архитектуры

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

С начала 90-х годов начинает преобладать двухъярусная клиент-серверная архитектура (с «толстым» клиентом), в рамках которой на серверах размещаются данные и СУБД, а ос­тальные компоненты программного обеспече­ния (логика приложений и графический интер­фейс пользователя) размещаются на настольных компьютерах («толстые» клиенты). Для многих типов ресурсоемких приложений, например, приложений обработки видео, графики, систем автоматизированного проектирования - САПР, а также геоинформационных систем этот тип архитектуры остается распространенным и се­годня. В некоторых случаях сервер данных мо­жет отсутствовать, но это не меняет архитекту­ры клиентского программного обеспечения.

Рассмотрим типовое распределение компо­нентов программного обеспечения геоинформационных систем между вычислительными узла­ми в рамках двухъярусной клиент-серверной архитектуры на примере системы моделирова­ния распространения нефти и нефтепродуктов по суше и речной сети в рамках геоинформационной системы Федерального агентства водных ресурсов (рис. 1). На сервере данных размеща­ется программное обеспечение системы управ­ления базами данных и базами пространствен­ных данных. Обозначим множество фрагментов исходного кода серверного ПО, реализующих модели данных, как MD, а множество фрагмен­тов исходного кода серверного ПО, реализую­щих систему безопасности, как KD (верхним ин­дексом D будем обозначать множества фраг­ментов исходного кода, размещаемых на серве­рах данных). На компьютерах клиентов разме­щается программное обеспечение геоинформационной системы, реализующее логику прило­жения и графический интерфейс пользователя, представленное, как правило, тремя компонен­тами (физическими модулями): модуль базового ПО ГИС, модуль геообработки и модуль специ­ального ПО ГИС.

Модуль базового ПО ГИС (например, Arc- Map) решает общие для различных геоинформационных систем задачи, а именно: отрисовка изображений карт (множество фрагментов ис­ходного кода ПО, реализующих эту задачу, обо­значено как GB), графический интерфейс поль­зователя (UB).

Модули геообработки (например, ArcTool- box) реализуют тематическую обработку про­странственных данных (множество соответст­вующих фрагментов исходного кода ПО обо­значено как {PBi}) в виде совокупности базовых операций (например: пересечение, объединение и другие множественно-ориентированные опе­рации над пространственными объектами) и специфических операций (например: интер­поляция точечных значений, построение топо­логических отношений объектов базы простран­ственных данных). В качестве примера такого модуля геообработки системы моделирования можно привести PZ3 - модуль построения циф­ровой модели рельефа (растра высот рельефа) на основе векторных данных (изогипс, отметок высот, речной сети).

Третий типовой компонент клиентского ПО ГИС - модули специального программного обес­печения, решающие предметно-ориентирован­ные задачи, свойственные конкретной геоинформационной системе. В рассматриваемом примере это модуль моделирования распро­странения нефти, состоящий из пяти логических модулей: создание отчетов (P^); моделирование распространения нефти по речной сети (P^); моделирование распространения нефти по суше (PZ3); построение цифровой модели рельефа (PZi); графический интерфейс пользователя, в состав которого входят собственно графиче­ский интерфейс (UZ) и модуль управления всем приложением (CZ). Помимо программных ком­понент модуль моделирования содержит три набора данных: параметры алгоритмов геооб­работки {APj}, временные данные {DTt} и доку­менты карт {Е^. Основные недостатки исполь­зования двухъярусной клиент-серверной архи­тектуры в рассматриваемом примере заключа­ются в следующем.

Для использования системы конечному пользователю (клиенту) необходим производи­тельный компьютер с установленным на нем специальным программным обеспечением. Для обновления этого программного обеспечения требуется выполнение процедуры обновления модулей ПО у всех клиентов, что приводит к большим затратам времени.

Несмотря на то, что задача моделирова­ния распространения нефти по суше и речной сети является востребованной для многих госу­дарственных ведомств и коммерческих органи­заций, ее решение в виде системы с «толстым» клиентом не позволяет предоставлять доступ к функциональным возможностям системы уда­ленным пользователям либо другим информа­ционным системам.

Названные недостатки частично преодоле­ваются в рамках многоярусных клиент-сервер­ных архитектур традиционных интернет-прило­жений, позволяющих удаленным пользователям получать доступ к функциональным возможно­стям ГИС без установки специального ПО на компьютеры клиентов. При этом программное обеспечение «толстых» клиентов разбивается на физические компоненты, которые распределя­ются между несколькими архитектурными уровнями - ярусами: ярусом данных (файлы данных и СУБД, размещаемые на серверах дан­ных), ярусом приложений (компоненты про­граммного обеспечения, реализующие логику приложения, размещаемые на серверах прило­жений) и ярусом графического пользователь­ского интерфейса (соответствующие компонен­ты ПО распределяются между серверами и кли­ентскими компьютерами либо размещаются це­ликом на клиентских компьютерах). Для систе­мы моделирования распространения нефти та­кое размещение компонентов «толстых» клиен­тов представлено на рис. 2.Сервер данных (ярус данных)

 

 

Рис. 2. Размещение компонентов ПО ГИС системы моделирования распространения нефти по суше и речной сети в рамках многоярусной клиент-серверной архитектуры

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

Эти ограничения преодолеваются в рамках сервис-ориентированной архитектуры. Единые межплатформенные механизмы взаимодействия отдельных частей программного обеспечения, отсутствующие в двухъярусной и многоярусной клиент-серверных архитектурах, и декомпози­ция ПО ГИС на набор сервисов - слабосвязан­ных исполняемых и готовых к использованию модулей - позволяют эффективно решать зада­чи интеграции ГИС с другими информацион­ными системами предприятия путем предостав­ления межплатформенного сетевого доступа к функциональным возможностям сервисов ГИС конечным пользователям и другим инфор­мационным системам. На рис. 3 представлено размещение компонентов ПО системы модели­рования распространения нефти по суше и речной сети, соответствующее требованиям сервис- ориентированной архитектуры: в отличие от клиент-серверных архитектур (рис. 1, 2) компо­ненты ПО ГИС сгруппированы в набор серви­сов, взаимодействующих между собой и с другими ИС посредством межплатформенных протоколов (HTTP, SOAP и других).

 

Рис. 3. Размещение компонентов ПО ГИС системы моделирования распространения нефти по суше и речной сети в рамках сервис-ориентированной архитектуры

 

В следующем разделе приводится метод преобразования ПО ГИС при переходе от кли­ент-серверной архитектуры с «толстым» клиен­том к сервис-ориентированной архитектуре с «тонким» клиентом, позволяющий сохранить большую часть исходного программного кода, реализующего основные расчетные функции (логику приложения). Преобразование программного обеспечения геоинформационных систем при переходе от двухъярусной клиент-серверной к сервис- ориентированной архитектуре. Предлагаемый метод преобразования ПО ГИС при переходе от двухъярусной клиент- серверной к сервис-ориентированной архитек­туре включает в себя решение двух основных задач: преобразование модулей настольного ПО ГИС для обеспечения возможности их вы­полнения на стороне серверов; реализация серверного ПО ГИС в виде набора сервисов. Исходное ПО ГИС реализовано множеством фрагментов исходного кода R = {MD, KD, GB, UB, {PBi}, {PZi}, UZ, CZ, {Ek}, {DTt}, {APj}} (рис. 1). Решение двух названных задач позволяет вы­полнить преобразование g:R^Rs, где Rs - реализация исходной системы R в рамках сер­вис-ориентированной архитектуры. Выделим следующие этапы решения первой задачи - преобразования модулей ПО ГИС, размещенных на стороне клиента в рамках двухъя­русной клиент-серверной архитектуры, для их размещения на серверах - на примере преобра­зования модуля моделирования распростране­ния нефти по суше и речной сети (рис. 1, 2). Из модуля моделирования удаляются фрагменты исходного кода, реализующие гра­фический интерфейс пользователя ({UZ, CZ}), и определяются фрагменты исходного кода, осуществляющие связь логики приложения с графическим интерфейсом пользователя (Is). Создаются картографические сервисы {Gsk, KGk}, выполняющие отрисовку карт. Отрисовка изображений карт является ресурсоемкой задачей, так как включает в себя запрос вектор­ных данных из базы пространственных данных, их проецирование в используемую для отобра­жения систему координат и собственно отри­совку изображений. Поэтому для снижения на­грузки на серверы создаются графические кэши карт {Hk} — заранее отрисованные и хранимые на серверах изображения карт. Создание карто­графических сервисов и ограничение доступа к ним удаленных пользователей (реализация системы безопасности {KGk}), как правило, вы­полняется средствами базового серверного ПО ГИС (например, ArcGIS Server), то есть не тре­бует разработки дополнительного ПО. Создается серверное приложение ГИС, в рамках которого преобразованный (п. 1) мо­дуль моделирования размещается на сервере. Проектируется (на основе форм исходно­го графического интерфейса) и создается (без использования программного кода исходного приложения) модуль графического интерфейса пользователя {Us, Cs}, размещаемый на компь­ютере клиента. После выполнения перечисленных этапов возможен ввод системы моделирования распро­странения нефти в промышленную эксплуата­цию, однако архитектура ПО системы в целом остается клиент-серверной - многоярусной (рис. 2). Поэтому необходимо решить вторую задачу рассматриваемого метода - реализация серверного ПО ГИС в виде набора сервисов. Рассмотрим этапы решения этой задачи. Анализ и проектирование сервисов: каж­дый проектируемый сервис должен решать от­дельную прикладную задачу, например, моде­лирование распространения нефти по речной сети, по суше, формирование отчетов. Во время проектирования выполняется иерархическое упорядочивание сервисов и проектирование ка­талога сервисов C'. При иерархическом упоря­дочении часть сервисов может быть скрыта от пользователей и других информационных сис­тем (сервисы геообработки и построения циф­ровой модели рельефа), а часть сервисов, непо­средственно используемых пользователями и другими ИС (моделирование распространения по речной сети, по суше, построение отчетов), должны иметь неизменяемый со временем про­граммный интерфейс. Информация о них (мета­данные) должна быть размещена в каталоге сер­висов для их поиска, например, по таким запро­сам: «Найти сервис, позволяющий выполнять моделирование распространения нефти по реч­ной сети на основе векторных данных (изогипс, отметок высот, речной сети) масштаба 1:50 000». Выполнение декомпозиции серверного ПО. Модуль моделирования разбивается на пять сервисов si (рис. 3) по количеству исходных ло­гических модулей, при этом каждый исходный логический модуль PZi дополняется системой безопасности KBi (ограничения доступа удален­ных пользователей) и исходным кодом Qsi, реа­лизующим возможности программного взаимо­действия с другими сервисами и информацион­ными системами посредством межплатформенных интерфейсов. То есть § = {PZi, KZi, QZi}. Аналогично выполняется преобразование моду­лей геообработки P^ сервисы SP;. Таким образом завершается преобразование g:R ^ Rs, при этом Rs = {{Us, Cs}, {§}, {5ч}, {Gi}, {MD, KD}}. Рассмотренный метод преобразования ПО ГИС учитывает специфику геоинформационных систем (например, ресурсоемкость задач обра­ботки пространственных данных, необходи­мость визуализации результатов работы систе­мы в виде карт) и позволяет управляемо, в не­сколько итераций, решить задачу преобразова­ния клиент-серверного программного обеспече­ния ГИС с «толстым» клиентом при переходе к сервис-ориентированной архитектуре с «тон­ким» клиентом с сохранением исходных функ­циональных возможностей и основной части кода исходного программного обеспечения. 

     В статье предложено решение актуальной задачи преобразования программных модулей существующего двухъярусного клиент- серверного программного обеспечения геоинформационных систем с «толстым» клиентом в сервис-ориентированное ПО ГИС с «тонким» клиентом. Предложен метод поэтапного, управ­ляемого решения этой задачи с учетом специ­фики ГИС, который позволяет выполнить пре­образование компонентов исходного ПО ГИС с сохранением большей части исходного кода, реализующего логику приложения, понизить общую сложность системы, воспользоваться преимуществами сервис-ориентированной ар­хитектуры, разместив программное обеспечение ГИС на серверных вычислительных комплексах и обеспечив к нему доступ посредством «тон­ких» клиентов. Предложенный метод применен [1, 2] для преобразования задач моделирования природных и техногенных процессов - аварий­ных разливов нефти по суше и речной сети, по­строения водосборных бассейнов, моделирова­ния зон затопления при паводковых ситуациях - в геоинформационной системе Федерального агентства водных ресурсов России.

 Список литературы

  1. Распределенная обработка пространственной информации по водным ресурсам в геоинформаци­онной системе Росводресурсов / Иванов И. Г. [и др.] // Управление водно-ресурсными системами в экстремальных условиях: Сб. докл. конф. М., 2008. С. 323.
  2. Павлов С. В., Шкундина Р. А., Усов Т. М. Преимущества сервис-ориентированной архитекту­ры геоинформационных систем на платформе ArcGIS (на примере ГИС Росводресурсов) [Элек­тронный ресурс] // Материалы XV конференции пользователей ESRI в России и странах СНГ. 1 элек­трон. опт. диск (CD-ROM). 2009/
  3. Мацяшек Л. А. Анализ и проектирование информационных систем. М.: ООО «Вильямс», 2008. 816 с.
  4. Шекхар Ш., Чаула С. Основы пространст­венных баз данных. М.: КУДИЦ-ОБРАЗ, 2004. 336 с.
  5. Erl T. Service-oriented architecture. Concepts, Technology, and Design. Prentice Hall, 2005.

 

Наши статьи и публикации о геоинформационных системах и технологиях

Яндекс.Метрика

kod2