Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методы и программные средства создания иерархических распределенных информационных систем на основе сервис-ориентированной архитектуры Курако Евгений Александрович

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Курако Евгений Александрович. Методы и программные средства создания иерархических распределенных информационных систем на основе сервис-ориентированной архитектуры: диссертация ... кандидата Технических наук: 05.13.11 / Курако Евгений Александрович;[Место защиты: ФГБУН Институт проблем управления им.В. А.Трапезникова Российской академии наук], 2018

Содержание к диссертации

Введение

Глава 1. Системы объектно-связанного документооборота и организация их взаимодействия с бизнес-процессами 19

1.1. Объекты управления и взаимодействие процессов документооборота и бизнес-процессов 21

1.2. Модели систем объектно-связанного документооборота 23

1.3. Организация построения систем объектно-связанного документооборота, взаимодействующих с бизнес-процессами 28

1.3.1. Двухуровневая структура описаний документов и объектов управления 28

1.3.2. Организация взаимодействия систем объектно-связанного документооборота и систем управления бизнес-процессами 30

1.3.3. XML-структуры описания документов и объектов 32

1.3.4. Объектно-связанный документооборот в распределенных системах 33

1.4. Реализация 34

1.5. Выводы 37

Глава 2. Сервис-браузеры для информационных систем 39

2.1. Построение универсального клиента для обмена данными с сервером 41

2.2. Динамически обновляемые модули в сервис-браузере 42

2.3. Аутентификация и авторизация в сервис-браузере 44

2.4. Общая схема построения сервис-браузера 47

2.5. Экспериментальные оценки 49

2.6. Реализация 57

2.7. Выводы 58

Глава 3. Метод разделенных запросов для управления доступом к данным в иерархических распределенных системах 59

3.1. Метод разделенных запросов 60

3.2. Фрагмент управления данными 62

3.3. Фрагмент управления доступом 62

3.4. Модификация сценариев 63

3.5. Языковые конструкции метода разделенных запросов 64

3.5.1. Фрагмент управления данными 64

3.5.2. Блок данных запроса 66

3.5.3. Фрагмент управления доступом 68

3.5.4. Ответы на запросы 70

3.6. Реализация 71

3.7. Выводы 72

Глава 4. Метод динамического обновления программных комплексов для систем с иерархической структурой 74

4.1. Постановка задачи 77

4.2. Вопросы построения алгоритма обновлений в иерархических системах 79

4.2.1. Классы обновлений 79

4.2.2. Схема сценария обновления 81

4.2.3. Транспортировка объектов обновлений методом ступенчатых запросов 84

4.2.4. Активизация новых версий и алгоритм организации отката с использованием мультиверсионности в системах иерархического типа 87

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

4.3. Реализация 92

4.4. Выводы 93

Глава 5. Практическое применение на примере информационной системы НЦБ Интерпола МВД России 94

5.1. Архитектура сервис-браузера в НЦБ Интерпола 96

5.2. Объектно-связанный документооборот в НЦБ Интерпола 99

5.3. Метод разделенных запросов в НЦБ Интерпола 100

5.4. Перенос информационной системы НЦБ Интерпола России в «облако» 104

5.5. Метод динамического обновления в НЦБ Интерпола 106

5.6. Выводы 106

Заключение 108

Список сокращений и условных обозначений 110

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

Приложение А. Документы, подтверждающие внедрение результатов диссертационного исследования 122

Приложение Б. Пример сценария обновления 124

Приложение В. Свидетельства о государственной регистрации программ для ЭВМ 127

Введение к работе

Актуальность темы исследования

На современном этапе развития общества происходит
ускорение информатизации различных аспектов его деятельности, в
частности, увеличение темпов создания и развития

телекоммуникационной инфраструктуры для обработки

территориально распределенных информационных ресурсов.

Массовое внедрение автоматизации на производстве, эволюция
компьютеров и мобильных устройств, внедрение огромного
количества датчиков, передающих данные в глобальную сеть, а
также интернет вещей вызовет взрывной рост объема информации.
По прогнозам объем информации за 2025 год составит
163 зеттабайт (ЗБ) — в десять раз больше общего объема данных за
2016 год (16 ЗБ). Экономика многих стран трансформируется в
цифровую. Как следствие, в России и в мире идут исследования в
области развития информационных технологий. Одним из
ключевых направлений является развитие информационной
инфраструктуры, в том числе создание информационных систем
(ИС), позволяющих получать, обрабатывать, анализировать и
хранить данные. Глобализация и совершенствование

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

