企業整合不是輕鬆的差事。從定義上看,企業整合就得處理跑在不同地點、不同平台上的多套應用程式——「簡單整合」基本上是個矛盾修辭。

軟體廠商提供的 EAI 套件確實能做到跨平台、跨語言整合,也能介接許多熱門套裝應用。但這層技術基礎設施只佔整合複雜度的一小部分,真正的挑戰橫跨商業與技術兩端

挑戰清單#

  • 整合需要企業政治上的重大轉變。 商業應用通常聚焦在特定職能領域(CRM、帳務、財務……),這像是 Conway 定律的延伸——「設計系統的組織,其產出的設計必然複製該組織的溝通結構」。於是許多 IT 團隊也照著這些職能領域組織起來。成功的企業整合不只要在電腦系統之間建立溝通,更要在業務單位與 IT 部門之間建立溝通:在一個被整合的企業裡,應用團隊不再獨佔控制某套應用程式,因為每套應用程式都成了整體流程的一環。
  • 整合的影響面極廣。 一旦最關鍵的商業功能被納入整合方案,該方案能否正常運作就攸關企業存亡。
  • 對參與其中的應用程式,整合開發者能控制的極少。 多數情況下那些是遺留系統或套裝應用,不可能為了接上整合方案就任意修改。這常讓整合開發者被迫去彌補應用程式內部的缺陷、怪癖,或應用程式之間的差異。很多時候,把一部分解法實作在應用程式「端點」裡會更容易,但因政治或技術理由,這個選項並不存在。
  • 這個領域幾乎沒有站穩腳步的標準。 XML、XSL 與 Web service 的出現確實是整合方案在標準化上最重要的推進,但圍繞 Web service 的炒作也造成市場的新一輪碎片化,冒出一堆標準的「擴充」與「詮釋」。
  • 既有的 XML Web Services 標準只解決了整合挑戰的一小部分。 常聽到的「XML 是系統整合的通用語」其實相當誤導。
  • 開發 EAI 方案已經夠難,維運它更令人卻步。 技術種類繁雜加上分散式的本質,讓部署、監控與排錯都成了需要多重技能組合的複雜工作;而這些技能在 IT 維運團隊裡往往不存在,或散落在許多不同的人身上。

一個失效或行為異常的整合方案,可能因為訂單流失、款項誤送與客戶不滿,讓企業損失數百萬美元。

XML 不等於共同語意#

把所有資料交換都標準化成 XML,就像規定所有文件都用同一套字母(例如羅馬字母)書寫。字母是共通的,但它仍被用來表示許多種語言與方言,讀者未必看得懂。

共同的表示法(XML)不蘊含共同的語意。 「帳戶」這個概念,在每套參與系統中都可能有不同的語意、內涵、限制與假設。

解決系統之間的語意差異特別困難且耗時,因為它牽涉到重大的商業與技術決策。

別忘了:「符合標準」的產品之間無法互通,正是當年 CORBA 的主要絆腳石之一——而 CORBA 在技術上其實提供了相當精密的系統整合方案。

現實的落差#

任何經歷過 EAI 導入的人都能證實:EAI 方案是今日企業策略的關鍵組成,卻讓 IT 的日子更難過,而不是更輕鬆。

從高層次的整合願景(那些「Straight-Through-Processing」、「T+1」、「敏捷企業」之類的詞彙),到真正動手實作的細節(System.Messaging.XmlMessageFormatter 到底吃哪些參數來著?),中間隔著很長一段路。