最近公司的 SSO 出問題,我想知道:在比較好的架構設計下,這裡面應該要放什麼?

這篇先把企業、電商、金流專案會碰到的系統和縮寫列成一張地圖。SSO 相關的名詞在「身分/安全/維運」那一節,但這裡只有一句話的解釋,SSO 本身該怎麼設計不在這篇的範圍。

後端工程師在企業/電商/金流專案會撞到的系統、縮寫與角色。跟電商金流直接相關的排前面。

這篇是索引,不是終點:縮寫是入口,每節底下的「↳ 展開讀」是出口,指到真的把那件事寫完的文章。

💳 支付/金流安全

縮寫全名一句話
HSMHardware Security Module硬體加密模組,存金鑰+做加解密,信用卡處理合規核心
KMSKey Management Service金鑰管理服務(雲版金鑰保管,AWS KMS 等)
PKI / CAPublic Key Infrastructure / Certificate Authority公鑰基礎設施 / 憑證簽發機構
PCI-DSSPayment Card Industry Data Security Standard信用卡資料安全標準(存卡號要合規)
PA-DSS / P2PEPayment Application DSS / Point-to-Point Encryption支付應用標準 / 點對點加密
PAN / CVV / BINPrimary Account Number / Card Verification Value / Bank ID Number卡號 / 驗證碼 / 卡號前綴銀行碼
EMVEuropay-Mastercard-Visa晶片卡標準
3DS / SCA3-D Secure / Strong Customer Authentication線上刷卡持卡人驗證 / 強客戶驗證(PSD2 要求)
tokenization—代碼化:存 token 不存卡號(縮小 PCI 稽核範圍)
PSP / PGPayment Service Provider / Payment Gateway金流服務商 / 金流閘道(綠界、PayUni、Stripe)
Acquirer / Issuer—收單行 / 發卡行
ACH / SWIFT / IBAN—美國自動清算 / 國際電匯 / 國際帳號
settlement / chargeback—撥款結算 / 爭議拒付(持卡人申訴退款)
e-invoice電子發票台灣統一發票電子化(開立/作廢/折讓)
KYC / AMLKnow Your Customer / Anti-Money Laundering認識客戶 / 反洗錢(金流合規)

↳ 展開讀:

📦 企業核心系統

縮寫全名電商系統裡對應什麼
OMSOrder Management System訂單狀態機
WMSWarehouse Management System庫存/出貨/預佔
PIMProduct Information ManagementSPU/SKU 商品資料
TMSTransportation Management System物流/DeliveryGroup
POSPoint of Sale銷售時點/收銀
ERPEnterprise Resource Planning財會/採購/生產一體(SAP、Oracle)
EIPEnterprise Information Portal企業入口網:員工每天第一個畫面(SSO+待辦聚合+簽核+公告)。它是聚合層不是系統(作者的判斷框架,非業界定義) ⚠️ 雲端語境的 EIP=AWS Elastic IP,完全不同的東西
CRM / CDPCustomer Relationship Mgmt / Customer Data Platform客戶關係 / 客戶資料平台
SCMSupply Chain Management供應鏈
CMS / DAM / DMSContent / Digital Asset / Document Mgmt內容 / 媒體資產 / 文件管理
HRIS / LMSHR Information System / Learning Mgmt人資 / 教育訓練
PLMProduct Lifecycle Management產品生命週期
BPM / RPABusiness Process Mgmt / Robotic Process Automation流程引擎 / 機器人流程自動化
ITSM / CMDBIT Service Mgmt / Config Mgmt DBIT 服務管理(ServiceNow)/ 組態庫

↳ 展開讀:

🔗 整合/資料

縮寫全名一句話
ESB / EAIEnterprise Service Bus / App Integration服務匯流排 / 企業應用整合(老派 SOA)
iPaaSintegration Platform as a Service雲版整合平台(Zapier/MuleSoft 那類)
API Gateway / BFF— / Backend for FrontendAPI 閘道 / 前端專用後端
MQ / pub-sub / webhookMessage Queue訊息佇列 / 發布訂閱 / 回呼
saga / outbox / CQRS—跨服務事務補償 / 可靠事件發送 / 讀寫分離模型
ETL / CDC / reverse-ETLExtract-Transform-Load / Change Data Capture資料管線 / 變更捕捉 / 反向回灌
EDIElectronic Data InterchangeB2B 電子資料交換(下單/發票)
MDMMaster Data Management主資料管理(單一真相來源)⚠️ 跟 Mobile Device Mgmt 撞縮寫
DW / ODS / data lake / OLAP·OLTPData Warehouse / Operational Data Store資料倉儲 / 營運資料存放 / 資料湖 / 分析型·交易型
BIBusiness Intelligence商業智慧報表

🔐 身分/安全/維運

