在未來,到底SOA將扮演一個怎樣的角色?企業千差萬別,IT系統又是各具特色,他們該如何尋找SOA路線圖?實現“SOA就緒”?怎樣讓SOA發揮更大的效益?是什么使得CIO們在SOA面前變得永無寧日?
時下,SOA正成為國際大廠商和CIO們共同的熱點話題。與此同時,各分析機構樂觀預測,SOA將大行其道。但放眼全球,由于缺少更多的成功案例,SOA正逐漸招致CIO懷疑的目光。
在未來,到底SOA將扮演一個怎樣的角色?企業千差萬別,IT系統又是各具特色,他們該如何尋找SOA路線圖?實現“SOA就緒”?怎樣讓SOA發揮更大的效益?是什么使得CIO們在SOA面前變得永無寧日?
我們走近大師——SOA的鼻祖人物Eric Newcomer,聽聽他的聲音。
來自CIO的質疑
2006年,在日本舉行的年會上,Gartner公司樂觀預測,SOA即將成為應用主流,到2007年,會有超過50%的企業采用SOA體系,到 2010年該比例將會達到80%。但這一樂觀預測遭到來自用戶的廣泛質疑,尤其是在中國,用戶對于國際廠商的大玩SOA概念心存疑慮。這到底是為什么?
記者:關于SOA的討論已經很多,眾多廠商也在各種場合不遺余力地宣講SOA,但到目前為止似乎鮮有成功案例,并沒有大面積推廣起來。甚至有人告誡用戶:“如果一個廠商拼命地游說‘我們已經實施了大量的SOA成功案例’,那你就該小心這個供應商的用心了。”持這一觀點的不乏SOA標準組織里的頂級專家,在您看來,其中的原因是什么?
Eric:許多機構僅憑它們在使用諸如SOAP、WSDL和(或)UDDL等Web服務技術,就認為它們已經采用SOA了,這對用戶是一個誤導。
其實,SOA是一種設計方式,它指導著業務服務在其生命周期(從構思開始,直到停止使用)中創建和使用SOA的方方面面。SOA也是一種定義和提供 IT基礎設施(IT Infrastructure)的方式,它允許不同應用之間交互數據、參與業務流程(Business Processes),無論它們各自背后使用的是何種操系統或采用了何種編程語言。
從技術上而言,目前已經有很多廠商開發出具備SOA形態的產品,如果一個用戶要想從局部實現SOA,比如在企業內部采用SOAP協議實現功能的調用,買一個產品很快就可以實現。但作為一種實現業務和IT高度融合的IT架構方法,“SOA化”是一種很長的過程,一個企業用戶肯定需要更長的時間。以 IONA的客戶為例,他們在SOA上的計劃都是長期的、戰略性的。以SOA的關鍵功能——集成來說,一個企業在長期運營過程中,將不斷面對來自這方面的挑戰,集成問題正成為那些CIO和IT經理們心照不宣的秘密。
其實,在SOA的成功案例方面,由于國外計算機技術發展較早,IT技術在企業業務系統的應用更為普遍;同時對現有系統進行SOA改造,以實現更靈活的IT系統,更好地支撐業務發展的愿望也更加迫切。瑞士信貸集團是IONA的客戶之一,也是全球最早成功實施SOA的客戶之一。到目前為止,瑞士信貸集團已經取得了令人矚目的收益。它的生產環境中有1500多個服務,日處理量達到500萬筆。由于采用了SOA的技術架構,使系統的總開發和集成成本下降了73%,同時實現了70%的服務重用。SOA是大趨勢,我相信這方面的成功案例會越來越多。
記者:那到底是什么在影響SOA的進程?
從用戶角度來看,有很多因素會影響企業接受SOA,其中的主要因素包括:
首先,企業必須投入足夠的精力和人員進行技術和業務流程的培訓,才能確保所開發的服務是可重用的。任何技術,無論看上去多么有前途,都有被誤用的可能。任何服務的開發,不能只顧及眼前利益,也要(或許是更重要的)考慮長期利益。換句話說,各個服務的單獨存在并無太大價值,除非這些服務能與其他服務一起被使用,并能根據業務的變化,快速組合成各種新的應用。
其次是如何更好地處理現有應用與新架構的關系。某些原有的應用需要加以調整或者借用另外的程序后才能融入SOA,應由業務分析師來定義業務流程,由系統架構師來將流程變為規約和規則,再由軟件工程師來開發新的代碼,而項目經理要跟蹤整個過程,這是一項復雜的工作和過程。
第三是長、短期成本的管理。構建一個全面SOA的成本并不低,對現有系統進行再工程(Reengineering)的耗費是巨大的,并且回報期也比較長。
SOA與技術無關
在SOA的擁躉中,不乏很多的中間件廠商,甚至包含著EAI(Enterprise Application Integration,企業應用集成)廠商,他們都打著集成的口號進軍SOA。面對不同的編程語言、技術架構、技術標準和供應商,用戶會問,SOA的實現是否與具體的技術有關?
記者:我們知道,IONA是包括W3C、OMG、OASISI在內的很多SOA標準組織的成員。目前,倡導SOA的供應商很多,每家都宣稱推出了SOA的產品和架構,都提出要引導SOA潮流,這是不是會給您參與制定SOA的標準帶來一些困難?
Eric:有些人可能會感到驚奇,但面向服務的架構(SOA)確實已經存在20多年了!因為SOA是基于一種設計理念及一系列設計原則的,而這些都是與技術無關——盡管SOA已經應用了這么多年,并遵守著一些公共原則。
在過去20多年里,可用于實現SOA的技術是多種多樣的,它們包括:分布式對象──CORBA、J2EE、COM/DCOM;面向消息的中間件 ──WebSphere MQ、Tibco Rendezvous;事務處理監控器──CICS、IMS、Encinia、Tuxedo;B2B平臺──ebXML、RosettaNet。
在這些技術中,有的適于構建SOA,有的則不然。一個技術,如果具有越多“與Web服務平臺相當”的能力,它就越適于構建SOA。
對于任何用戶而言,他們都希望能有一個統一的標準,以提高“技術的經濟性”,這就是標準的價值所在,在SOA領域也是一樣。一直以來,我都代表 IONA公司在SOA相關標準化組織里做相應的工作。最近,我代表IONA參加了一些標準方面的基礎項目研究,IONA對這些基礎項目的研究產生了積極而顯著的影響。SOA其中的一個標準就是用編程工具來實現這一個技術,從而變成一種獨立于廠商、獨立于產品的SOA工具。對用戶來說,這樣實現SOA就會更為簡便:比如,包括CA、IBM、BEA 在內其他公司也可以用,但是同時又保持獨立。但在SOA發展的早期,很多實力雄厚的大公司都希望其中的SOA采用自己的標準,可是這樣其他廠商就沒有辦法用這個工具。我代表標準組織成員之一IONA投了反對票,因為我們堅信,只有中立的技術,才能使最終用戶和IT廠家受益;同時,技術中立也是IONA自始至終堅守的信念。
記者:SOA一個重要的功能是集成,以實現企業的信息系統的整合。一直以來,業界都存在著兩個相互對立的觀點:有人認為SOA將代替傳統的EAI,而有人認為SOA概念的成熟將進一步推動EAI廠商的發展,您如何看待這兩種對立的觀點?
Eric:在我看來,SOA是革命性的技術進步,從某種意義上講,SOA可以被看作是EAI的一種延續,但不是簡單的延續。EAI與SOA同樣解決企業集成的問題,但SOA解決的問題遠比EAI解決的IT問題多得多、復雜得多,因此產生的影響要深遠得多。
在企業IT系統中,有一部分集成問題是可以通過EAI來解決的。但是,EAI解決集成的問題往往是在事后,企業碰到了集成問題,才去想辦法通過 EAI來解決。與之相反的是,SOA架構解決企業集成的問題是事先的,也就是說,企業在一開始搭建SOA這一IT架構的時候,就已經考慮了集成的問題。這是SOA區別于EAI的一個重大不同。
另外,EAI解決集成問題時,可能會帶來更多其他集成問題,最終會帶來一個更加復雜的IT架構。SOA解決這些集成問題時,是將現有的系統以統一的標準接口進行一次重新的梳理,不會再帶來新的集成問題。它承認并尊重企業現有的IT架構,不會再引進不能兼容的新的IT架構。SOA會使得企業業務層面更加靈活,企業可以根據現有的企業IT系統的各種服務,組建新的流程,這就是SOA最大的特點之一。
記者:那IONA和這些中間件公司又有什么不同呢?
Eric:其實,IONA的第一代CORBA產品Orbix就是最早的實現分布式SOA架構的基礎架構解決方案,正是這種分布式SOA基礎架構解決方案幫助IONA成為這一領域的領導者。在過去幾年里,IONA幫助包括德國郵政、美國獨立電信公司CLEC、美國證券、荷蘭銀行、渣打銀行、蒙特利爾銀行、富士通等在內的航空、金融、制造業、零售業和電信行業領域的多家世界500強企業成功實現了SOA。通過SOA/CORBA解決方案的應用,這些客戶都得到非常高的投資回報。
IONA的第二代SOA產品就是Artix ESB基礎架構解決方案。如何靈活、平滑地構建SOA系統是目前一個具有代表性的IT系統的技術難題。通常用戶使用的IT系統由多家供應商提供,編程語言一般要采用java、.NET、C++等,服務器端會采用java、.NET、C++、CORBA等,中間件還會包括BEA的Tuxedo、IBM的WebSphere,甚至還要在大型機上安裝包括SAP、Oracle在內的套裝軟件解決方案。這樣復雜的IT系統分布在企業IT系統的不同角落。對用戶來說,他們迫切需要用最好的方法,把這些不同的應用、技術、端點進行集成,從而為企業的業務提供最高效的支持。輕量級、分布式SOA架構方式是IONA區別于其他傳統中間件公司的最顯著特征,IONA公司SOA的這種理念也獲得了Gartner的高度認同。
同時,技術中立和對其他中間件廠商技術良好的支持也是IONA解決方案的顯著特點。一套成功的企業級SOA解決方案要求各個不同的應用程序都能夠以安全、可靠、易操作的方式相互集成,而不論他們的底層操作平臺存在多大的不同。IONA的Artix恰恰可以做到這一點。
SOA方法論與路線圖
在很多技術問題之外,SOA的成功實施需要一個企業或組織做大量的工作,也就是說,SOA的實施是一個永續的過程。應該說,每個企業的業務和IT系統都是不同的,是否存在SOA就緒的方法論和路線圖?
記者:面對SOA,很多用戶卻不知道如何下手,應該采用什么樣的方法?IONA是否從歷史案例中總結出經驗?
Eric:從用戶方面來看,“自上而下”和“自下而上”的方法均可以使用。第一種方法是自頂層向下,從業務邏輯開始;另外一種方式就是從底層開始,直接去做代碼的編寫,然后再考慮如何在上層支持業務邏輯,最后再將其構建成為完善的SOA??偨Y起來,就是9個字, “思于博,始于細,成其大”,這也是IOAN的企業理念。首先要根據企業的業務需要,通盤考慮需要的SOA架構,用中國的一個成語,叫“胸有成竹”;其次是從一個局部做起,以漸進的方式向SOA架構演進,避免大而全的SOA實施,這樣可以最大程度地規避項目風險,降低初期投入;再次就是在局部成功實施 SOA的基礎上,構建完整的SOA架構系統。
作為全球分步式SOA的領導者,在IONA公司的SOA成功案例中,大多通過分布式的、基于標準的途徑實現。其中最主要的特點就是用戶可以漸進式地采用SOA。用戶根據應用系統的發展情況確定要使用規模,從非常小的局部開始,最后再擴展到整個系統的應用中,不斷向大規模SOA演進,獲得很大的靈活性。這樣做的目的很明顯,就是要降低客戶初期的以及大規模實現SOA時的成本,IONA不需要企業用戶再去購買服務器。具有諷刺意味的是,現在100%的SOA解決方案提供商都希望用戶采購他們的應用服務器,然后在這些應用服務器之上去構建用戶的SOA體系,用戶的成本就大大提高了。
其次是使用國際標準,體現可兼容性,體現技術上的中立。可以說,用戶業務是隨時變化的。因此基于開放標準的解決方案對他們來說至關重要,這樣可以廣泛兼容現有系統,并為快速響應未來的業務變化打下堅實的基礎。
記者:企業在實現SOA過程中,應如何發揮SOA最大功效?
Eric:應用程序供應商也逐漸采用SOA體系,如Oracle、SAP、i2等企業,這將會使SOA體系得到更為廣泛的采用。需要指出的是,雖然SOA的一個核心思想是實現程序和服務的重復利用,重復利用帶來的利益可在所有應用程序中實現,但并不是說,SOA體系能夠在每個項目中都取得顯著成果和效益。
一個企業要想最大化地發揮SOA的功效,需要在以下幾個方面進行深入思考并做好準備,從而實現“SOA就緒”。
1.可能需要建立新的成本/利益模型。
2.利用新的團隊建立業務框架模型。這個團隊對業務進行整體規劃和設計(包括BPR在內),打破單個業務使用獨立IT系統的模式,特別是那些可以重復使用的,并判斷哪些流程適合這一模式。
3.要求應用開發商不斷提高技能并提供服務。要求應用程序開發商使用多種新的技術開發重用軟件、不斷提高服務能力正成為用戶一項重要的技能。
4.建立區別于傳統的技術支持中心。
我們可以把SOA看作是工廠里的產品裝配線。它是一筆對將來業務運營的投入,所以在這筆投入發揮效益之前,需要做相關的計劃、設計和開發工作。正如生產線上制造的第一輛車的花費要比第一千輛高出很多一樣,用SOA部署的第一個服務所需的花費要比部署第一百個多出很多。SOA的主要優勢是逐漸體現出來的,不能一蹴而就。
記者:這么說來,SOA對一個企業來說將是一個長期的過程,是什么原因促成SOA過程的長期化呢?
Eric:有幾個常見的導致業務集成的驅動力使得企業需要在SOA上長期不斷投入:
兼并與收購:兼并和收購活動常常使得一個企業的CIO解決“有多個IT系統處理相似事務”的問題以體現兼并和收購的商業價值。
內部重組:盡管企業內部重組所產生的影響不如兼并和收購那樣巨大,但也可以造成許多相似的問題,而且出現的頻率更高。
應用和系統整合:如果相似的事務可以被多個IT系統處理,這就需要通過合并或者替換,以節省資金,減少人數,讓業務操作運營更加流暢。比如一家電信公司有多個不同的計費系統,那合并和簡化將是明智之舉。
不一致、重復和零散的數據的共享:有時候,很多重要的業務數據分布在多個不同系統上。用戶必須對它們加以合并和過濾才能有助于決策。比如,銷售部門的領導希望員工和客戶看到的都是同一個視圖界面。
新業務戰略:一個持續創新的公司經常要根據變化的業務環境貫徹新的業務戰略,這就要求原來的各個IT系統能夠以嶄新的方式一同工作。最終,同行業的其他公司也必須做出同樣或類似的改變才能保持競爭力,比如電信行業中的運營商和SP的關系、實時精準制造等。
遵守政府條例:為了遵守新的政府條例,企業可能需要重新定義業務流程以保護消費者或符合新的信息披露要求,比如本地電話攜號轉網和企業遵守薩班斯法案等。
保持業務流程流暢:在過去的業務流程中,數據常常需要通過手工錄入到不同的系統當中;如今,很多系統都被新的支持“無需人工干預就可以進行多系統間事務處理”的系統所代替。比如,一家公司以前通過傳真接收定單,然后手工將定單信息錄入到定單管理系統和制造控制系統中;而現在,該公司功過網站接收定單,定單信息被自動錄入到定單管理系統和制造控制系統當中。
SOA治理(SOA Governance)的目的是讓軟件治理與業務治理相互配合,包括協調各領域之間的軟件開發、軟件獲取及軟件、重用。以取得最大程度的機動性和規模經濟性與范圍經濟性。SOA治理認為服務是整個生命周期都需要管理的企業資產。
Eric Newcomer簡介
Eric Newcomer是IONA科技公司的首席技術官(CTO), 主要負責指導并協調完成公司技術藍圖以及與標準采用、體系架構、產品設計相關的產品戰略規劃。Eric有26年的計算機從業經驗,其中有15年是在 DEC/Compaq公司度過的。在DEC/Compaq公司工作期間,他擔任了各類公司層技術與管理職位。
Eric Newcomer是制定SOAP1.2標準的全球廣域網協會(W3C)XML協議工作組的創始成員,參與編寫了W3C Web服務架構規范,編寫了Web服務符合應用程序框架(WS-CAF)系列規范,并擔任OASIS組織中的WS-CAF技術委員會聯合主席、OASIS 組織和WS-I組織的首席代表。并與Phil Bernstein合作出版了《Principles of Transaction Processing》(1997), 出版《 Understanding Web Services 》(2002), 與Greg Lomow共同編寫 《Understanding SOA with Web Services》(2004)。
Author: orangelizq
email: orangelizq@163.com
|
|