распространенный класс распределенных ИС – это иерархические системы, которые используются в транснациональных компаниях, вертикально-интегрированных и государственных компаниях.

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

Разработка новой или кастомизация существующей системы с последующем внедрением – довольно трудоемкий как по времени, так и по ресурсам процесс. Поэтому наиболее остро стоит вопрос разработки архитектуры, методов, принципов и стандартов создания распределенных ИС, позволяющих обеспечить заданные

функциональные возможности, определенный уровень

безопасности, устойчивое функционирование в распределенной среде при минимизации затрат на программирование и внедрение.

Основой большинства иерархических распределенных информационных систем является управление потоками документов. На основании этих документов производится управление реальными объектами, характерными для той или иной организации. Часто возникает задача разработки методов синхронизации потоков документов и объектов в иерархических системах.

Для построения распределенных систем наиболее распространенной архитектурой в настоящее время является сервис-ориентированная архитектура SOA (Service-Oriented Architecture), основой которой являются слабосвязанные сервисы, обеспечивающие обработку информационных запросов от клиентских приложений. Тем не менее, современные средства разработки распределенных ИС не предлагают готовых методов решения ряда важных для разработчиков задач. К ним, в первую очередь относятся:

-организация защищенного гибкого взаимодействия с сервисами SOA с авторизацией и аутентификацией информационных запросов на основе электронной подписи;

организация связи потока документов и бизнес-процессов;

управление доступом к базам данных другого уровня при условии обеспечения гибкости запросной системы, безопасности и гарантированности доставки в современных распределенных информационных SOA-системах;

динамическое обновление программных комплексов для распределенных SOA-систем с иерархической структурой.

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

Степень разработанности тематики

Наиболее значимый вклад в развитие и исследование
распределенных систем и систем документооборота внесли Эндрю
Стюарт Таненбаум (Andrew Stuart Tanenbaum), Маартен ван Стеен
(Maarten van Steen), Жерар Тель (Gerard Tel), Джордж Кулурис
(George Coulouris), В.П. Иванников, В.Л. Арлазаров,

Н.Е. Емельянов и др.

Начало активного развития систем электронного

документооборота (СЭД) приходится на 90-е годы прошлого века.
Происходит трансформация СЭД к более сложным системам,
которые агрегируют в себе новые возможности и интегрируются с
корпоративными бизнес-процессами, что требует новых

исследований в данной теме.

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

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

информации и гибкости формирования запросов подразумевают необходимость разработки новых методов.

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

Цели и задачи диссертационного исследования

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

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

обеспечить защищенное гибкое взаимодействие клиентов с web-сервисами при минимизации потерь на организацию доступа;

предусмотреть гибкий сценарный подход в процессе управления удаленным доступом к данным в иерархических системах;

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

Для достижения данной цели в работе решены следующие задачи:

проведен анализ особенностей работы с документами и объектами в иерархических распределенных информационных системах, организации взаимодействия клиентов с web-сервисами, способов обеспечения удаленного доступа к данным и обновления распределенных систем;

разработаны модель объектно-связанного документооборота, метод защищенного взаимодействия клиента с web-сервисами на основе сервис-браузера, метод разделенных запросов и метод динамического обновления для систем с иерархической структурой;

-создано программное обеспечение распределенной информационной системы с использованием разработанных моделей и методов;

-проведена апробация разработанных методов и экспериментальное сравнение с предшествующими.

Научная новизна

Предложен подход к созданию иерархических распределенных информационных систем, который основан на разработке:

новой модели объектно-связанного документооборота;

ПО с использованием новой архитектуры сервис-браузера;

нового метода разделенных запросов для управления доступом к данным;

нового метода динамического обновления программных комплексов.

Объект и предмет исследования

Объектом исследования являются иерархические

распределенные информационные системы. Предметом исследования являются методы и программные средства создания таких систем.

Теоретическая и практическая значимость работы

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

Практическая значимость заключена в том, что разработано специальное ПО, основанное на результатах научных исследований данной диссертации. Имеются восемь свидетельств о регистрации программных средств. Разработанные системы внедрены в Национальном центральном бюро Интерпола МВД России (НЦБ Интерпола) и его территориальных подразделениях. Реализовано взаимодействие с международной сетью Интерпола.

Методология и методы исследования

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

Положения, выносимые на защиту:

- модель объектно-связанного документооборота;

архитектура сервис-браузера для построения информационных систем;