縮寫全名一句話
IAM / PAMIdentity & Access / Privileged Access Mgmt身分存取管理 / 特權帳號管理
SSO / MFASingle Sign-On / Multi-Factor Auth單一登入 / 多因素驗證
OAuth / OIDC / SAML / JWT—授權 / OpenID Connect / 企業 SSO 協定 / 權杖
LDAP / ADLightweight Directory / Active Directory目錄服務(企業帳號中樞)
RBAC / ABACRole / Attribute-Based Access Control角色 / 屬性存取控制
ZTAZero Trust Architecture零信任架構
WAF / IDS·IPS / EDR·XDRWeb App Firewall / Intrusion Detection·Prevention / Endpoint·Extended Detection應用防火牆 / 入侵偵測·防禦 / 端點偵測回應
SIEM / DLP / CASBSecurity Info & Event Mgmt / Data Loss Prevention / Cloud Access Security Broker安全事件管理 / 資料外洩防護 / 雲存取安全
vault / secrets manager—密鑰保管(HashiCorp Vault、AWS Secrets Manager)
APM / o11yApp Performance Mgmt / observability應用效能監控 / 可觀測性

💰 財務/合規/治理

縮寫全名一句話
GL / AR / APGeneral Ledger / Accounts Receivable·Payable總帳(複式記帳)/ 應收 / 應付
reconciliation對帳比對兩系統帳目找差異(金流最後防線)
audit trail稽核軌跡每筆變更留痕(合規+debug)
GDPR / PDPAGeneral Data Protection Reg / Personal Data Protection Act歐盟個資法 / 台灣個資法
SOX / ISO 27001 / GRCSarbanes-Oxley / — / Governance-Risk-Compliance財報內控 / 資安管理 / 治理風險合規
GAAP / IFRS—美國/國際會計準則
SLA / SLO / SLIService Level Agreement / Objective / Indicator服務等級協議/目標/指標
DR / BCP / RTO·RPODisaster Recovery / Business Continuity Plan災難復原 / 營運持續 / 復原時間·資料點目標

👥 角色與職稱(傳統軟體公司 / SI 為主)

上面是系統,這節是人。進到企業專案,你要接的一半是系統、另一半是「誰有權說這件事」。

產品/需求線

縮寫全名一句話
PMProduct / Project Manager⚠️ 台灣最常混用的縮寫:網路公司多指產品經理(決定做什麼),SI 公司多指專案經理(決定何時交付、管合約)
POProduct OwnerScrum 角色,backlog 的唯一決定者
BABusiness Analyst訪談業主、把商業流程寫成規格書(SI/ERP 最吃重的角色)
SASystem Analyst系統分析師:把規格翻成系統設計(台灣 SI 特有的職級,介於 BA 與 RD 之間)
SDSystem Designer系統設計師,SA 的下一手,畫到 table schema / 流程圖
PMOProject Management Office專案管理辦公室:管跨專案的排程、資源、報表(大公司才有)
UI / UX—介面視覺 / 使用者經驗(小公司常是同一人)
顧問ConsultantERP/SI 的產業顧問,懂 SAP 那套怎麼對到客戶的流程,不寫 code

工程線

縮寫全名一句話
PGProgrammer老派 SI 用語,寫 code 的最底層職級(現在多改叫 RD/SWE)
RD / SWEResearch & Development / Software Engineer台灣愛用 RD,外商用 SWE
FE / BE / FSFrontend / Backend / Full-Stack前端 / 後端 / 全端
TLTech Lead技術決策 + 帶 code review,通常還在寫 code
EMEngineering Manager管人(績效、招募、排程),不一定寫 code
Architect架構師跨系統的技術決策、選型、非功能需求(效能/擴充/安全)
QA / QCQuality Assurance / Control測試。傳統公司多為手動測試 + 寫測試案例
SDET / QESoftware Development Engineer in Test寫測試框架與自動化的工程師(QA 的工程化版本)
DBADatabase Administrator管 DB 的效能、備份、權限。傳統公司 schema 改動要他點頭
SRE / DevOps / OPSite Reliability Eng. / — / Operation可靠性 / 交付流程 / 維運值班
MISManagement Information System⚠️ 台灣特有:名義上是資訊管理,實務上=公司內部 IT(修電腦、管 AD、管網路、順便管 ERP)
NE / SysAdminNetwork Engineer / System Administrator網管 / 系統管理員(機房年代的主力)

資料/AI 線

縮寫全名一句話
DEData Engineer建資料管線(ETL/CDC),把資料搬到能用的地方
DAData Analyst撈數字、做報表、回答商業問題
DSData Scientist建模型、做實驗設計
MLE / MLOpsMachine Learning Engineer / —把模型上線 / 管模型的部署與監控
BI 工程師Business Intelligence做 DW + 報表平台(Tableau/PowerBI),傳統公司常掛在 MIS 底下

管理層與外圍

