Содержимое
Ну конечно, что-то в классификации интеграций я забыл! Например, я думал, куда поместить ETL? Он всё время выпадает — и из классификаций, и из курсов/статей. Спасибо ИИ (точнее — боту Марике, которая живет в группе https://t.me/itsysdes), подсказала ещё несколько различалок: 🔹 по частоте обмена (от обмена в реальном времени, типа вебхуков, вебсокетов и стриминга в gRPC, до ночных ETL-процессов по расписанию. Это не взаимоисключающие способы, их совмещение называется "лямбда-архитектура" ); 🔸 по степени структурированности данных — от зажатых в строгие рамки сообщений в JSON-Schem'ы или бинарного формата protobuf, до произвольных структур NoSQL, документов и медиа (а что если вам придётся передавать между системами видео? Мне вот приходилось; для сырого видео больших объемов самый быстрый способ передачи — записать на переносные диски, набить ими рюкзак и отвезти на метро); 🔹 однонаправленная (издатель-подписчик) и двунаправленная интеграция; 🔸 Впрочем, дадим шанс и статье, которая меня сподвигла на эту серию постов, с их "горизонтальной" и "вертикальной" интеграцией: такое разделение и в англоязычных источниках есть, впрочем, примерно той же степени адекватности, 'Systems integration is sort of like a wedding' 👀, и с другим наполнением. Но, если подумать, можно и так посмотреть на ситуацию: интегрируем ли мы системы, стоящие на разных этапах технологической цепочки и кормящих друг друга продуктами своей деятельности (для машиностроения и нефтянки даже стандарты есть для интеграции данных о деталях, оборудовании и процессах жизненного цикла непрерывных производств), или мы объединяем однотипные системы, работающие параллельно. Не знаю, откуда они вытащили эту задачу в 2024 году, но лет 20 назад было актуально: объединить в единое пространство системы нескольких магазинов, чтобы сводить остатки (с трудом, но вспоминаю, что посмотреть наличие товара в другом магазине Спортмастера было невозможно — системы не были соединены. Один мой однокурсник ездил с флешкой по сети магазинов одежды и собирал вечером данные о продажах и остатках. Я сам делал несколько таких проектов: для больницы, для сети турагентств и для валютного деска банка — сводил в одной системе результаты торгов разных трейдеров. Очень было актуально в 2000-2006 годах. Сейчас трудно представить такие задачи по горизонтальной интеграции, но, наверное, где-то они ещё встречаются. А может, бойцы вспоминают минувшие дни 🤷♂ 🔹 Наконец, экскурс в 2000-е напомнил мне про ещё одну классификацию, в этот раз уровней интеграции данных: физический, логический и семантический. Тогда все говорили про семантический веб, помните? Практика показала, что создание единой семантической модели — скорее утопия, и работать нужно с моделями ограниченных контекстов. Но об этом уже в другой раз.