метод разделенных запросов для управления доступом к данным в распределенных системах;

метод динамического обновления программных комплексов;

результаты экспериментальных проверок предложенных моделей.

Степень достоверности и апробация результатов

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

Публикации

Основные результаты диссертационного исследования опубликованы в двадцати трех печатных трудах, четыре из них в журналах перечня ВАК Минобразования и науки РФ [1-4], а остальные в виде докладов в трудах и материалах международных научных конференций, монографий [5-23], в том числе индексируемые в SCOPUS. Имеется 8 свидетельств о государственной регистрации программ для ЭВМ [24-31].

Структура и объем работы

Модели систем объектно-связанного документооборота

В основе всех рассмотренных СЭД/ECM систем лежат модели, описывающие движение потока документов. Так в работе [54] формальная модель документооборота Дт представляется тройкой, включающей множество участников {У}, множество действий с документами {Дст} и множество форм документов {Ф}: Дт = {{У}, {Дст}, {Ф}}. (1)

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

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

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

В то же время, если рассматривать СЭД/ECM системы как основу интеграции информационной обработки в целом, то естественно предположить, что каждый документ связан с каким-либо объектом или с определенным набором объектов. При этом указанный объект с одной стороны развивается и видоизменяется, с другой - концентрирует вокруг себя множество связанных с ним документов, дающих описание этому развитию, определяющих изменения или обеспечивающих поддержку видоизменению. То есть при построении системы информационной обработки в целом фактически некорректно отделять документы от связанных с ними объектов.

Для устранения этого несоответствия и требуется ввести понятие объектно-связанного документооборота, базирующегося на методе централизованного учета объектов [56,57]. Рассмотрим свойства и методы построения объектно-связанного документооборота более подробно.

Объектно-связанный документооборот (ОСД) обладает следующими свойствами:

- каждому документу соответствует ноль, один или несколько объектов;

- каждому объекту соответствует один или несколько документов. То есть объект обязательно должен иметь хотя бы один связанный с ним документ (принцип первичности документооборота - даже если объект существует реально до появления первого документа, то в системе он регистрируется по первому относящемуся к нему документу);

- объекты и документы связаны отношением «многие ко многим»;

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

Множество документов и связанных с ними объектов может быть представлено в виде нотации: Доо = {{Д} (С), {О}}, (2) где

- {Д} - множество документов,

- {Об} - множество объектов,

- {C} - множество событий, происходящих с объектами и приведенными в документах.

Иными словами, объектно-связанный документооборот обеспечивает обработку множества документов, связанных с множеством объектов множеством событий, которые происходят с объектами и описание которых присутствует в документах.

Представленная модель может быть отображена в виде двудольного графа (Рисунок 1.2), множество вершин которого разбивается на два множества Д и Oб. Каждое ребро графа e(ij) соединяет только некоторую вершину у (і) из Д с некоторой вершиной w(j) из Об. Рисунок 1.2 - Отображение ОСД в виде двудольного графа Важно отметить, что каждый документ, который представлен в левой части двудольного графа может менять свое состояние (зарегистрирован, взят на исполнение, исполнен, утвержден и т.д.). То есть изменение самих документов происходит в соответствии с записью (1), которую представим в развернутом виде Дт = {{У}, {Дст}, {Сд},{Д}}. (3)

Здесь вместо массива форм документа {Ф} присутствует массив документов {Д} и массив состояний документа {Сд}.

Формальная модель изменения объектов От в этом случае определяется парой

От = {{Со}, {Об}}, (4)

где Об – объект, а Со – состояние объекта.

Выражения (2) - (4) описывают изменения документов, объектов и связь между ними. Учитывая, что объектно-связанный документооборот можно описать выражением:

Дос = {{Дт}, {До}, {От}}

В итоге получаем

Дос = {{{У}, {Дст}, {Сд}, {Д}}, {{Д}, {С}, {Об}}, {{Со}, {Об}}}. (5)

Взаимосвязь определяется идентификаторами документов, а также идентификаторами объектов, которые присутствуют более чем в одном множестве. Из (5) следует, что при построении структур БД для документооборота следует выделять следующие сущности (Рисунок 1.3):

- движение документов;

- документы;

- изменение объектов на основании документов;

- объекты.

Все изменения документов отображаются с использованием сущности «движение документов», изменения состояния документов – с использованием сущности «документы», а связь документов и объектов реализуется на базе сущности «изменение объектов на основании документов».

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

Экспериментальные оценки

