Интеграция с 1С, SAP, MES, WMS через Corax#

Контекст#

На предприятиях (например, производство, ритейл, логистика) данные генерируются в разнородных системах, каждая из которых отвечает за свою часть бизнес-процесса, например:

  • 1С: Предприятие — учет и управление.

  • SAP ERP — управление ресурсами, поставщиками, производством.

  • MES (Manufacturing Execution System) — контроль производственных операций, учет брака, норм времени.

  • WMS (Warehouse Management System) — управления складскими операциями.

Каждая система работает на своей платформе, с разными интерфейсами, частотой обновления и форматами данных.

Пример решения до внедрения Kafka:

graph TD A[1С: Предприятие] -->|DB Link| D[Data Warehouse] A -->|API| E[OMS] A -->|FTP| F[Аналитика] B[SAP ERP] -->|IDoc / RFC| D B -->|PI/PO| G[BI] B -->|DB| H[Планирование] C[MES] -->|OPC UA / API| I[WMS] C -->|MQTT| J[Мониторинг] C -->|CSV| D I[WMS] -->|API| E I -->|DB| D style D fill:#f9f9f9,stroke:#ccc,stroke-width:2px style E fill:#e6f7ff,stroke:#1890ff style F fill:#e6f7ff,stroke:#1890ff style G fill:#e6f7ff,stroke:#1890ff style H fill:#e6f7ff,stroke:#1890ff style J fill:#e6f7ff,stroke:#1890ff

Проблема#

Сложность обеспечения своевременного, согласованного и масштабируемого обмена данными между различными системами, например:

  • Каждая новая система требует множества соединений.

  • Задержки данных из-за синхронизация по расписанию (раз в час/сутки).

  • Несогласованность данных. Например, система управления заказами (OMS) не знает о наличии товара на складе в реальном времени (отрицательная продажа).

  • Высокая стоимость интеграции новой системы.

  • Аналитика строится на устаревших данных (прогнозы неточны).

Решение#

Создать централизованную, асинхронную, отказоустойчивую шину событий на базе Corax, через которую все системы обмениваются данными в реальном времени.

Пример архитектуры решения:

graph LR A[1С: Предприятие] -->|Kafka Connect / API| K[Corax] B[SAP ERP] -->|IDoc to Kafka / PI Adapter| K C[MES] -->|OPC UA + Kafka Agent| K D[WMS] -->|API / DB CDC| K K[Kafka] --> N[(Топики: sales, inventory, production, orders)] K --> L[Kafka Connect] L -->|Sink| DW[Data Warehouse / Lake] L -->|Sink| BI["BI-системы (Power BI, Tableau)"] L -->|Sink| OMS[OMS / CRM] L -->|Sink| MON["Мониторинг (Grafana)"] L -->|Sink| ML[ML-платформа] L -->|Sink| ERP["SAP / 1С (обратная синхронизация)"] style K fill:#ffec3d,stroke:#e6b800,stroke-width:2px style N fill:#fff1b8,stroke:#d4a10f style DW fill:#d9f7be,stroke:#52c41a style BI fill:#d9f7be,stroke:#52c41a style OMS fill:#d9f7be,stroke:#52c41a