Вы находитесь на странице: 1из 33

Skillbox +

Проектирование
интеграции

Евгений Скориков
Главный архитектор, AWG

СКАЧАНО С WWW.DMC.RIP - ПРИСОЕДИНЯЙСЯ!


Skillbox +

Мастер-данные
и мастер-система
Skillbox +

Мастер-система
Имя = Иван Пол = мужской

Сайт Система розницы

Система обработки Система


жалоб/предложений email-рассылки

Имя = Ольга Пол = женский

Мастер-система — источник правды


CRM Мастер-данные по клиенту

Асинхронное Синхронное
Изменение клиента
распространение использование

Система
Система
обработки Система
Сайт email-
жалоб/ розницы
рассылки
предложений
Skillbox +

Мастер-система
CRM Мастер-данные по клиенту

Асинхронное Синхронное
Изменение клиента
распространение использование

Система
Система
обработки Система
Сайт email-
жалоб/ розницы
рассылки
предложений

Использование: Изменение данных:


● Асинхронное распространение ● Application Program
инкремента Interface (must have)

Или Или

● Синхронного использования ● User Interface


(нежелательно)
Skillbox +

Мастер-система
CRM Мастер-данные по клиенту

Асинхронное Синхронное
Изменение клиента
распространение использование

Система
Система
обработки Система
Сайт email-
жалоб/ розницы
рассылки
предложений

Нередко меняемые данные, нужные в нескольких системах:

1. Справочники

2. События клиента (клики, заказы)

3. Остатки

4. Документы

Данные для одной системы не мастер-данные.


Skillbox +

Проектируем
интеграцию
Skillbox +

Передача
данных/событий
Например, передача данных по товару из 1С на сайт Битрикс.

Передача данных
ПО А ПО Б
Skillbox +

Логическая модель
данных
инфомодель товара:

● код товара

● название

● бренд, сезон, пол,


возраст, тип, подтип

● количество карманов,
ткань, состав,
тип ворота...

● цена, скидка

● фото

● описание

● НДС, страна импортёр, строка ГДТ


Skillbox +

Процесс ввода данных

1. Определение, в какой IT-системе будет происходить обработка

2. Наиболее удобный интерфейс

3. Одна роль в одном ПО

4. Данные вводятся в месте, где они используются (чтобы очищать


от ошибок)
Skillbox +

Процесс ввода данных


Процесс
Продуктовик
Определение
розничных цен
5. Цена, скидка

Фотограф

Фотосъёмка

6. Фото
Контент-
Закупщик Импортёр Логист Продавец
менеджер
Заключение
Импорт Проверка
договоров Поступление
через соответствия Торговля
на закупку товара на склад
границу фото и атрибутов
с поставщиком
8. НДС, Исключения: если
1. Код товара находится ошибка,
страна
3. Бренд, сезон, пол, то она быстро
импортёр,
возраст, тип, подтип исправляется
ГТД

Бренд-
Копирайтер
менеджер
Уточнение
Создание
спецификаций
Описание
товара
Название
у поставщика

4. Количество 2. Название
карманов 7. Описание
Skillbox +

Вариант 1
Процесс
Продуктовик
Определение
розничных цен
5. Цена, скидка

Фотограф

Фотосъёмка

6. Фото
Контент-
Закупщик Импортёр Логист Продавец
менеджер
Заключение
Импорт Проверка
договоров Поступление
через соответствия Торговля
на закупку товара на склад
границу фото и атрибутов
с поставщиком
8. НДС, Исключения: если
1. Код товара находится ошибка,
страна
3. Бренд, сезон, пол, то она быстро
импортёр,
возраст, тип, подтип исправляется
ГТД

Бренд-
Копирайтер
менеджер
Уточнение
Создание
спецификаций
Описание
товара
Название
у поставщика

1С 4. Количество 2. Название Битрикс


карманов 7. Описание
Skillbox +

Вариант 1. Исключения
Изменение
атрибутов
Продуктовик Бренд-менеджер Копирайтер

Импортёр Фотограф Логист Закупщик Контент-менеджер Продавец

Изменение
атрибутов
1. Код товара 6. Фото
Проверка
3. Бренд, сезон, пол, Торговля
Товары соответствия
возраст, тип, подтип 5. Цена, скидка и атрибуты,
цены, остатки
8. НДС,
страна Изменение Исключения: если
4. Количество 2. Название
импортёр, атрибутов находится ошибка,
карманов 7. Описание
ГТД то она быстро
исправляется
1С Битрикс

Варианты обработки исключений:


