IT-интеграция. Современный подход в банках презентация

Содержание

Слайд 2

Интеграция – объединение частей в целое

Слайд 3

Каких частей?

Информационных систем!

- Серверы
- Сети
- Платформы виртуализации

- Операционные системы
- Языки программирования

- Бизнес-логика
- Интерфейс

пользователя
- СУБД

Слайд 4

Наивный подход к Интеграции

Слайд 5

Нужна ли системная интеграция?
Одна система
Много систем и интеграционный слой

VS

Слайд 6

Одна система

+ Легко настроить мониторинг и отладку
+ Просто развертывать
+/– Весь код в едином

контексте
–/+ Сложно обновлять
– Ошибки имеют глобальный характер
– Тяжело масштабируется
– Ошибки тяжело отследить

Слайд 7

Много систем и слой интеграции

+ Ошибки в системах имеют локальный характер
+ Легче масштабируется
+

Легче разворачивается
– Может отвалиться весь интеграционный слой (?)
– Мониторинг — сложная задача
– Ошибки все еще тяжело отследить…

Слайд 8

Интеграция…?

Слайд 9

Основные подходы к интеграции
Файловый обмен

Слайд 10

Принцип работы файлового обмена

write("file.txt", "/root/user/docs/")

read("/root/user/docs/file.txt")

Слайд 11

Пример из жизни (Файловый обмен)

foo@dev:~/ESBData> ll
итого 120
-rw-r--r-- 1 foo users 223 Окт 13

10:20 ats_2017.10.13_10.20.58.399.+0300.xml
-rw-r--r-- 1 foo users 131 Окт 23 12:24 ats_2017.10.23_12.24.35.144.+0300.xml
-rw-r--r-- 1 foo users 917 Окт 23 12:46 ats_2017.10.23_12.46.00.418.+0300.xml
-rw-r--r-- 1 foo users 297 Окт 23 14:45 ats_2017.10.23_14.45.00.837.+0300.xml
-rw-r--r-- 1 foo users 317 Окт 23 14:45 ats_2017.10.23_14.45.36.923.+0300.xml
-rw-r--r-- 1 foo users 280 Окт 23 14:46 ats_2017.10.23_14.46.05.834.+0300.xml
-rw-r--r-- 1 foo users 234 Окт 23 14:46 ats_2017.10.23_14.46.55.233.+0300.xml
-rw-r--r-- 1 foo users 742 Окт 27 11:43 ats_2017.10.27_11.43.09.981.+0300.xml
-rw-r--r-- 1 foo users 1041 Окт 26 09:18 dep_2017.10.26_09.18.52.104.+0300.xml
-rw-r--r-- 1 foo users 1041 Окт 26 15:55 dep_2017.10.26_15.55.52.874.+0300.xml
-rw-r--r-- 1 foo users 1041 Окт 26 16:01 dep_2017.10.26_16.01.58.526.+0300.xml
-rw-r--r-- 1 foo users 1229 Окт 31 13:50 emp_2017.10.31_13.50.02.849.+0300.xml
-rw-r--r-- 1 foo users 1229 Окт 31 13:50 emp_2017.10.31_13.50.21.729.+0300.xml
-rw-r--r-- 1 foo users 10520 Ноя 1 16:36 lda_2017.11.01_16.36.47.582.+0300.xml
-rw-r--r-- 1 foo users 10520 Ноя 2 11:35 lda_2017.11.02_11.35.25.477.+0300.xml
-rw-r--r-- 1 foo users 10520 Ноя 2 11:44 lda_2017.11.02_11.44.12.191.+0300.xml

Слайд 12

Пример из жизни (Файловый обмен)

foo@dev:~/ESBData> cat ats_2017.10.31_09.32.08.542.+0300.xml


Kod="0">

Value="▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒"/>



Value=" 107078, ▒▒▒▒▒▒▒ ▒▒▒▒▒ 2/1,▒▒▒▒▒▒▒ ▒▒▒▒▒ 1 119991,▒▒▒▒▒▒▒ ▒▒▒▒▒ 24"/>


esbuser@esb8-dev:~/ESBData/DIRECTUM>
foo@dev:~/ESBData>

encoding="windows-1251"

Слайд 13

Файловый обмен

