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

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

CC BY
1264
320
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕРВИС-ОРИЕНТИРОВАННАЯ АРХИТЕКТУРА / ГЕОИНФОРМАЦИОННАЯ СИСТЕМА / SERVICE-ORIENTED ARCHITECTURE / A GEOINFORMATION SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Павлов Сергей Владимирови, Усов Тимофей Михайлович, Шкундина Роза Александровна

Выполняется анализ сервис-ориентированной архитектуры программного обеспечения геоинформационных систем в контексте развития архитектур программного обеспечения корпоративных информационных систем. Предлагается метод преобразования программного обеспечения существующих клиент-серверных геоинформационных систем при переходе к сервис-ориентированной архитектуре.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Павлов Сергей Владимирови, Усов Тимофей Михайлович, Шкундина Роза Александровна

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

Service-oriented architecture of the software of corporate geoinformation systems

The analysis service-oriented of architecture of the software of geoinformation systems in a context of development of architecture of the software of corporate information systems is made. The method of conversion of the software of existing client server geoinformation systems at passage to service-orientedj Is offered to architecture.

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

'Вютньк, QjrAQhOj

Уфа : УГАТУ. 2010________________________________________________________________Т. 14, №5(40). С. 163-169

УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАТИКА

УДК 004.4:91

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

СЕРВИС-ОРИЕНТИРОВАННАЯ АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ КОРПОРАТИВНЫХ ГЕОИНФОРМАЦИОННЫХ СИСТЕМ

Выполняется анализ сервис-ориентированной архитектуры программного обеспечения геоинформационных систем в контексте развития архитектур программного обеспечения корпоративных информационных систем. Предлагается метод преобразования программного обеспечения существующих клиент-серверных геоинформационных систем при переходе к сервис-ориентированной архитектуре. Сервис-ориентированная архитектура; геоинформационная система

ВВЕДЕНИЕ

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

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

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

В статье приводится анализ особенностей сервис-ориентированной архитектуры про-

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

Контактная информация: (347) 273-77-33

задачи преобразования ПО ГИС при переходе к сервис-ориентированной архитектуре.

КЛИЕНТ-СЕРВЕРНАЯ И СЕРВИС-ОРИЕНТИРОВАННАЯ АРХИТЕКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ГИС

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

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

мер, текстовых терминалов. В силу концентрации всего ПО на сервере (мейнфрейме), такой тип архитектуры называют одноярусной клиент-серверной архитектурой (с «тонким» клиентом).

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

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

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

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

Модули геообработки (например, ЛгеТоо1-Ьох) реализуют тематическую обработку пространственных данных (множество соответствующих фрагментов исходного кода ПО обозначено как Р3}) в виде совокупности базовых операций (например: пересечение, объединение и другие множественно-ориентированные операции над пространственными объектами) и специфических операций (например: интерполяция точечных значений, построение топологических отношений объектов базы пространственных данных). В качестве примера такого модуля геообработки системы моделирования можно привести Р3 - модуль построения цифровой модели рельефа (растра высот рельефа) на основе векторных данных (изогипс, отметок высот, речной сети).

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

странения нефти, состоящий из пяти логических модулей: создание отчетов (Р4); моделирование распространения нефти по речной сети (Р22); моделирование распространения нефти по суше (Р23); построение цифровой модели рельефа (Р2I); графический интерфейс пользователя, в состав которого входят собственно графический интерфейс (и2) и модуль управления всем приложением (С2). Помимо программных компонент модуль моделирования содержит три набора данных: параметры алгоритмов геообработки {Лр}, временные данные {ОТ} и документы карт {Ек}. Основные недостатки использования двухъярусной клиент-серверной архитектуры в рассматриваемом примере заключаются в следующем.

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

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

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

Сервер данных (ярус данных)

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

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

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

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

и с другими ИС посредством межплатформен-ных протоколов (HTTP, SOAP и других).

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

ПРЕОБРАЗОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ГЕОИНФОРМАЦИОННЫХ СИСТЕМ ПРИ ПЕРЕХОДЕ ОТ ДВУХЪЯРУСНОЙ КЛИЕНТ-СЕРВЕРНОЙ К СЕРВИС-ОРИЕНТИРОВАННОЙ АРХИТЕКТУРЕ

