Деякий контент на цьому сайті був створений з допомогою штучного інтелекту

Сторінка стовпа

Інтеграція систем для підприємств

Об’єднуємо ERP, CRM, системи обліку, кадрово-заробітної плати, KRS, MS Graph, Salesforce, SAP. Інтеграції через API, черги, ETL, вебхуки — з повним контролем якості, аудит трафіком і моніторингом виробництва.

Середня компанія використовує десятки до кількадесят бізнесових додатків. Кожен з них зберігає фрагменти тих самих даних — клієнта, фактури, працівника, замовлення. Без інтеграції працівники витрачають години на добу на ручне переписування, експортування та імпортування даних між системами.

Інтеграція систем це не розкошь — це фундамент цифрової трансформації. При доброзапланованій інтеграції: клієнт доданий у CRM з'являється в ERP без інтервенції, фактура видана в бухгалтерському обліку оновлює фінансовий дашборд президента, статус замовлення є узгодженим в інтернет-магазині, складі та обслузі клієнта.

Чому інтеграції є складними?

Кожна система має свій власний модель даних, свою назву для тих самих полів, свою послідовність операцій, свої власні обмеження API (ліміти, затримки, тимчасові помилки). Дві системи можуть видаватися "компатибільними" в теорії, але в практиці вимагають тижнів роботи над мапуваннями, трансформаціями, обробкою edge-case'ів і вирішенням конфліктів.

Другий рівень складності це надійність виробництва. Інтеграція, що працює правильно в dev середовищі, це ~30% шляху. Решта 70% - це обслуговування виняткових ситуацій: зовнішня система недоступна, змінила контракт API, повертає неочікувані дані, введено нового клієнта в CRM з польськими символами, яких старий ERP не підтримує. Кожен такий випадок вимагає продумування, тесту та алерту, коли це відбувається.

Типи інтеграції

Шість основних патернів. У більшості проектів ми поєднуємо декілька, добираючи метод до конкретного випадку.

REST API / GraphQL

Синхронна комунікація між додатками. JSON як формат обміну, OAuth2/JWT для авторизації, OpenAPI/Swagger для документації. Найчастіший вибір для сучасних хмарних систем.

Колекції повідомлень

RabbitMQ, Redis Streams, Kafka — асинхронний обмін, коли відправник не чекає на одержувача. Ідеальне для сповіщень, бізнес-подій, тривалих операцій. Гарантія доставки + повтор.

ETL / ELT

Пакетне завантаження даних до складу (Snowflake, BigQuery, Redshift, локальний PostgreSQL). Airflow або dbt як оркестратор, валідация якості даних (Great Expectations), моніторинг лінії походження.

Вебхуки

Повідомлення push з системи джерельної (Stripe, GitHub, Slack, Salesforce) до нашої програми. HMAC підпис верифікації, ідемпотентність, черга для невдалої доставки.

SOAP / XML

Старіші системи enterprise (SAP, Oracle, банківська справа, страхування) — повна підтримка WSDL, XSD validation, WS-Security. Адаптер до сучасних протоколів для решти системи.

Бази даних — реплікація, CDC

Зміна даних Capture (Debezium, AWS DMS) для потокової реплікації змін з джерельної бази до цільової. Logical реплікація PostgreSQL для високої доступності та звітів.

Шість ключових викликів виробництва

Речі, на які ми звертаємо увагу в кожному інтеграційному проєкті. Відсутність якогось з цих елементів = годинна бомба.

Ідемпотентність

Кожне запит виконане багаторазово дає той самий результат. Ключі idempotentne у заголовках, видалення дублікатів на рівні застосунку, транзакції довкола критичних операцій.

Повтор та відступ

Тимчасові мережеві помилки - це норма. Exponential backoff (1s, 2s, 4s, 8s...), jitter для уникнення thundering herd, circuit breaker по N невдалих спроб.

Мапування та трансформації

Система А називає поле "client_id", система Б "customerId", система В "id_klienta". Центральний каталог відображень, трансформації в одному місці, тести кожної трансформації.

Підсумкова узгодженість

Дані у двох системах ніколи не є сумісними на 100% в режимі реального часу. Ми приймаємо затримки (типово секунди), моніторимо розбіжності, попереджаємо про триваліші розбіжності.