Для сравнения предложенной организации клиентских мест с использованием сервис-браузеров с клиентскими местами на основе традиционных web-сервисов были рассмотрены три варианта построения клиент-серверных архитектур (Рисунок 2.2).

Для проведения эксперимента были разработаны два макета сервис-браузеров, использующие REST-сервисы и SOAP-сервисы. В качестве универсального HTML-браузера использовался MS Internet Explorer v.11. Язык программирования C#[38-41].

При проведении эксперимента использовались компьютеры с процессором Core-i5 (x64), оперативной памятью 4Гб и операционными системами Windows Server 2012 – для серверов и Windows 10 – для клиентских мест. Причем web-сервер и сервер приложений совмещались на одном физическом сервере. Использовалась локальная сеть 100 Мбит/с.

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

- порядковый номер;

- случайный текст, заданной длины;

- изображение.

Вызов web-сервиса, базирующегося на SOAP, происходил через функцию DataSet GetData(int countRow, int TextLength), где countRow - количество строк в возвращаемой таблице, TextLength - размер случайного текста в каждой строке. Функция возвращала таблицу, которая отображалась пользователю: TestReceivingTimeSoapClient s = new TestReceivingTimeSoapClient();

DataSet ds = s.GetData(countRow, TextLength);

if (ds == null) return;

foreach (DataRow s in ds.Tables[0].Rows)

{int index = tblView.Rows.Add();

tblView.Rows[index].Cells[0].Value = s[0].ToString();

tblView.Rows[index].Cells[1].Value = s[2].ToString();

tblView.Rows[index].Cells[2].Value =

Image.FromFile(@"\TestReceivingTime\" + s[1].ToString());

tblView.Rows[index].Height = 257; }

Метод REST-сервиса, базирующегося на JSON (JavaScript Object Notation), вызывался с помощью POST-запроса, с двумя параметрами: count – количество строк в возвращаемой таблице, textLength – размер случайного текста в каждой строке. Полученный результат преобразовывался в массив объектов и выдавался на экран пользователю: string json;

string url = "http://application3/SiteForTestArticle/Home/GetData";

using (var client = new WebClient())

{client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";

client.Headers[HttpRequestHeader.CacheControl] = "max-age=0";

client.Headers[HttpRequestHeader.Accept]= "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp, / ;q=0.8";

json = client.UploadString(url, "POST", "count=" + countRow.ToString() + "&textLength=" + TextLength.ToString()); }

List RowWithImage cl = Newtonsoft.Json.JsonConvert. DeserializeObject List RowWithImage (json); foreach (var s in cl) {

int index = tblView.Rows.Add();

tblView.Rows[index].Cells[0].Value = s.Number.ToString();

tblView.Rows[index].Cells[1].Value = s.RandomText;

tblView.Rows[index].Cells[2].Value= Image.FromFile(@"\TestReceivingTime\", s.ImageFileName);

tblView.Rows[index].Height = 257; }

HTML-страница подготавливалась с помощью технологии ASP.NET MVC 4 [76] и формировала готовую таблицу с изображениями в ответ на POST-запрос с двумя параметрами аналогичными REST-запросу.

Результаты измерений для первого варианта, когда объем оформления каждой страницы существенно больше объема передаваемых данных (Рисунок 2.3).

Данные рисунка показывают, что время, затрачиваемое на загрузку страницы, HTML-браузером, включающее ее передачу с сервера и отображение, больше времени REST-браузера и SOAP-браузера, использовавшегося для выполнения аналогичных действий. Причем результаты REST и SOAP браузеров в принципе идентичны и их расхождение находится в пределах погрешности измерений. В то же время универсальный HTML-браузер в среднем работает приблизительно раз в пять медленнее. Это естественно, так как HTML-браузер большую часть времени затрачивает на транспортировку данных оформления по сети, а сервис-браузеры переносят только смысловые данные, объем которых существенно меньше. Для оформления, использующего рисунки с фиксированным содержимым в виде файлов, включается механизм кеширования, и время будет существенно сокращаться, приближаясь ко времени REST и SOAP браузеров.

Нужно отметить, что все данные получены для случая, когда объем оформления существенно больше объема передаваемых данных. По мере того, как размер данных (динамическая составляющая) относительно объема оформления (статическая составляющая) будет увеличиваться, разница по времени между сервис-браузерами и HTML-браузером должна сокращаться. Это подтверждают результаты эксперимента (Рисунок 2.4).

Активизация новых версий и алгоритм организации отката с использованием мультиверсионности в системах иерархического типа

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

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

Для организации плавного перехода от версии к версии эффективным представляется механизм обеспечения мультиверсионной работы (A multi-version execution mechanism) [89,90], который не обновляет текущее программное обеспечение системы, а запускает новую версию параллельно с текущей. Механизм мультиверсионного обновления базируется на парадигме N-версионного программирования, но использует некоторую виртуальную прослойку, которая позволяет в зависимости от ситуации вызывать функции как из «старой» версии, так и из «новой». С учетом ресурсов облачной инфраструктуры или мультипроцессорной архитектуры, которые являются, как правило, избыточными, система может параллельно обслуживать несколько копий программ. Отметим, что такая организация работы позволяет обеспечивать выполнение более продвинутых функций по сравнению со «старой» версией и избежать аварийных завершений, вероятность появления которых велика для «новой».

Как развитие этого направления появился прототип системы MUC {Multi-version execution for Updating of Cloud) [91]. Авторы анализируют системы динамического обновления {Dynamic Software Updating (DSU) systems), а также механизм организации мультиверсионной работы и предлагают синтез этих двух методов. К сожалению, данный подход наследует недостатки, присущие базовым технологиям. Для его выполнения:

- необходимы исходные коды каждого компонента системы;

- нужна программная подсистема, которая на низком уровне меняет содержимое переменных и/или стека; при этом она должна понимать семантику системных вызовов;

- возможные изменения программ для данных подходов должны быть малы;

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

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

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

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

В то же время в процессе обновления должны выполняться условия непрерывности работы системы в целом и возможности локальных откатов (восстановления) в рамках отдельно взятого фрагмента, но допускается кратковременная остановка функционирования в пределах фрагмента.

Для этого предлагается метод, основанный также на парадигме N-версионного программирования [92]. Суть метода заключается в следующем:

1) Программисты выпускают все объекты обновления с определенным номером версии.

2) В случае полного обновления модули версии V вызывают сервисы версии V, а те в свою очередь хранимые процедуры БД также версии V. Структура БД также в этом случае будет соответствовать версии V. Допускается использование локального обновления только для модулей, когда модуль имеет версию V+1, но вызывает сервис с номером версии V или более ранней. Тогда объекты версии V для сервера и БД не изменяются. Аналогично при локальном изменении только сервисов, объекты для изменения БД отсутствуют, но соответственно модули на клиенте должны быть изменены, так как они вызывают более позднюю версию сервиса.

