一、架構背景:典型ISA-95 IT/OT項目場景

層級

主要職責

當前演進形態

L4 企業層(ERP / Legacy / APS / PLM / CRM 等)

計劃、調度、訂單、供應鏈

仍有大量 Legacy 系統(HTTP、SOAP、文件接口)

L3 製造運營管理層(MOM / MES / 執行智能層)

執行、協調、追溯、數據整合、事件驅動調度

不完全等同於 MES,而是一個事件驅動的分佈式調度總線(MOM 層)

L2-L1

控制與過程設備層

通過 MQTT / OPC UA / Edge Data Hub 連接上送數據


二、問題和對策

傳統上,L4→L3 的通信是 同步的(SOAP、REST、DB接口),而 L3→L2 則是 實時的
這兩種通信範式在現代智能工廠裏產生“節拍不匹配”問題。Apache Camel + MQTT 的組合恰好可以起到一個“語義橋接 + 協議轉譯 + 異步解耦”的作用。


三、系統角色劃分

1️⃣ Apache Camel —— 企業集成層(EAI/ESB 模塊)

  • 用作 L4 Legacy 系統的集成中間件
  • 提供超過 300 種組件(HTTP、SOAP、JDBC、FTP、File、JMS、SAP 等);
  • 能夠通過路由 DSL定義複雜的業務流程、過濾規則、映射邏輯;
  • 支持 內容路由(Content-Based Routing)消息變換(Transformation)
  • 可內嵌運行於 Spring Boot、Quarkus、Kubernetes 中。

2️⃣ MQTT Broker —— L3 事件總線 / UNS 主幹

  • 作為 製造執行語義事件總線(Manufacturing Event Bus)
  • 每個主題(Topic)代表一個 業務對象或事件域(如 Order、Batch、Resource、Event)
  • 與 UNS(統一命名空間)結合使用,可實現 主題級語義一致性
  • 與 L2-L1 的 Edge Node 協同,實現實時狀態上傳與下發。

四、集成模式(核心)

模式:Apache Camel ↔ MQTT Broker ↔ L3 語義層

① Camel 路由邏輯(L4 → L3)

ERP (SOAP/XML)
   ↓
Camel Route
   ↓  轉換為 JSON + MQTT Topic
MQTT Broker (Topic: /uns/order/new)
   ↓
L3 MOM (訂閲Topic並觸發流程)

Camel DSL 示例(非代碼實例):

from("sap:erp:orders?operation=GetNewOrders")
  .process(exchange -> {
      Map order = transformToUNSFormat(exchange.getIn().getBody());
      exchange.getIn().setBody(order);
  })
  .to("paho-mqtt5:uns/order/new?brokerUrl=tcp://mqtt-broker:1883");

② L3 → L4 回執路徑

L3 MOM 完成 → MQTT 發佈 /uns/order/ack
   ↓
Camel Route 監聽該主題
   ↓
寫入 ERP (JDBC / SOAP / HTTP)

Camel DSL 示例(非代碼實例):

from("paho-mqtt5:uns/order/ack?brokerUrl=tcp://mqtt-broker:1883")
  .to("jdbc:legacyERPDataSource");

五、主題設計與 UNS 對齊

主題(Topic)

説明

對應 UNS 實體

uns/order/new

新訂單發佈

Order

uns/order/ack

訂單回執

Event

uns/resource/status

設備狀態上報

Resource

uns/batch/start

批次開始事件

Batch

uns/batch/end

批次結束事件

Batch/Event

每個主題的元數據(Schema、QoS、語義標籤)應註冊在 UNS Registry 中,
Camel 路由在啓動時可自動加載這些定義以動態綁定。


六、與 S95 模型對齊的語義層邏輯

S95 對象層級

在本架構中的體現

通信模式

Enterprise / Site

ERP / APS / PLM(通過 Camel)

HTTP/SOAP → MQTT

Area / WorkCenter / WorkUnit

MOM / Dispatch / Recipe Service

MQTT 內部訂閲

Equipment / Control Module

Edge Node / PLC / Agent

MQTT / OPC UA PubSub


七、系統優點總結

類別

優點

架構解耦

L4 與 L3 通過 MQTT 異步通信,Legacy 系統無需改造

協議多樣性兼容

Camel 支持 SAP、HTTP、File、DB 等任意接口

語義統一

藉助 UNS 命名體系保持跨系統的 Topic 與對象一致

事件驅動

L3 層的製造執行由事件觸發,天然支持擴展與分析

易於雲化

Camel、MQTT 均支持容器化與雲原生部署


八、典型部署形態(簡圖)

┌────────────┐
          │ Legacy ERP │
          └─────┬──────┘
                │ SOAP/HTTP/JDBC
          ┌─────▼──────┐
          │ Apache Camel│
          │ (EAI Bridge)│
          └─────┬──────┘
                │ MQTT Publish/Subscribe
          ┌─────▼──────┐
          │ MQTT Broker │  ←→  UNS Registry
          └─────┬──────┘
                │
          ┌─────▼────────────┐
          │ L3 MOM / EventBus│
          │ (Dispatch, Trace,│
          │  Analytics, eBR) │
          └─────┬──────┬────┘
                │       │
          ┌─────▼──┐ ┌─▼───────┐
          │ Edge GW│ │ OPC UA   │
          │/Agent  │ │PubSub L2 │
          └────────┘ └──────────┘