數年來, SOA一直都是大家所關注的熱點技術。但是,到目前為止,這項“值得關注”的技術仍然處于推廣應用的早期階段。企業該如何部署SOA項目,滿足其業務發展的需求呢?記者于近日專程采訪了BEA系統有限公司首席技術官Rob Levy先生。
將技術融入業務
記者:從許多失敗的SOA案例中可以看到,其中一個重要原因是很多IT工程師僅從技術的角度看待業務問題,SOA的精髓是從業務角度看待IT,BEA如何幫助這些工程師轉變以往的觀念?
Rob Levy:有一些SOA項目失敗,源于很多人把它當作一個純粹的項目對待。BEA認為作為一個成功的SOA實施,必須結合兩方面。一方面,必須以業務的思維從投資回報率(ROI)的觀點考慮這個項目,同時又要根據技術的能力和工具來進行定制。
首先,針對業務人員,BEA能夠提供一種方法幫助人們更好地了解業務。具體而言,我們可以提供一系列工具,讓他們不需要掌握任何技術技能,而以他們自己非常熟悉的業務思維方式思考,例如以思考ROI的方式思考這個項目。所以,我們并不要求、期待業務人員了解明白任何編程、組件的術語,我們以他們了解的語言與他們溝通,我們會與他們談SOA服務協議、ROI和業務流程,我們給他們由這些語言組成的工具,如WorkSpace360°,讓他們從更高的層次理解這個項目。
另一方面,是針對工程師的,我們也不期待工程師能夠完全了解業務方面的語言。既然SOA包括了編程和業務,那么我們就必須把業務邏輯和編程邏輯的應用、執行分開。所以我們會有架構師,由他們負責翻譯業務語言和工程語言。我們會給架構師一些工具,讓他根據業務要求定義組件,再根據組件建立必要的業務的流程,這就意味著工程師能夠開發這些組件而不需要了解具體的業務流程。所以,我們也會為工程師提供編寫描述這些組件的工具,幫助他們利用這些工具把組件放到數據庫,并且在數據庫中發現可以重復使用的原來就存在的組件,所以這些組件的可復用性和可視性都提高了。工程師在做這些工作的時候并不需要擔心這些組件為哪些流程所使用。所以這就是我們的魔力所在。
記者:有些人認為,開發平臺應該作為工程師和業務人員的交互工具,而您剛才在他們之間加了一個架構師,您認為這樣做的意義是什么?
Rob Levy:其實我談了四個角色:工程師、架構師、業務人員、IT人員。之所以加入了架構師和IT部署人員,是因為我們能夠建立了全球參考框架(架構)。其實架構師的工作不是定義具體的編碼,而是建立一個統一的開發視圖,比如選擇開發的環境和部署環境。盡管在WorkSpace360°中,他是為四種角色提供工具的,但是架構師可以跳過開發人員直接到IT人員。比如,我們編寫了一個應用,這個應用可以訪問多少個數據庫以及哪幾個數據庫,這是由架構師決定的。
其實架構師也分為兩種,一種是技術導向的架構師,他主要關心什么樣的開發環境和什么樣的參考架構,另一種是業務導向的,負責以電腦語言將純業務需求定義為統一的業務流程。
循序漸進 靈活部署
記者:2006年Garter的一份報告顯示:2008年將有83%的企業部署SOA,但是今天中國的大部分企業仍在猶豫是否部署SOA,如何打消他們的疑慮?
Rob Levy:首先,SOA不是一個簡單的應用架構,它將帶來一系列其它改變,比如企業組織的調整。事實上,其它國家的企業和中國企業也有同樣的猶豫。這些企業的CIO、CTO不僅僅想獲得SOA作為技術帶來的價值,還想全面捕捉到SOA各方面的精神。
不會有公司突然宣布:“我們公司要進行SOA全部的部署”。事實上,大部分公司在部署SOA時,都是一步一步地進行。很多的CIO、CTO都是先在某些領域進行SOA部署試點,一旦這個測試點成功了,那就會快速地、加速地進行SOA部署。所以,他們之所以猶豫,就有如當你還沒有學會游泳的時候,別說全身投入冷水中,就算是把一只腳伸進冷水你也不愿意,只有當你學會游泳,才會全身心地投入其中,速度才會快起來。
記者:在SOA部署過程中,可視化非常重要。如何才能夠讓企業獲得360度的可視化SOA部署?
Rob Levy:可視化分為幾個層次,最基本的層次是將業務流程和可以重復使用的組件分開。所以首先應該具備這樣的能力——能夠在整個的資料庫中可以看到現有的業務流程、組件以及業務流程與組件以什么方式組合在一起。
第二個層次是對投資回報率的影響。負責SOA項目執行的人員,必須能夠清晰地看到并展示在新的SOA投資以及能夠帶來的非常明顯的效率提高。我們的WorkSpace360°就提供了一系列能夠衡量尺度的工具,比如各組件的可重復使用的級別,編寫了多少編碼,和項目開始到部署到結束的時間周期。
第三個層次是可跟蹤性和
審計,這是從法規遵從角度來說。目前的方式是,整個應用開發出來了然后會進行完整的調試,調整過后再測試,最后才放到生產中。從這個角度來說,必須建立一個治理的框架,管理整個應用的授權、使用的版本和性能。但是現在進入SOA新的世界,每個用戶可能都會改變某個組件或者業務流程,這就要求對整個業務具備跟蹤能力,因為對一個流程的修改的應用可能會影響到其它多個流程。
實時掌控應用過程
記者:有人認為WorkSpace360°是對BEA既往產品的簡單集成,對此您怎么看?WorkSpace360°真正的創新之處在哪?
Rob Levy:WorkSpace360°是為4種角色的工作人員提供工具,其實這些工具早就出現了,問題是我們是否有必要再創建一類工具。這種工具將是統一、協同的工具,能夠幫助不同的工作人員使用同樣的事實、組件、事件并應用于同一工作流程。
為什么BEA要開發WorkSpace360°呢?我們出于兩種考慮:一是為增強可視性,讓人們用同樣的語言了解不同的思維和邏輯,比如業務流程和服務的組件,希望不同角色的人只需要了解與自身工作相關的部分。它的最大的優勢是:它是動態的,一旦業務員人員提出自己的業務需求,就可以很快地被看到。但是目前,只有當根據業務需求開發出來并應用時,才可能最后會接受到一個狀態報告,其它的什么都看不見。而且WorkSpace360°環境中,在項目的提出、開發到應用、部署,整個過程都是參與的和動態的,而且他們還可以做出“如果是這種情況會是什么結果”的“What…if”的推理,他們可以假設修改某部分,然后會帶來什么樣的變化,他們能夠適時看到并掌握這種變化。但是就目前現有狀態,只有當項目開發、應用、部署后,才會看到它的影響,但是如果用WorkSpace360°就能過在過程中適時掌握。
記者:BEA作為SOA的領導性的廠商,而您作為BEA CTO,您的一些構想和策略將會間接影響全球性SOA走向。拋開公司利益,您更希望看到SOA的發展趨勢和走向會是怎樣的?
Rob Levy:其實,我確實希望我的想法能夠間接影響SOA走向,我看到SOA的時候是從編程接口的思維方式考慮的,具體來說,就是面向對象的編程語言。而在15年前,我必須向人們非常具體地解釋為什么要用面向對象的語言編程,而現在用向對象的語言編程已經成為每個人編程的方式了?,F在SOA已經啟動了一個組合型應用,現在我需要解釋為什么要將應用組合起來應用,如果BEA做的是正確的并獲得成功,那在5年后將沒有人會問這個問題,而是每個人都會很自然地使用SOA和開發這種組合型的應用。而且我希望十年后沒有人會談SOA,而是每個人都自然地在做SOA。