3) Все объекты версии V+1 размещаются на клиенте, сервере, и объекты V+1 выполняются для БД. Таким образом, на клиенте и сервере оказываются размещенными две копии программных средств (текущая версия и предыдущая). В БД также размещаются две версии хранимых процедур. При этом невозможно (или, по крайней мере, нецелесообразно) иметь две синхронно заполняемые структуры БД, отличающиеся, например, длиной одного поля в одной таблице. Если структуру все же нужно изменить, то при обновлении целесообразно вводить расширенный вариант, который можно использовать как в той, так и в другой версии программного обеспечения.

4) В результате в пределах одного фрагмента размещаются две версии исполняемого программного обеспечения: версия V и версия V+1. При этом продолжает работать текущая версия V (Рисунок 4.7).

5) Переход на новую версию происходит после перезапуска сервис-браузера и соответствующего модуля на одном из клиентских мест. Теперь для этого конкретного клиента работает вся цепочка по версии V+1. Все остальные клиенты продолжают использовать «старую» версию V, то есть функционирование осуществляется в мультиверсионном режиме.

6) По мере осуществления перезапусков на других клиентских местах все они переходят на работу по «новой» версии.

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

8) Если «новая» версия «не прижилась», то она подлежит коррекции с последующим повторным переходом к ней.

9) Если новая версия установлена и эксплуатируется успешно, то после получения объектов версии она получает статус «старой», а версия V+2 -статус «новой». Далее все повторяется так, как описано выше.

Метод разделенных запросов в НЦБ Интерпола

Получение сведений из БД ГС Интерпола и НЦБ является необходимой функцией. Здесь обычно информация получается путем обращения к удаленным web-сервисам, обслуживающим соответствующие базы данных. Основой построения подсистемы удаленного доступа к БД является метод разделенных запросов, позволяющий оперативно получать удаленным пользователям информацию, которая содержится как в БД НЦБ Интерпола, так и в ГС Интерпола.

