Современные стандарты информационного взаимодействия систем
Покупка
Новинка
Основная коллекция
Тематика:
Прикладная информатика
Издательство:
Инфра-Инженерия
Год издания: 2024
Кол-во страниц: 140
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Магистратура
ISBN: 978-5-9729-1786-0
Артикул: 843050.01.99
Для студентов по направлению 09.04.02 «Информационные системы и технологии» (направленности «Разработка Web-ориентированных информационных систем»), дисциплине «Современные стандарты информационного взаимодействия систем». Может быть полезно IT-специалистам.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
А. А. Рындин, Э. Р. Саргсян СОВРЕМЕННЫЕ СТАНДАРТЫ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ СИСТЕМ Учебное пособие Москва Вологда «Инфра-Инженерия» 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