+ Работает везде
+ Лучше защищен от потерь
+ Слабая связанность

– Сложный

контракт взаимодействия
– Кодировки
– Сложно получать актуальные данные
– Нужен механизм переноса файлов между жесткими дисками

Слайд 14

Основные подходы к интеграции
✓ Файловый обмен
RPC (Remote Procedure Call)

Притворимся, что удаленный вызов на

самом деле локальный

Слайд 15

Принцип работы RPC

<..>
int a = add(5, 6)
<..>

11

Слайд 16

Принцип работы RPC на самом деле

Слайд 17

RPC

+ Простое использование
+ Можно притвориться, что все локально

– Сложная конфигурация
– Нетривиальная архитектура
– Сильное

связывание систем
– Проблемы с передачей большого объема данных

Слайд 18

Основные подходы к интеграции
✓ Файловый обмен
✓ RPC (Remote Procedure Call)
Общая база данных

Слайд 19

Принцип работы общей БД

Слайд 20

Общая БД

+ Транзакционность
+ Персистентность (Сохранение данных при ошибках / катастрофах, etc)
+ Легкое представление

иерархий

– Данные в одном формате в нескольких системах
– Изменять базу сложно (Надо менять всех клиентов)
– Общая точка отказа

Слайд 21

Основные подходы к интеграции
✓ Файловый обмен
✓ RPC (Remote Procedure Call)
✓ Общая база данных
Системы

обмена сообщениями (MOM – message oriented middleware)

Слайд 22

Принцип работы MOM

Application C?

Слайд 23

Интеграция

Слайд 24

Интеграция

Слайд 25

Интеграция

Слайд 26

MOM

+ Слабая связанность
+ Можно модифицировать отдельно от приложений
+ Сложная логика взаимодействия систем реализуется

на уровне MOM

– Дополнительный компонент архитектуры (сама MOM)
– Сложность синхронного взаимодействия
– Много поставщиков (IBMmq, RabbitBQ, Kafka, etc)

Слайд 27

Основные подходы к интеграции
✓ Файловый обмен
✓ RPC (Remote Procedure Call)
✓ Общая база данных

Системы обмена сообщениями (MOM – message oriented middleware)
Web сервисы

Слайд 28

Принцип работы Web сервисов

HTTP(S) – это жизнь

Слайд 29

Принцип работы Web сервисов

HTTP(s)

URL: http://my_company/dostuff

Внутренняя сеть

Слайд 30

Web сервисы

+ Синхронны по своей природе
+ Просты в реализации
+ Является общепринятым стандартом (Реализованы

балансировка, авторизация и т.д.)

– Сложности с асинхронных взаимодействием
+/– Довольно сложный контракт
– Сложно передавать много данных

Слайд 31

Основные подходы к интеграции
✓ Файловый обмен
✓ RPC (Remote Procedure Call)
✓ Общая база данных

Системы обмена сообщениями (MOM – message oriented middleware)
✓ Web сервисы

Слайд 32

Наивный подход к Интеграции 2

Файловый обмен

RPC

Web-service

Общая BD

Слайд 33

Наивный подход к Интеграции 2

Файловый обмен

RPC

Web-service

Общая BD

Слайд 34

Шина интеграции (ESB)

ESB

Слайд 35

Промежуточное ПО, централизирующие задачи обмена данными между системами

Шина интеграции (ESB)

Слайд 36

Как «присоединиться» к шине

ESB

Адаптер MOM (IBM, JMS, etc.)

Адаптер БД (oracle, postgress, etc.)

Адаптер Файлового

обмена

Адаптер Web сервисов (SOAP, REST)

Слайд 37

Пример

ESB

Адаптер Файлового обмена

Адаптер Web сервиса

Слайд 38

Иногда этого не хватает…

ESB

Слайд 39

Иногда этого не хватает…

ESB

Адаптер WS

Адаптер DB

Адаптер MOM

Адаптер MOM

Адаптер файлового
обмена

Я НИЧЕГО НЕ УМЕЮ!

Слайд 40

…Иногда появляется система - особая снежинка, которая ничего не умеет

И для нее надо

делать особый Адаптер

… При помощи API шины!

Слайд 41

API шины интеграции SonicESB