Аудит і відповідність

Кожна операція інтеграції записує: хто/що/коли/звідки/куди, payload (анонімізований якщо містить PII), результат. Журнал аудиту відповідає вимогам GDPR та ISO 27001.

Масштабування та витрати

Інтеграції ростуть з бізнесом. Horizontal scaling (більше інстансів), rate limiting (захист від надмірних запитів), моніторинг витрат на кожну інтеграцію.

Як ми реалізуємо проєкт інтеграції

  1. Відкриття (1-2 тижні): мапування поточних потоків даних, ідентифікація джерел істини для кожної сутності, збирання контрактів API, оцінка ризиків і залежностей.
  2. Проєктування архітектури (1 тиждень): вибір зразків (синхронно vs асинхронно, push vs pull, hub-and-spoke vs point-to-point), схема аудит логу, план моніторингу.
  3. Пілотаж на одній сутності (2-3 тижні): реалізуємо інтеграцію для одного типу даних (напр. клієнтів) end-to-end. Валідация контрактів, тести навантаження, dry-run на середовищі тестуванні.
  4. Розширення на інші сутності (4-8 тижнів): подальші синхронізації (фактури, замовлення, товари) з тим самим зразком. Кожне впровадження передує Change Request та тести регресивні.
  5. Історична міграція (1-3 тижні): переведення існуючих даних. Dry-run, аудит, план відновлення. Інкрементна міграція або у службовому вікні.
  6. Гіперобслуговування (4 тижні після виробу): інтенсивний моніторинг, швидке реагування на інциденти, налаштування сповіщень. Після гіперобслуговування перехід до стандартового обслуговування.

Приклади реалізованих інтеграцій

КРС + КРБР — РеєстрФірм

Мікросервіс, що поєднує дані з Крайового Реєстру Судових справ (740к+ фірм) з Центральним Реєстром Бенефіціарних Власників. Smart caching (24г), dual-source з автоматичним fallback, 15+ REST кінцівок. Використовується у процесах KYC, верифікації контрагентів, генерації звітів compliance.

SSO з багатьма додатками

Центральна платформа Keycloak (realm eskom-ai) інтегрована з кільканадцятьма клієнськими застосунками. OAuth2/OIDC + PKCE, соціальний вход (Google, Microsoft, Apple, Facebook), провізія користувачів, оплата на основі використання токенів LLM. Одночасний вхід для всіх продуктів ESKOM AI.

Microsoft Graph — календарі, електронна пошта, OneDrive

Інтеграція з Microsoft 365 для автоматизації календаря (умування зустрічей через асистента AI), відправки електронних листів транзакційного характеру, архівування документів. OAuth2 з делегованими дозволами, токени оновлення в Vault, моніторинг обмежень кількості запитів Graph API.

LLM Прокси — маршрутизація кількох провайдерів

Центральна черга, що поєднує багато постачальників LLM (Anthropic, OpenAI, локальний Ollama). Маршрутизація за завданням (дрібні — локальна модель, складні — Claude Opus), кеш відповідей, моніторинг витрат за проєкт, аварійне переключення між постачальниками.

Найчастіші питання