縮寫全名一句話
CTO / CIO / CISOChief Technology / Information / Information Security Officer技術長(對外技術與產品)/ 資訊長(對內 IT 與 ERP)/ 資安長
VPEVP of Engineering工程組織的最高管理者(跟 CTO 分工:CTO 想方向、VPE 讓組織跑得動)
PreSales / SEPre-Sales / Sales Engineer售前技術:跟業務一起去客戶那邊做 POC、寫技術標書
AMAccount Manager客戶經理,管客戶關係與續約,專案變更需求常從他嘴裡進來
CS / TSCustomer Service / Technical Support客服 / 技術支援,第一線收到 bug 的人
SI / ISVSystem Integrator / Independent Software Vendor系統整合商 / 獨立軟體商(公司類型,不是角色,但決定了上面所有職稱的長相)

後端工程師的實務對照:誰卡你什麼

認得縮寫沒用,知道誰能擋下你的 PR 才有用:

你想做的事實際上要過誰
改 table schema / 加 indexDBA(傳統公司),或沒有 DBA 時=沒人管、然後半年後爆炸
改 API 契約前端 + 串接你 API 的 SI 廠商(EDI/API 對外時契約是合約的一部分)
上線時間專案 PM / PMO 的排程,不是你的 git tag
存哪些欄位資安/CISO + 法務(個資、PCI-DSS),這是設計限制不是建議
加一台機器 / 開一個 portMIS 或網管,傳統公司要走簽核單
需求改了BA 改規格書 → SA 改設計 → 才輪到你。跳過這條鏈自己改,出事時沒有文件保護你

角色的形狀是組織成本決定的:SI 公司要把 BA/SA/PG 切這麼細,是因為「懂業務的人」跟「會寫 code 的人」在那個年代幾乎不重疊,中間必須有翻譯層。當這個翻譯成本變低(工具、AI、全端化),這條鏈就會塌——這是我的判斷;個人職涯的角度另見 AI 會取代我的工作嗎?。


設計/整合這些系統時要注意什麼(跨系統通用鐵律)

真正的難點不在認得縮寫,在系統之間怎麼接。以下是我認為踩過才學會的:

  1. 冪等性(idempotency)是碰錢/碰外部系統的生死線——重複點、重送 request、callback 重放,任何寫入動作都要能安全重複執行(用唯一鍵擋、用狀態判斷擋)。不做,遲早出帳差。
  2. 永遠留一道對帳(reconciliation)——不要相信任何單一系統的帳是對的。你的帳 vs 金流商的帳 vs 發票系統的帳,要有一層定期比對兜底。callback 掉了、金額被竄改,都靠這裡抓出來。→ 對帳不是會計的事、退款與對帳
  3. 跨系統一致性別用 dual-write——「同時寫 DB 又打外部 API」中間斷掉就不一致。用 outbox/saga/事件驅動,接受最終一致,別假裝能強一致。→ 狀態機拆開之後的代價
  4. 多個流分開,別混成一個狀態——訂單/金流/物流/發票是四個平行的流,各有各的狀態機。硬塞成一個「訂單狀態」欄位,撐到退款+部分出貨就爆組合。→ 五個狀態機在跳舞
  5. 合規決定你能存什麼——PCI-DSS 讓你實務上不該自己存卡號(CVV 等敏感驗證資料授權後一律不得儲存;卡號要存就得加密到不可讀、整個環境進稽核範圍,所以多半改存 token。來源:PCI DSS 要求 3,https://www.pcisecuritystandards.org/document_library/);會員生日、身分證字號這類個資,蒐集目的與保存期間也受個資法約束。合規不是事後補,是設計時就限制你的資料模型。
  6. 金額永遠 Decimal,不用 float——浮點誤差會讓對帳永遠差幾分。多幣別再加 minor unit(存「分」)。→ 多幣別帳務設計:匯率 Snapshot 與精度處理
  7. 每個狀態變更都要 audit trail——不只為合規,出事時「這筆從哪個環節開始歪」全靠它還原時序。
  8. 整合用 API/事件,別直接 DB-to-DB——別讓 A 系統直接讀 B 的資料庫。用契約(API/事件)+ anti-corruption layer 隔開,否則兩邊 schema 綁死、一起爛。
  9. 主資料要有單一真相來源(MDM 精神)——同一個「商品」「客戶」在幾個系統各存一份、各自改,就是資料不一致的溫床。定義誰是 source of truth。遷移做一半是這條的重災區:新舊兩套並存、兩邊都能寫,真相就沒了 → 雙軌並存為什麼危險、怎麼收斂
  10. buy vs build 要算維運成本不是機器錢——ERP/金流/HSM 這種,自刻的真實成本是「永遠要養它」。能組裝就別自建(除非那是你的核心競爭力)。

相關主題

  • ERP 與 EIP 的功能模組分解(另一篇草稿)
  • 對帳模式、訂單狀態機、多幣別帳務