iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

30 天把舊 ERP 整合成現代微服務平台:架構治理與工程實作雙軌實戰 系列

舊 ERP 還能跑,為什麼還要動它?本系列以一家製造業的匿名化案例,記錄把 SOAP 型 ERP 逐步整合成現代微服務平台的 30 天決策過程。

每篇固定分「架構師視角」與「工程師視角」兩層:先講這個設計降低什麼風險,再講程式碼怎麼落地、怎麼驗證、踩過哪些坑。不展示完美架構,只記錄真實限制下的取捨。適合正在處理 Legacy 系統、API 整合與治理要求的架構師、資深工程師與技術主管。

參賽天數 29 天 | 共 29 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11|Keycloak、OAuth 2.0、OIDC 與 JWT:別再把登入和授權混在一起

Keycloak、OAuth 2.0、OIDC、JWT,常常會一起出現在登入設計裡。我想先把它們一個一個分清楚,再沿著登入流程看一次,這樣比較知道每一步到底驗證...

2026-09-24 ‧ 由 ashleylin1007 分享
DAY 12

Day 12|RBAC 還不夠:把角色、資源與資料範圍分開

假設使用者有 ORDER_VIEWER 角色,可以查訂單。那麼,他能查所有公司的訂單,還是只有自己廠區的資料? 本篇名詞小筆記 RBAC:角色型存取控制(R...

2026-09-25 ‧ 由 ashleylin1007 分享
DAY 13

Day 13|ERP SOAP 前為什麼需要 Adapter?

如果每個服務都自己接 ERP SOAP,就要各自處理 WSDL client、欄位轉換、認證與錯誤。服務多了以後,同一套介接工作也會重複出現。我想把這些事情集中...

2026-09-26 ‧ 由 ashleylin1007 分享
DAY 14

Day 14|Adapter Service 設計:別讓隔離層變成第二套 ERP

Adapter 建好之後,需求通常不會停:「這個欄位順手加一下」「那段流程也塞進來」。每一次看起來都是小事,但堆久了,這一層就會變得很難動。所以我想在一開始就講...

2026-09-27 ‧ 由 ashleylin1007 分享
DAY 15

Day 15|REST 與 SOAP 轉換:不只是 XML 改成 JSON

把 SOAP 改成 REST,XML 換成 JSON,看起來是乾淨多了。不過我會再往下看一層:呼叫端拿到 JSON 之後,是不是還要自己知道 ERP 哪個欄位代...

2026-09-28 ‧ 由 ashleylin1007 分享
DAY 16

Day 16|condition 白名單:查詢保有彈性,呼叫端仍不能傳 SQL

提供 ERP 查詢時,很容易遇到一個期待:能不能讓呼叫端自己組條件?我能理解這個需要,每個組合都開一支 API,後面會有很多重複工作。不過,實際送往 ERP 的...

2026-09-29 ‧ 由 ashleylin1007 分享
DAY 17

Day 17|REST 還是 MQ?先問業務是否需要立即答案

要用同步 API,還是改成事件處理?我會先從使用者的畫面想起:按下按鈕後,他需要立刻看到什麼?庫存查詢可能要馬上有答案,通知則可能晚幾分鐘也沒關係。先知道這個差...

2026-09-30 ‧ 由 ashleylin1007 分享
DAY 18

Day 18|Kafka 與 RabbitMQ:不是競爭,而是不同任務

Kafka 與 RabbitMQ 都能傳訊息。處理完還要保留嗎?新的下游加入時,需要重播嗎?這些問題會比先比較效能數字更接近實際需求,所以要選哪一個,我會先想訊...

2026-10-01 ‧ 由 ashleylin1007 分享
DAY 19

Day 19|事件送兩次,訂單只能做一次:冪等與 Outbox 設計

假設一筆事件已經處理完,Consumer 卻在 ack 前中斷。重啟之後,同一筆又送來了,訂單或庫存會不會再做一次?我想先把這個情境想清楚,再談事件流程怎麼實作...

2026-10-02 ‧ 由 ashleylin1007 分享
DAY 20

Day 20|EDI 與 B2B:最容易被低估的企業整合

「檔案有傳到了。」 做 EDI 整合時,聽到這句話,我還會想繼續確認:格式有通過嗎?資料轉好了嗎?業務單據建立了嗎?從收件到完成,中間每一步都需要有清楚的狀態。...

2026-10-03 ‧ 由 ashleylin1007 分享