Предлагаемый метод преобразования ПО ГИС при переходе от двухъярусной клиент-серверной к сервис-ориентированной архитектуре включает в себя решение двух основных задач:

• преобразование модулей настольного ПО ГИС для обеспечения возможности их выполнения на стороне серверов;

• реализация серверного ПО ГИС в виде набора сервисов.

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

Исходное ПО ГИС реализовано множеством фрагментов исходного кода R = {MD, K°, GB, U, {PBi}, {PZ}, UZ, CZ, {Ek}, {DTt}, {AP;}} (рис. 1). Решение двух названных задач позволяет выполнить преобразование g:R^Rs, где RS -реализация исходной системы R в рамках сервис-ориентированной архитектуры.

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

1. Из модуля моделирования удаляются фрагменты исходного кода, реализующие графический интерфейс пользователя ({UZ, CZ}), и определяются фрагменты исходного кода, осуществляющие связь логики приложения с графическим интерфейсом пользователя (IS).

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

3. Создается серверное приложение ГИС, в рамках которого преобразованный (п. 1) модуль моделирования размещается на сервере.

4. Проектируется (на основе форм исходного графического интерфейса) и создается (без использования программного кода исходного приложения) модуль графического интерфейса пользователя {US, CS}, размещаемый на компьютере клиента.

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

1. Анализ и проектирование сервисов: каждый проектируемый сервис должен решать отдельную прикладную задачу, например, моделирование распространения нефти по речной сети, по суше, формирование отчетов. Во время проектирования выполняется иерархическое упорядочивание сервисов и проектирование каталога сервисов CM. При иерархическом упорядочении часть сервисов может быть скрыта от пользователей и других информационных систем (сервисы геообработки и построения цифровой модели рельефа), а часть сервисов, непосредственно используемых пользователями и другими ИС (моделирование распространения по речной сети, по суше, построение отчетов), должны иметь неизменяемый со временем программный интерфейс. Информация о них (метаданные) должна быть размещена в каталоге сервисов для их поиска, например, по таким запросам: «Найти сервис, позволяющий выполнять моделирование распространения нефти по речной сети на основе векторных данных (изогипс, отметок высот, речной сети) масштаба 1:50 000».

2. Выполнение декомпозиции серверного ПО. Модуль моделирования разбивается на пять сервисов 5 (рис. 3) по количеству исходных логических модулей, при этом каждый исходный логический модуль Р2, дополняется системой безопасности К3, (ограничения доступа удаленных пользователей) и исходным кодом О, реализующим возможности программного взаимодействия с другими сервисами и информационными системами посредством межплатформен-ных интерфейсов. То есть 5 = {Р2,, К2,, О,}. Аналогично выполняется преобразование модулей геообработки Рв,.в сервисы 8Р;.

Таким образом завершается преобразование д-И ^ И5, при этом Л5 = {{Ц, С5}, {«}, «■}, {О,}, {М°, К0}}.

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

ЗАКЛЮЧЕНИЕ

В статье предложено решение актуальной задачи преобразования программных модулей существующего двухъярусного клиент-серверного программного обеспечения геоин-формационных систем с «толстым» клиентом в сервис-ориентированное ПО ГИС с «тонким» клиентом. Предложен метод поэтапного, управляемого решения этой задачи с учетом специфики ГИС, который позволяет выполнить преобразование компонентов исходного ПО ГИС с сохранением большей части исходного кода, реализующего логику приложения, понизить общую сложность системы, воспользоваться преимуществами сервис-ориентированной архитектуры, разместив программное обеспечение ГИС на серверных вычислительных комплексах и обеспечив к нему доступ посредством «тонких» клиентов. Предложенный метод применен [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.

ОБ АВТОРАХ

Павлов Сергей Владимирович,

проф., зав. каф. геоинф. систем. Дипл. математик по вычисл. ма-тем. (БГУ, 1977). Д-р техн. наук (УГАТУ, 1998). Иссл. в обл. обработки пространств. данных.

Усов Тимофей Михайлович,

асп. той же каф. Дипл. инженер по специальности «Инф. системы и технологии» (УГАТУ,

2007).

Шкундина Роза Александровна, доц. той же каф. Дипл. магистр по инф. сист. в экономике (УГАТУ, 2002). Канд. техн. наук по сист. анализу, управл. и об-раб. инф. (УГАТУ, 2006).

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