Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Современные стандарты информационного взаимодействия систем

Покупка
Новинка
Основная коллекция
Артикул: 843050.01.99
Для студентов по направлению 09.04.02 «Информационные системы и технологии» (направленности «Разработка Web-ориентированных информационных систем»), дисциплине «Современные стандарты информационного взаимодействия систем». Может быть полезно IT-специалистам.
Рындин, А. А. Современные стандарты информационного взаимодействия систем : учебное пособие / А. А. Рындин, Э. Р. Саргсян. - Москва ; Вологда : Инфра-Инженерия, 2024. - 140 с. - ISBN 978-5-9729-1786-0. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2170889 (дата обращения: 13.10.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
 
 
 
 
 
А. А. Рындин, Э. Р. Саргсян 
 
 
 
 
 
СОВРЕМЕННЫЕ СТАНДАРТЫ  
ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ СИСТЕМ 
 
Учебное пособие 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Москва    Вологда 
«Инфра-Инженерия» 
2024 


УДК 004.9 
ББК 32.81 
Р95 
Рецензенты: 
кафедра информационных технологий управления ВГУ (заведующий кафедрой 
ИТУ ВГУ, д. т. н., профессор М. Г. Матвеев); 
профессор кафедры автоматизированных и вычислительных систем ВГТУ,  
д. т. н., профессор О. Я. Кравец 
Рындин, А. А.  
Р95  
Современные стандарты информационного взаимодействия систем : 
учебное пособие / А. А. Рындин, Э. Р. Саргсян. - Москва ; Вологда : ИнфраИнженерия, 2024. - 140 с. : ил., табл. 
ISBN 978-5-9729-1786-0 
Рассмотрены различные аспекты организации работы в рамках современных стандартов информационного взаимодействия систем. Помимо основного материала в каждой главе присутствует набор контрольных вопросов, которые необходимы для проверки усвоения учебного материала учащимися.  
Для студентов по направлению 09.04.02 «Информационные системы и технологии» (направленности «Разработка Web-ориентированных информационных систем»), 
дисциплине «Современные стандарты информационного взаимодействия систем». Может быть полезно IT-специалистам. 
УДК 004.9 
ББК 32.81 
ISBN 978-5-9729-1786-0 
© Рындин А. А., Саргсян Э. Р., 2024 
© Издательство «Инфра-Инженерия», 2024 
© Оформление. Издательство «Инфра-Инженерия», 2024 


ОГЛАВЛЕНИЕ 
 
ВВЕДЕНИЕ .................................................................................................................. 6 
1. ЗАДАЧИ И ВИДЫ ИНТЕГРАЦИИ ИНФОРМАЦИОННЫХ СИСТЕМ. 
ЧЕТЫРЕ СПОСОБА ИНТЕГРАЦИИ: ФАЙЛЫ, ОБЩАЯ БД, RPC, 
MESSAGES .................................................................................................................. 7 
1.1. Способы интеграции систем ............................................................................... 7 
1.2. Контрольные задания 
........................................................................................... 9 
1.2.1. Вопросы для самопроверки 
.............................................................................. 9 
2. ИНТЕГРАЦИЯ НА ОСНОВЕ ОБЩЕЙ БД. ПРЕДСТАВЛЕНИЯ, 
МАТЕРИАЛИЗОВАННЫЕ ПРЕДСТАВЛЕНИЯ, DB-ЛИНКИ ........................... 10 
2.1. Интеграция на основе общей базы данных ..................................................... 12 
2.2. Представления, материализованные представления ...................................... 13 
2.3. Database Links (DB-линки) ................................................................................ 15 
2.4. Контрольные задания 
......................................................................................... 16 
2.4.1. Вопросы для самопроверки 
............................................................................ 16 
3. ИНТЕГРАЦИЯ И РАСПАРАЛЛЕЛИВАНИЕ БАНКОВ ДАННЫХ 
И NOSQL-ХРАНИЛИЩ. ПРИНЦИП ГЛОБАЛЬНОГО ID И МЕТОДЫ 
ГЕНЕРАЦИИ. ШАРДИНГ ....................................................................................... 17 
3.1. Шардинг .............................................................................................................. 18 
3.2. Работа с NoSQL .................................................................................................. 20 
3.3. Принцип глобального ID и методы генерации ............................................... 21 
3.4. Интеграция и распараллеливание банков данных и NoSQL-хранилищ 
....... 23 
3.5. Контрольные задания 
......................................................................................... 27 
3.5.1. Вопросы для самопроверки 
............................................................................ 27 
4. СИСТЕМА ОБМЕНА СООБЩЕНИЯМИ APACHE KAFKA .......................... 28 
4.1. Брокеры и Кластеры 
........................................................................................... 31 
4.2. Преимущества системы обмена Apache Kafka 
................................................ 32 
4.3. Зачем нам нужна Apache Kafka" 
....................................................................... 34 
4.4. Настройка и запуск Apache Kafka .................................................................... 35 
4.5. Kafka API 
............................................................................................................. 40 
4.6. Контрольные задания 
......................................................................................... 45 
4.6.1. Вопросы для самопроверки 
............................................................................ 45 
5. ИНТЕГРАЦИЯ НА ОСНОВЕ РАСПРЕДЕЛЕННЫХ ОБЪЕКТНЫХ 
СИСТЕМ: COM / DCOM, CORBA, .NET. ДОСТОИНСТВА, НЕДОСТАТКИ 
.. 46 
5.1. CORBA ................................................................................................................ 46 
5.2. COM / DCOM 
...................................................................................................... 47 
5.3. .NET… ................................................................................................................. 49 
5.4. Контрольные задания 
......................................................................................... 50 
5.4.1. Вопросы для самопроверки 
............................................................................ 50 
6. ЯЗЫК XML - ВВЕДЕНИЕ, ОСНОВНЫЕ КОНСТРУКЦИИ, МЕТОДЫ 
ВАЛИДАЦИИ 
............................................................................................................ 51 
6.1. Язык XML ........................................................................................................... 51 
6.2. Основные конструкции 
...................................................................................... 52 
6.3. Цели разработки XML ....................................................................................... 53 
3 


6.4. Методы валидации и проверки на корректность ............................................ 56 
6.5. Контрольные задания 
......................................................................................... 60 
6.5.1. Вопросы для самопроверки 
............................................................................ 60 
7. ВВЕДЕНИЕ В XSLT. XSLT-ПРОЦЕССОРЫ. / ЯЗЫК 
ОПИСАНИЯ СХЕМ 
.................................................................................................. 61 
7.1. Язык XSLT .......................................................................................................... 61 
7.2. XРath… ................................................................................................................ 61 
7.3. XSLT-процессоры .............................................................................................. 62 
7.4. Контрольные задания 
......................................................................................... 65 
7.4.1. Вопросы для самопроверки 
............................................................................ 65 
8. JSON: КАК УСТРОЕН, ГДЕ ИСПОЛЬЗУЕТСЯ, ЗАЧЕМ НУЖЕН ................ 66 
8.1. Структура JSON 
.................................................................................................. 66 
8.2. Пример JSON ...................................................................................................... 68 
8.3. Работа с комплексными типами в JSON 
.......................................................... 68 
8.3.1. Вложенные объекты 
........................................................................................ 68 
8.3.2. Вложенные массивы ....................................................................................... 69 
8.4. JSON на практике в информационной системе .............................................. 70 
8.5. Контрольные задания 
......................................................................................... 71 
8.5.1. Вопросы для самопроверки 
............................................................................ 71 
9. RABITTMQ ............................................................................................................ 72 
9.1. RabbitMQ ............................................................................................................. 72 
9.2. Взаимодействие объектов в протоколе AMQP ............................................... 72 
9.3. Аналоги................................................................................................................ 75 
9.4. Пример использования RabbitMQ .................................................................... 76 
9.5. Установка RabbitMQ .......................................................................................... 81 
9.6. Архитектура и обмен сообщениями 
................................................................. 86 
9.7. RabbitMQ и программные продукты 
................................................................ 88 
9.8. Контрольные задания 
......................................................................................... 92 
9.8.1. Вопросы для самопроверки 
............................................................................ 92 
10. МИКРОСЕРВИСНАЯ АРХИТЕКТУРА 
........................................................... 93 
10.1. История 
.............................................................................................................. 94 
10.2. Преимущества 
................................................................................................... 95 
10.3. Сервисная сетка ................................................................................................ 97 
10.4. Сравнение платформ 
........................................................................................ 97 
10.5. Контрольные задания 
....................................................................................... 97 
10.5.1. Вопросы для самопроверки 
.......................................................................... 97 
11. СИСТЕМА REST 
................................................................................................. 98 
11.1. Что такое REST" 
............................................................................................... 98 
11.2. Ресурсы 
.............................................................................................................. 98 
11.3. Создание веб-службы RESTful ..................................................................... 101 
11.4. Контрольные задания 
..................................................................................... 105 
11.4.1. Вопросы для самопроверки 
........................................................................ 105 
12. ПРОТОКОЛ ОБМЕНА СООБЩЕНИЯМИ SOAP 
......................................... 106 
12.1. Характеристики .............................................................................................. 106 
12.2. Какая основная причина использовать SOAP" ........................................... 107 
4 


12.3. Основные отличия REST от SOAP 
............................................................... 107 
12.4. Контрольные задания 
..................................................................................... 108 
12.4.1. Вопросы для самопроверки 
........................................................................ 108 
13. ВВЕДЕНИЕ В GraphQL 
.................................................................................... 109 
13.1. Что может сделать GraphQL" 
........................................................................ 111 
13.2. Контрольные задания 
..................................................................................... 112 
13.2.1. Вопросы для самопроверки 
........................................................................ 112 
14. ОНТОЛОГИИ И МОДЕЛИ ДАННЫХ. ПРИНЦИПЫ 
ОНТОЛОГИЧЕСКОГО ОПИСАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ. ЯЗЫКИ 
ОПИСАНИЯ ОНТОЛОГИЙ .................................................................................. 113 
14.1. Онтологический инжиниринг ....................................................................... 113 
14.2. Средства семантического описания данных ............................................... 114 
14.3. Язык RDF ........................................................................................................ 115 
14.4. Язык OWL ....................................................................................................... 118 
14.5. Контрольные задания 
..................................................................................... 119 
14.5.1. Вопросы для самопроверки 
........................................................................ 119 
15. Middleware ДЛЯ ОБЩЕЙ ШИНЫ (IBM Message Broker 
И АНАЛОГИ) - ПРИНЦИПЫ ПОСТРОЕНИЯ, РЕШАЕМЫЕ ЗАДАЧИ ........ 120 
15.1. Архитектура ESB 
............................................................................................ 120 
15.2. Функции ESB .................................................................................................. 121 
15.3. Промежуточное программное обеспечение ................................................ 123 
15.4. IBM Message Broker ....................................................................................... 125 
15.5. Контрольные задания 
..................................................................................... 126 
15.5.1. Вопросы для самопроверки 
........................................................................ 126 
16. HTTP И БЕЗОПАСНОСТЬ. ПРИНЦИПЫ РАБОТЫ ЧЕРЕЗ HTTP, 
ЗАЩИТА И УГРОЗЫ, HTTPS, КРОСС-ДОМЕННЫЕ ЗАПРОСЫ 
................... 127 
16.1. Принципы работы через HTTP ..................................................................... 127 
16.2. Идентификация клиентов на сервере. Безопасность информации, 
хранящейся на HTTP сервере 
................................................................................. 129 
16.3. Безопасность и логи HTTP сервера .............................................................. 129 
16.4. Межсайтовый скриптинг ............................................................................... 131 
16.5. Кросс-доменные запросы .............................................................................. 132 
16.6. Контрольные задания 
..................................................................................... 133 
16.6.1. Вопросы для самопроверки 
........................................................................ 133 
ЛАБОРАТОРНЫЕ РАБОТЫ ................................................................................. 134 
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 
.................................................................... 136 
 
 
 
5 


ВВЕДЕНИЕ 
 
Множество сфер современной жизни, будь то экономика, технологии, производство или что-либо другое, неразрывно связаны с использованием информационных технологий, которые на данный момент являются уже обязательной частью нашей жизни. С помощью информационных технологий реализовываются 
системы производства товара, его транспортировки, связи с заказчиками, 
оплаты, интеграции и многое другое.  
В связи с этим на данный момент становится все больше специалистов в 
отраслях, связанных с информационными технологиями, при том совсем различного профиля. Это все способствует развитию информационных технологий на 
совершенно новом уровне и подразумевает более глубокую интеграцию этих 
технологий в уже привычные системы. Зачастую подобные процессы требуют 
улучшений в архитектуре сети. Так как от качества подобных сетей напрямую 
зависит возможность работы приложений. Для этих целей используются различные способы оптимизации работы телекоммуникационных сетей и уменьшения 
затрат на их обслуживание. 
Совокупность всех этих условий позволяет задавать современные стандарты информационного взаимодействия между системами.  
Соответственно это требует выдвигать довольно высокие требования к IT 
специалистам, работающим в этих сферах, и к самим разрабатываемым технологиям. IT специалист должен обладать набором теоретических и эмпирических 
знаний, которые позволяют оценивать и классифицировать всю полученную информацию. Одной из особенностей данной отрасли является необходимость в 
постоянном обучении специалистов, так как применяемые технологии меняются 
из года в год и необходимо поддерживать высокий уровень знаний.  
Курс «Современные стандарты информационного взаимодействия систем» 
ставит задачу формирования у учащихся необходимого минимума знаний, позволяющего воспринимать информацию о современных информационных технологиях, уметь воспользоваться ею для решения поставленных задач и владеть 
необходимыми навыками и технологиями, применение которых будет упрощать 
решение поставленных задач. 
Учебное пособие состоит из 16 глав, каждая из которых затрагивает различные аспекты организации работы в рамках современных стандартов информационного взаимодействия систем. Помимо основного материала в каждой главе 
также присутствует набор контрольных вопросов, которые необходимы для проверки усвоения учебного материала учащимися. 
Рисунки использованы из открытых источников интернета. 
Пособие предназначено для студентов магистратуры направления 09.04.02 
«Информационные системы и технологии», обучающихся по направлению «Разработка Web-ориентированных информационных систем». 
 
 
 
6 


1. ЗАДАЧИ И ВИДЫ ИНТЕГРАЦИИ ИНФОРМАЦИОННЫХ СИСТЕМ. 
ЧЕТЫРЕ СПОСОБА ИНТЕГРАЦИИ: ФАЙЛЫ, ОБЩАЯ БД, RPC, 
MESSAGES 
 
Интеграция информационных систем (ИИС) - это процесс получения общего 
информационного пространства и организации поддержки процессов предприятий, 
необходимый для установки связей между информационными системами. 
Основная задача ИИС разделяется на две части:  
1.Интегрирование приложений. 
2.Интегрирование данных. 
Интеграция данных - процесс, применяемый к предприятиям и организациям, во время которого выполняются следующие задачи:  
í агрегирование информации из различных информационных систем (ИС) 
предприятия; 
í установка соответствия информации в разных системах (соответствие 
таблиц, записей и полей); 
í синхронизация идентичных объектов в разных ИС. 
При решении задачи интеграции необходимо провести стандартизацию 
нормативно-справочной информации (НСИ). НСИ - корпоративная информация, регламентирующая нормативно-справочные документы. 
Для создания оптимальных и эффективных решений для интеграции необходимо иметь НСИ, которая удовлетворяет следующим свойствам: 
í стандартизирована; 
í структурирована; 
í однозначна. 
Интеграция приложений - процесс, который предназначен для установки и 
настройки взаимодействия ИС. Множество крупных компаний для решения данной задачи используют сервисную шину предприятия, так называемую Enterprise 
Service Bus (ESB). Это позволяет максимально сохранить текущее состояние 
каждый отдельно взятой ИС в предприятии и организовать процесс интеграции 
между данными ИС с помощью сервисной шины.  
Интеграция приложений с помощью ESB - один из наиболее используемых 
инструментов, целью которого является создание общего информационного пространства внутри организации или предприятия, а также реализации возможности обмена информацией между всеми информационными системами предприятия без внесения каких-либо серьезных изменений в их структуру.  
 
1.1. Способы интеграции систем 
 
Для решения задачи интеграции приложений используются следующие 
типы методов: 
í обмен файлами; 
í общая база данных; 
í удаленный вызов; 
í асинхронная передача сообщений. 
7 


Обмен файлами 
Обмен файлами один из самый используемых способов решения задачи интеграции. Имеет простую реализацию и поддерживает стандартные форматы обмена. Одним из примеров может быть формат CSV, который используется во 
множестве систем корпоративного назначения.  
Однако у такого подходя есть недостатки. В случае, если необходимо передавать большие и сложные структуры, то простые форматы обмена уже не пригодны. Возникающие в таких случаях специализированные форматы файлов 
должны «понимать» взаимодействующие системы, что ведет к жесткой зависимости систем друг от друга. Этот недостаток обычно преодолевают всевозможными утилитами конвертации данных.  
Общая база данных 
Данный подход концептуально очень прост - несколько информационных 
систем или приложений используют одну базу данных. Главный его недостаток - связь между интегрированными приложениями настолько тесная, что иногда невозможно заметить границу между ними (обычно так интегрируются продукты одного производителя). Примером такого подхода могут служить большинство ERP-систем, где различные модули системы используют одну базу [1].  
Удаленный вызов 
Стандарты на удаленный вызов процедур возникли два десятка лет назад, 
позволяя программному коду, который выполняется на одном компьютере, вызывать код на другом. Стандарты появлялись, развивались и угасали: RPC, 
CORBA, DCOM, RMI… последним в этом ряду стал протокол SOAP, основа современных Web-сервисов. Собственно, в подходе к интеграции с использованием удаленных вызовов за эти годы ничего принципиально не изменилось - 
если приложению А что-то нужно от приложения Б, то А одним из перечисленных способов вызывает функцию приложения Б. 
Основной недостаток удаленного вызова - требование работоспособности 
всех задействованных приложений в момент взаимодействия.  
Асинхронная передача сообщений 
Данный метод является одним из немногих, который целенаправленно создавался для процесса интеграции ИС. Идея концептуально проста и напоминает 
работу электронной почты. Когда приложению А необходимо вызвать какое-то 
действие в приложении Б, оно формирует соответствующее сообщение с данными и инструкциями и отправляет его посредством системы доставки сообщений. Слово «асинхронный» означает, что приложение А не должно ждать, пока 
сообщение дойдет до Б, будет обработано, сформирован ответ и т. п.  
Недостаток данного подхода - высокая цена. Система гарантированной доставки на основе очередей сообщений обычно сама по себе недешева; единственным известным мне исключением является Microsoft Message Queue (MSMQ), 
компонент серверных операционных систем семейства Windows.  
 
 
8 


1.2. Контрольные задания 
 
1.2.1. Вопросы для самопроверки 
 
1.Задачи интеграции информационных систем. 
2.Интеграция данных. 
3.Интеграция приложений. 
4.Нормативно-справочная информация. 
5.Способы интеграции систем: обмен файлами. 
6.Способы интеграции систем: общая база данных. 
7.Способы интеграции систем: удаленный вызов. 
8.Способы интеграции систем: асинхронный обмен сообщениями. 
 
 
9 


2. ИНТЕГРАЦИЯ НА ОСНОВЕ ОБЩЕЙ БД. ПРЕДСТАВЛЕНИЯ, 
МАТЕРИАЛИЗОВАННЫЕ ПРЕДСТАВЛЕНИЯ, DB-ЛИНКИ 
 
Интеграция информационных систем (ИИС) - это процесс получения общего информационного пространства и организации поддержки процессов предприятий, необходимый для установки связей между информационными системами. 
Многообразие применяемых технологий и систем, разнообразие форматов 
данных, циркулирующих в информационных потоках, обилие аналитических и 
отчетных форм сделали актуальной задачу интеграции технологических и информационных объектов и сущностей, а также физические и виртуальные пространства и их взаимодействия, преобразуются в единую информационно-управленческую среду. 
В данной главе будет рассмотрен метод интеграции на основе общей базы 
данных. Будет проведен анализ преимуществ и недостатков данного метода, а 
также определены понятия представления, материализованного представления, 
DB-линков. 
Факторы, влияющие на интеграцию информационных систем 
Интеграция информационных систем - комплексная многоуровневая задача. Чтобы получить более четкое понимание поставленной задачи, необходимо 
провести анализ факторов, влияющих на интеграцию. Интеграция ИС в контексте данной работы рассматривается в рамках компании или организации [2]. 
1.Ускорение развития организации. Этот процесс требует чаще менять 
структуры данных, бизнес-процессы, дизайн, пользовательский интерфейс. Эти 
компоненты довольно динамичны, и именно в таких областях, где динамизм - 
часть сути и природы системы, задача интеграции существенно усложняется. 
2.Распределенность. Организации становятся все более крупными, а решаемые задачи все более комплексными, появляется логическая, организационная 
и географическая рассредоточенность. 
3.Неоднородность. В крупном проекте почти никогда нет возможности 
придерживаться платформ и инструментов от одного производителя, поэтому в 
процессе интеграции необходимо учитывать необходимость поддержки нескольких платформ. 
4.Наследственность. Невозможность полностью отказаться от наследия систем, морально устаревших технологий и аппаратного обеспечения, которые могут давать приемлемые показатели по надежности и производительности, но существенно усложняют интеграцию. 
5.Хаотичность. Не всегда есть возможность полностью формализовать, 
специфицировать и структурировать данные, и часть модели остается слабо связанной, не поддающейся или слабо поддающейся машинной обработке, анализу, 
индексации. 
6.Обусловленность. Информационные системы ограничены не только техническими рамками, но и человеческим фактором, особенностями законодательства, множеством других факторов, не зависящих от разработчиков. 
10