Що означає інтеграція систем?
Інтеграція систем це процес поєднання двох або більшої кількості програмних застосунків так, щоб вони могли обмінюватися даними, викликати події один в одного та зберігати узгодженість інформації. На практиці: коли клієнт додається в CRM, автоматично з'являється в ERP; коли рахунок-фактура виписується в бухгалтерському обліку, дані йдуть до CRM та до аналітики. Без інтеграції фірма жонглює даними вручну (експорти CSV, копіювання між системами), що генерує помилки, затримки та витрати.
Які технології інтеграції застосовуєте?
Вибір технологій залежить від контексту: REST API та вебхуки для сучасних хмарних систем, SOAP/XML для старших ERP/банківських систем, черги повідомлень (RabbitMQ, Redis Streams, Kafka) для асинхронного обміну, ETL/ELT для живлення складів даних, GraphQL коли клієнт хоче гнучкості. Часто ми поєднуємо підходи — синхронно там, де користувач чекає на результат, асинхронно там, де важлива пропускна здатність.
Чи псують інтеграції при оновленні системи джерела?
Це одна з найбільших проблем інтеграції — і тому ми будуємо адаптери з ізоляцією (anti-corruption layer). Зовнішня система змінює контракт → змінюється тільки адаптер, решта інтеграції без змін. Додатково: контракти версіонуються (v1, v2), тести інтеграції запускаються щоденно на sandbox API, сповіщення Sentry/Wazuh при змінах формату відповіді. Клієнт дізнається про проблему до того, як вона потрапить до користувачів.
Як триває типова інтеграція?
Прості інтеграції (один систем з іншим, ~5 endpointів, один напрям синхронізації) реалізуємо за 1-2 тижні. Складні (двонапрямкова синхронізація, кілька десятків сутностей, мапування, трансформації, дедуплікація) займають 4-8 тижнів. Інтеграції з багатьма системами одночасно (hub-and-spoke) проєктуємо фазово, доставляючи бізнесову цінність у ітераціях 2-3 тиждневих.
Що з історичними даними при новій інтеграції?
Кожен проєкт інтеграції має окремий етап міграції історичних даних. Спочатку повний аналіз: скільки записів, які типи даних, де є дублікати, які поля обов'язкові, а які опціональні. Потім міграційний скрипт з dry-run, аудитним треком (що було перенесено, що відхилено, чому) та планом відкату. Міграція виконується у вікні обслуговування або інкрементально, залежно від бізнес-ризику.
Чи повинна інтеграція працювати 24/7?
Залежить від критичності бізнесової діяльності. Онлайн-процеси (оплати, авторизації) вимагають високої доступності — проектують їх з резервуванням (load balancer, multiple instances, health checks, auto-restart). Нічні процеси (звіти, пакетні синхронізації) можуть працювати у сервісних вікнах. Кожну інтеграцію класифікуємо в SLA: час відповіді p95, прийнятний щомісячний downtime, RTO/RPO.
Як ви контролюєте виробничі інтеграції?
Кожна інтеграція реєструє метрики до Prometheus (request rate, error rate, latency p50/p95/p99), журнали до центрального SIEM (Wazuh), помилки до Sentry. Сповіщення при спадку пропускної здатності, зростанні error rate або таймаутах. Dashboard показує стан усіх інтеграцій в одному місці — оператор бачить, що наприклад інтеграція з постачальником X має 3% помилок, тоді як решта працює плавно.
Що з безпекою при інтеграціях із зовнішніми системами?
Кожна інтеграція використовує найменші необхідні повноваження (least privilege). Ключі та токени зберігаються в HashiCorp Vault (не у файлах .env, не у коді). Комунікація завжди через TLS 1.2+, сертифікати верифіковані (ніколи verify=False). Вебхуки, що надходять, мають HMAC signature verification. Після витоку токена — негайна ротація, аудит лог показує, що і коли було зроблено.
Чим інтеграція за допомогою ESKOM AI відрізняється від класичного ESB (Enterprise Service Bus)?
Класичні ESB (Mule, BizTalk, WebMethods) - це монолітна платформа, коштовна за ліцензіями, що вимагає присвяченої команди. Наша модель: мікросервіси інтеграції, кожна інтеграція як окремий компонент з власним деплоєм та моніторингом, інфраструктура заснована на відкритих вихових кодах (FastAPI, RabbitMQ, Redis, PostgreSQL, Vault). Нижча вартість ліцензій, легше обслуговування, відсутність блокування постачальника. Для частини клієнтів це фінансовий аргумент, для частини - стратегічний.
Чи інтегруєтеся ви з польськими системами публічними (KRS, CRBR, KSeF, ePUAP)?
Так. У виробництві ми маємо мікросервіс, який інтегрується з KRS і CRBR (rejestrfirm.eskom.ai — дані 740к+ фірм з beneficial owners). KSeF (е-фактурування) — у нас готові інтегрувальні компоненти в проекті Kontroling. ePUAP, електронні доставки — доступні через Microsoft Graph API та безпосередні інтеграції. Повна відповідність польському законодавству (GDPR, звітні обов'язки).

Маєте проект інтеграції?

Починаємо з безкоштовного аудиту — мапуємо сучасні потоки даних, ідентифікуємо вузькі місця і пропонуємо план у ясних етапах.