1. Контент-менеджер правит в 1С работает в 2-х ПО
2. Контент-менеджер передаёт другим, те правят рост T2M
3. Контент-менеджер правит в Битрикс дополнительная
интеграция (возможна?)
4. Исправления нужно смотреть быстро быстрая основная
интеграция (возможна?)
Skillbox +

Вариант 2
Процесс
Продуктовик
Определение
розничных цен
5. Цена, скидка

Фотограф

Фотосъёмка

6. Фото
Контент-
Закупщик Импортёр Логист Продавец
менеджер
Заключение
Импорт Проверка
договоров Поступление
через соответствия Торговля
на закупку товара на склад
границу фото и атрибутов
с поставщиком
8. НДС, Исключения: если
1. Код товара находится ошибка,
страна
3. Бренд, сезон, пол, то она быстро
импортёр,
возраст, тип, подтип исправляется
ГТД

Бренд-
Копирайтер
менеджер
Уточнение
Создание
спецификаций
Описание
товара
Название
у поставщика

1С 4. Количество 2. Название Битрикс


карманов 7. Описание
Skillbox +

Вариант 2

Доработка 1С — генерация псевдо страницы предпросмотра html


карточки товара.

Разнесение по ПО соответственно процессу.


Skillbox +

Выделение общей
функциональности
Синхронная или быстрая асинхронная интеграция.

Интернет-
Корзина Отгрузка Получение
магазин
Битрикс

CRM Модуль, Расчёт промо


лояльность и бонусов
и промо

Offline-
магазин Корзина Получение


Skillbox +

Проектируем
соответствия
структур данных
Skillbox +

Таксономия
Что отображать на сайте ?

Модель

Цветомодель

Цветоразмер

Модель: Цветомодель:

1. Цвета базовых товаров 1. Больше карточек — лучше


не забивают плитку для SEO

2. Более сложно показывать 2. Проще выбирать клиенту


цену и скидку
3. Много товаров — хуже
навигация
Skillbox +

Соответствие Битрикс
Логическая модель Битрикс

Модель

Цветомодель Товар

Торговое
Цветоразмер
предложение

Как делать Color Picker?

1. Справочный атрибут
у товара «Модель»

2. Доработка: отображение
других товаров той
же модели с ссылкой
Skillbox +

Соответствие 1С
1С Логическая модель Битрикс

Номенклатура Модель

Цветомодель Товар

Характеристика, Торговое
Цветоразмер
номенклатура предложение

Дублирование Атрибуты
ввода данных: цветомодели:
1. Фото 1. Фото
2. Описание 2. Описание
3. Название 3. Название

«Костыли»:

1. Данные вводим в Excel, размножаем макросом, грузим в 1С

2. Отчёты по неконсистентности
Skillbox +

Соответствие 1С
1С Логическая модель Битрикс

Модель Модель

Номенклатура Цветомодель Товар

Характеристика, Торговое
Цветоразмер
номенклатура предложение

Доработки:

1. Новый справочный атрибут «Модель»

2. При другом учёте — перепровести все документы, которые


ссылались на номенклатуру
Skillbox +

Соответствие атрибутов
Разбирали в более раннем модуле

CRM CRM
Название Тип Уник. Обяз. Решение Название Тип Уник. Обяз. Решение
значени значен
я
ия
Системный ID
Системный ID
id_CRM Да Да Добавляем на сайт id_CRM Да Да Добавляем в CRM
Идентификаторы Идентификаторы
Номер телефона Строка Да Нет Номер Строка Да Нет Делаем
телефона обязательным
Адрес email Строка Нет Нет
Адрес email Строка Нет Нет
Факт Да/Нет Нет Нет
подтверждения Факт Да/Нет Нет Нет Удаляем на сайте,
email подтверждения не используем
email

Тип/id соцсети Строка Нет Нет Создаём в CRM


Сегментационные данные новый тип
Имя Строка Нет Нет идентификаторов

Сегментационные данные
Город Справоч. Нет Нет Делаем два поля
на сайте Имя Строка Нет Нет
Пол Муж. /Же Нет Нет Делаем поля на сайте Адрес доставки Строка Нет Нет Не выгружаем
н.
в CRM
Дата рождения Дата Нет Нет
Аутентификационные данные
Дата Дата Нет Нет Вычисляется внутри
регистрации CRM Пароль Строка Нет Да Не выгружаем
в CRM
Статусы подписки

Подписка Да/Нет Нет Нет Делаем поля на сайте


на email

Подписка Да/Нет Нет Нет


на sms

Не забываем описывать, как используется каждый атрибут


