在信息科技(IT)界,新的術語、產品、技術和標準層出不窮,很難分辨哪些是經得起考驗的、哪些只是最新的噱頭。不過,有一種重要的技術不會隨翻譯而變調,那就是SOA,全名為「服務導向架構」(service-oriented architecture)。
要了解什么是SOA,就必須了解所有企業面臨的問題。我們并非置身于一個與世隔絕的、同文同種的泡沫內。在這個經濟緊密相連的地球村,與誰互動和怎么互動,并不是你所能掌控的。愈來愈重要的,是必須拆除彼此之間的籓籬,和平共存,并保有個別企業與眾不同的特性。打個比方,譬如歐洲聯盟(EU)的幕后原則,就是在促進25國互助合作的同時,也能保留各自的多元化和自主性。
從這個觀點來看,SOA的意義何在,為什么成為不可或缺的要素?簡單說,SOA的概念就是把共通的商業流程置于一座中央貯存所,以供使用和重復使用,而且使用環境安全無虞、管理完善。SOA賦予企業一種彈性,可把IT基礎建設中的若干商業流程組件取出來重新運用,以對付時時變化的優先商業需求。不要一而再、再而三地費力解決同樣的問題。SOA不只是重復運用以程序代碼編寫而成的組件(例如Enterprise JavaBeans)而已,還包括重復使用商業流程。因此,現在IT與新商業計劃的關系變得更緊密、更具策略性和成本效益。
Gartner預期,到2008年,超過60%的企業會把SOA當作建立重大應用程序與商業流程時所依循的「指導原則」。話雖如此,有一點也必須明白,即SOA對IT產業而言不是全新的概念,只是一種即將被賦予新生命和新方向的概念。我認為,促成這種發展的原因,是網絡服務(Web services)大受歡迎和逐漸獲得接納。
網絡服務是一種產業標準,界定了SOA貯存所應該是什么模樣?可重復使用的商業流程應該是什么面貌?如何自我描述?通訊又應該以何種方式呈現?一大好處是,不論是如何落實服務,或使用哪一種技術,都不會產生依賴性。再者,一旦服務部署完成、可供重復使用后,連帶也經過測試,結果在預期之中,而且過程有記錄可查,使得發展成本隨之降低。
你手邊不會再有各式各樣某一特定組織或部門專用的組件,而是擁有一套打通部門籓籬的架構,既開放又安全。如此一來,企業便能建構新的應用程序,把商業流程和數據對各部門提供,并且把服務網擴及林林總總的客戶、伙伴和供貨商。這種四通八達的功能,賦予企業凌駕競爭對手的巨大優勢,愈來愈成為企業致勝的關鍵。
這種架構既提供可重復利用性和可延伸性,也提供更好的團隊發展方式,讓后端和前端系統的發展人員以這個貯存所作為共同點,進而分工合作。這兩組人員不再依賴對方,所以一旦功能部署完成,即可向贊助廠商展示,讓計劃符合期待。
諸如安全性這類基礎建設問題,在共同架構的層次統一執行,讓IT人員能回頭專心解決商業所需。最后,可重復利用性和更有效的團隊發展模式之所以重要,是因為能助你成功降低維護成本。
若你有意采用和部署SOA,你需要現成的技術。以下是我的建議。
工具:
網絡服務是界定明確的標準,自有一套描述語言(descriptive languages)。我建議你為開發人員選擇一套支持網絡服務和SOA的生產力工具,也就是能自動產生描述語言并提供一個兼容貯存所的工具。也有開放源碼的工具可選用,但最好選擇參與打造標準的供貨商,而不要選擇令你覺得陌生的。
基礎建設:
確定你的服務器基礎具有可調節性、安全性,可隨商業和技術的不同而調整。大多數企業已選用J2EE基礎層,但若你還未采用,不妨慎重考慮。這是一切商業的基礎,必須能夠隨業務擴張而成長。規模最大也最受信賴的供貨商包括IBM、BEA、甲骨文(Oracle)和惠普(HP)。Gartner的數據顯示,IBM的應用服務器、整合服務器和入口網站服務器在市場上最受歡迎。BEA通常在應用服務器領域表現不錯,但最近市場占有率下滑,和外傳BEA可能成為收購標的,為該公司的長期生存展望蒙上陰影。
甲骨文是穩健的數據庫供貨商,但在應用/IT基礎設備方面倒不是第一品牌。至于惠普,我們通常的看法是,該公司可望急起直追。
使用SOA,讓IT與商業目標更緊密相連、提升顧客的滿意度、加快計劃部署的速度并壓低成本。同時,應用程序不但可供內部員工使用,也可向外延伸,擴及伙伴和顧客。
作者:
Tony Webb是企業商業解決方案顧問公司Prolifics的重要干部,IT資歷超過25年,在高階商業分析、需求發展、細部設計、高階數據庫應用發展、乃至網絡應用程序與重大任務系統架構的建構方面,經驗豐富。 (查看原文)