Web-сервисы предоставляют информацию санкционированным пользователям. В том числе такие web-сервисы предоставляются и Генеральным секретариатом Интерпола [30].

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

В тоже время, запросы к БД ГС Интерпола тесно связаны с проблемой взаимодействия сетей правоохранительных органов РФ и международных сетей.

Прямое соединение сетей правоохранительных органов РФ и международных сетей принципиально невозможно. Это определяется указом Президента РФ от 17 марта 2008 г. N 351 «О мерах по обеспечению информационной безопасности Российской Федерации при использовании информационно-телекоммуникационных сетей международного информационного обмена», где устанавливается, «что: - подключение информационных систем, информационно телекоммуникационных сетей и средств вычислительной техники, применяемых для хранения, обработки или передачи информации, содержащей сведения, составляющие государственную тайну, либо информации, обладателями которой являются государственные органы и которая содержит сведения, составляющие служебную тайну, к информационно-телекоммуникационным сетям, позволяющим осуществлять передачу информации через государственную границу Российской Федерации, в том числе к международной компьютерной сети «Интернет» (далее - информационно-телекоммуникационные сети международного информационного обмена), не допускается; при необходимости подключения информационных систем, информационно-телекоммуникационных сетей и средств вычислительной техники, указанных в подпункте «а» настоящего пункта, к информационно-телекоммуникационным сетям международного информационного обмена такое подключение производится только с 102 использованием специально предназначенных для этого средств защиты информации, в том числе шифровальных (криптографических) средств, прошедших в установленном законодательством Российской Федерации порядке сертификацию в Федеральной службе безопасности Российской Федерации и (или) получивших подтверждение соответствия в Федеральной службе по техническому и экспортному контролю. Выполнение данного требования является обязательным для операторов информационных систем, владельцев информационно телекоммуникационных сетей и (или) средств вычислительной техники.» [97]. На первых двух этапах передача данных из демилитаризованной зоны в локальную сеть НЦБ Интерпола осуществлялось путем ручного переноса данных, например, с использованием флэш-устройства (Рисунок 5.3). Такое построение отвечало, как критерию транспортной защиты, так и критерию изоляции сети МВД РФ от внешних сетей.

Во время эксплуатации системы на третьем этапе скорость обработки информации уже существенно ограничивалась ручным переключением сетей. Для НЦБ Интерпола было специально разработано средство переноса данных между сетями в Институте проблем управления РАН [98]. Разработанное средство «Интерлинк» позиционируется как средство переноса данных (СПД) между сетями и имеет сертификат соответствия ФСТЭК России [99].

Благодаря заложенной гибкости ввиду использования архитектуры сервис-браузера, SOA-архитектуры стало возможным построение новой схемы обмена данными (Рисунок 5.4) практически без модификации основной части системы. После установки СПД появляются новые дополнительные возможности. Они определяются тем, что в Генеральном секретариате Интерпола доступ к базам данных предоставляется через web-сервисы. В силу этих обстоятельств их реализация службами разных стран не представляет каких-либо проблем. Для НЦБ Интерпола МВД России это означает, что через СПД, которое работает с данным видом сервисов, открывается возможность прямого доступа к базам данных Интерпола при условии соблюдения определенных формальностей.

Генерального секретариата, которое показано пунктирной линией. Запрос формируется на автоматизированном рабочем месте оператора, поступает на сервер приложений и далее через СПД направляется непосредственно к web-сервисам ГС Интерпола без какой-либо обработки в демилитаризованной зоне. Такая архитектура оказалась достаточно эффективной. Достаточно сказать, что обычно получение ответа в рамках выданного запроса по одиночным объектам учета укладывается в одну секунду. То есть оператор получает ответ фактически без задержки.

То есть, использование СПД обеспечивает как транспортировку сообщений, так и доступ к удаленным базам данных, то есть обеспечивает решения двух основных задач.

Дальнейшее развитие информационных технологий подразумевает не только получение информации из БД Интерпола, но и развитие средств санкционированного занесения новых данных в эту БД. Такое занесение должно проводиться в формализованном виде. Со стороны Генерального секретариата разработаны web-сервисы, обеспечивающие прием информации в рамках проекта I-Link. Со стороны НЦБ Интерпола МВД России подготовлены клиентские программы для Спецбраузера, взаимодействующие с этими web-сервисами через сервер приложений. При этом особенно важно, что разработанная схема работы с сообщениями и запросами (Рисунок 5.4) полностью обеспечивает и этот тип взаимодействия без какой-либо модификации.