в интегрируемом ПО!!!
Skillbox +

Проектируем
соответствия API
1. События / полные выгрузки: разложить/собрать событие по
разным API — ESB
2. Сложное формирование инкремента
Skillbox +

Соответствие API

Товары

Поисковый движок
Elastic Search

Новая карточка
Elastic
Цены товара (товар,
Search
цены, остатки)

Остатки

Полная выгрузка — все товары, цены, остатки объединить


в 1 документ.
Skillbox +

Инкремент?
Инкремент
Товары
Товары

Поисковый движок
Elastic Search

Новая карточка
Инкремент Elastic
Цены товара (товар,
Цены Search
цены, остатки)

Инкремент
Остатки
Остатки

Загружать можно только новый полный документ.


У товара А:
1. Изменился остаток
2. Не изменились цена, атрибуты
Как сформировать полный документ?
Skillbox +

Инкремент!
ПО 1 Модуль интеграции

Инкремент Инкремент Полные Полные


Товары Товары товары товары

Инкремент Полные Инкремент Полные


Цены цены Цены цены

Инкремент Полные Полные Инкремент


Остатки остатки остатки Остатки

Новый Новый Новый


документ / документ / документ /
карточка карточка карточка
товара товара товара

Новый
документ /
Чистка дублей
карточка
товара

По инкременту добавить данные из полной базы.


Skillbox +

Минимизация задач
на интеграционном
слое
для производителя
Skillbox +

Выгрузка заказов в 1С
Битрикс 1С

Создание заказа
Передача
Создание заказа
Резервирование
Статус резервирования остатков
Отправка по Email
Спасибо за заказ

Битрикс Новый 1С
заказ
API: создание
Создание заказа
и резервирование
и отправка Email
заказов
Статус
Skillbox +

100 заказов

1С падает от нагрузки

Битрикс Новый 1С
заказ
API: создание
Создание заказа
и резервирование
и отправка Email
заказов
Статус

1С не падает от нагрузки

Битрикс Новый 1С
заказ
Очередь Создание
Создание заказа
и резервирование
и отправка Email
Очередь заказов
Статус
Skillbox +

1 000 заказов
Многопоточная обработка.
Dead lock при обработке.

Заказ 1 Заказ 2
Товар А — 1 шт. Товар Б — 1 шт.
Товар Б — 1 шт. Товар А — 1 шт.

Поток 1 Поток 2

Запрос Конкуренция Запрос


и блокирование за общий ресурс и блокирование
остатка А остатка Б

Запрос остатка Б. Запрос остатка А.


Deadlock
Ожидание Ожидание
Skillbox +

1 000 заказов
Многопоточное резервирование без Dead lock.

Очередь 1 Параллельное Параллельный Очередь 2


резервирование статус

Поток 1 Поток 4
Заказ 1
Заказ 1 Товар А Заказ 1
Товар А Заказ 1 Товар А
Заказ 1
Товар Б Товар Б Заказ 1 Заказ 1 статус
Товар С Заказ 1 Товар Б статус
Товар С Заказ 1
Товар С
Заказ 2 Запуск
Запуск
Заказ 2 Товар А парал- Поток 2
лельных парал- Заказ 2 Заказ 2
Товар А Заказ 2 Заказ 2
потоков лельных статус статус
Товар Б Товар Б Товар А потоков
Товар С Заказ 2 Заказ 2
Товар С Товар Б
Заказ 2
Заказ 3
Товар С
Заказ 3 Товар А Поток 5 Заказ 3
Товар А Заказ 3 Поток 3 статус
Товар Б Товар Б
Товар С Заказ 3
Заказ 3
Товар А Заказ 3
Товар С
Заказ 3 статус
Товар Б
Заказ 3
Товар С
Skillbox +

1 000 заказов

Многопоточная интеграция и обработка.

Битрикс Новый 1С
заказ
Создание заказа Создание
Очередь
и отправка Email заказа
Резервирование
заказа
Статус
Расчёт статуса
отправка Email Очередь
заказа
Skillbox +

Итог

Проектирование серверной интеграции.


1. Какая система является мастер-системой?
2. Разнесение процессов по IT-системам — отнесение функций
по IT-системам
3. Выделение общих функций для нескольких процессов в одну
сервисную IT-систему
4. Модель интеграции данных: «Источник — Потребитель»
5. Соответствия структур данных. «Костыли или доработки»
6. Генерация сложного инкремента данных
7. Параллельная интеграция и обработка данных
Skillbox +

Спасибо
за внимание!

Вам также может понравиться