import com.sonicsw.xq.XQServiceEx;
import com.sonicsw.xq.XQInitContext;
class SpecialSnowflakeAdapter implements XQServiceEx {
@Override public void

init(XQInitContext initialContext)
@Override public void service(XQServiceContext ctx)
@Override public void start()
@Override public void stop()
@Override public void destroy()
}

SpecialSnowflakeAdapter

Слайд 42

Обычно возможности обратиться на шину достаточно

ESB

Адаптер WS

Адаптер DB

Адаптер MOM

Адаптер MOM

Адаптер файлового
обмена

Я НИЧЕГО НЕ

УМЕЮ!

SpecialSnowflakeAdapter

Слайд 43

… Но иногда не достаточно только попасть на шину

Умею работать с XML

Умею

работать с JSON

АДАПТЕР

АДАПТЕР

Слайд 44

… Но иногда не достаточно только попасть на шину

Умею работать с XML

Умею

работать с JSON

XML

АДАПТЕР

АДАПТЕР

Слайд 45

… Необходимо еще и преобразовать формат

Умею работать с XML

Умею работать с JSON

XML

АДАПТЕР

АДАПТЕР

XML ➞

JSON

JSON

Слайд 46

… или трансформировать сообщение внутри формата

Умею работать с XML

Умею работать с XML, но

с другим!

XML

АДАПТЕР

АДАПТЕР

TRANSFORM
XML ➞ XML

XML*

Слайд 47

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

Проблемы не заканчиваются

Слайд 48

Предоставление единого формата на ESB

УНИФИКАТОР ФОРМАТА

Слайд 49

Репликация данных

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

Слайд 50

Репликация данных

ESB

Слайд 51

А иногда и дождаться ответа от всех

ESB

0

0

0

0

1*

2*

3*

1*2*3*

1*2*3*

Слайд 52

Возможности шины интеграции

Присоединение систем к единой платформе обмена (Посредствам адаптеров)
Преобразования форматов (e.g. XML➞JSON)
Трансформации

форматов (e.g. XML➞XML)
Предоставление единого формата полей
Распространение (репликация) данных
etc…

Слайд 53

Особенности коммерческих ESB

ESB

Предоставляет MOM, Файловый обмен, БД, Web сервисы, единый API
Единая точка конфигурации
Единая

точка мониторинга
Единый подход к разработке, развертыванию и обновлениям

Слайд 54

Среда разработки

Любое взаимодействие между системами можно представить в виде последовательности действий на шине

Слайд 55

Пример взаимодействия

Взять сообщение из базы данных
Добавить заголовки basic authentication
Преобразовать xml ➞ xml (По

правилам преобразования)
Записать сообщение в лог
Вызвать систем по Web сервису
Записать сообщение в лог

Слайд 56

Пример взаимодействия

Сообщение берется из БД особым адаптером - Gateway
Добавить заголовки basic authentication
Преобразовать xml

➞ xml (По правилам преобразования)
Записать сообщение в лог
Вызвать систем по Web сервису
Записать сообщение в лог

Слайд 57

Сегодня мы узнали

Что интегрировать приложение между собой сложно, но возможно

Слайд 58

Основные подходы к интеграции
✓ Файловый обмен
✓ RPC (Remote Procedure Call)
✓ Общая база данных

Системы обмена сообщениями (MOM – message oriented middleware)
✓ Web сервисы

Слайд 59

Особенности коммерческих ESB

ESB

Предоставляет MOM, Файловый обмен, БД, Web сервисы, единый API
Единая точка конфигурации
Единая

точка мониторинга
Единый подход к разработке, развертыванию и обновлениям

Слайд 60

Тема ESB и интеграции на этом не исчерпана

Более подробно можно узнать, попав к

нам на стажировку ☺

Или почитав умные книжки

Слайд 61

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

Шаблоны интеграции корпоративных приложений. : Пер. с англ. М.:ООО ‘‘И.Д. Вильямс’’.
Мартин Фаулер.

Шаблоны корпоративных приложений. : Пер. с англ. М.:ООО ‘‘И.Д. Вильямс’’.
Имя файла: IT-интеграция.-Современный-подход-в-банках.pptx
Количество просмотров: 73
Количество скачиваний: 0