負責IBM始自2000年底的SOA計劃的企業轉型與IT簡化創新部門副總裁Susan Watson,上週來台與十多位以金融業為主的本地企業CIO會面分享SOA導入經驗,並接受ZDNet獨家專訪。她在訪問中坦言道,採行SOA架構並不容易,甚至IBM自己也在過去七年多犯過許多錯,她提醒有興趣導入SOA的企業,必須從業務觀點而非IT觀點來看SOA專案,且要從核心業務流程開始著手,「但計劃一定要小,你不可能在一開始就正確知道自己需要什麼,」Waston說。
SOA(Service-Oriented Architecture, 服務導向架構)是近三年來IT界的熱門話題,也代表企業內應用軟體架構的轉變。不同於過去數十年來主導企業應用軟體的套裝軟體形式,SOA是以業務所需用到的應用視為服務,而傳統的套裝應用則由一個個模組化的應用元件的組合所取代,例如過去從接單到出貨與計算業績的流程中,可能得使用到CRM、ERP、SCM與HR等個別獨立的系統,但在SOA架構下,則將此一流程中會應用到的程式元件組裝起來,讓使用者不必再一一開啟不同的應用。
SOA事涉整個IT架構的改換,從傳統觀點來看似乎必須擬定長期的轉型計畫,但IBM卻不建議企業這麼做。
「在開始導入前,就設定好三年或五年的計劃藍圖在SOA專案上是不可行的,」Waston點出SOA專案與其他IT專案的最大不同。
一般來說,企業多半會針對未來的業務發展需求,訂定中、長期的IT系統建置目標,以及時間表。例如花費一年期的ERP計劃,並在後期陸續加上財務、供應鏈等模組。但Watson建議,企業應從做中學,從數個最重要核心流程中挑選出適合作為切入點的服務,「多試幾個,你才會知道哪些對你最有益,」她說。
不過她強調並非完全不必做計劃,而是應把規劃長遠藍圖的作法,改為以核心流程為中心,隨著企業的需求,一步步擴張SOA的範圍。
決定元件大小最不易
自2000年底至今,IBM已建置了網站身分認證控管、客戶資料分析系統,以及技術服務委外系統三個SOA服務。Watson以最早開始進行的身份認證控管系統解釋道,當時IBM打算建立一套認證系統來解決上百個讓外部人員使用的應用的認證問題,卻發現在每一個應用上建立獨立的認證系統太耗費成本,便開始了第一個SOA專案,「當時連SOA這個詞都還不太有人知道,」她說。
Watson表示,當時的目的是要透過SOA的概念來解決實際的業務問題,但在過程中,卻因缺乏經驗,導致開發出用來組裝成服務的元件太大,影響到後來與其他元件組合,也不利於該元件的再利用(reuse)。
「決定服務元件的大小是導入SOA最困難的事,」Waston表示,元件若定得太小,雖然對服務的組裝來說會較有彈性,但卻會在執行時發生嚴重的效能問題,反之則彈性不足。對於決定元件的原則,她表示必須仰賴實務經驗,而IBM的作法,則是先分析既有主要業務流程,並將其分割成五個不同的等級,再依經驗與可能的使用者行為模式來決定服務元件的內容,以及必須包括哪些資料的交換。
舉例來說,IBM的HR系統與員工差旅系統是外包給外部廠商,一開始開發的認證元件可讓員工在內部登入時,便也可自動登入外部的HR與差旅系統,但當初設計該認證服務元件時,把員工所有的個人資料都包含在內,但卻未必用得到,Waston表示,後來的認證系統則只作認證後的身分確認與ID對映,去除掉多餘的部分,即可被應用到更多不同的流程中。
專案進行七年,Waston表示,IBM仍將持續尋找適合開發成新服務的流程,或加強過去已開發出的新服務。事實上,IBM內部的首個SOA專案,即認證系統,如今已成為超過200個應用程式與千餘個網站天天都要使用的服務,「後來我們必須重新審視、修正該服務的備援機制、可用性設計,因為它已無形中成為IBM非常倚賴的服務,」她說。
「總是有新的東西可以做,SOA沒有結束的一天,」她說。


