天天看點

SOA漸行漸近-怎樣給IT系統一個新視角?

SOA,對于很多使用者而言,可能還不是一個非常熟悉的概念。但在專家和廠商的眼中,它卻是傳統企業管理軟體體系架構的“終結者”。有人大膽預測:未來3年内,SOA将被90%以上的大型企業、70%的中型企業,甚至是小型企業所接受,其商機無可限量。

   而從今年初開始,這種面向服務的系統平台架構在經過多年的醞釀期後,已經從概念化的狀态走向實踐,開始在中國的企業級市場中生根、發芽。SOA這個曾經陌生的概念,距離國内的行業使用者已是漸行漸近。

SOA:資訊的流水線

   究竟什麼是SOA?它的應用能夠對企業起到何種幫助?

   打一個比方,當産品需要大批量生産時,在工業制造流程當中就出現了自動化的改造過程,出現了生産線,出現了流水線,因為很多産品的大小、規格、尺寸都是一樣的,隻要把具有重複性的零件做一下組裝,就可以形成最後的産品。這樣,極大地降低了成品的價格。SOA概念的出現,就是要滿足當今對企業管理者、技術開發者工作的“自動化改造”的需求。

   在SOA當中,企業的管理者首先要了解他們想要什麼東西,知道在工作當中哪些部分是可以重複利用的。SOA要建設的就是資訊的流水線,或者說是資訊流水組裝線,讓各種各樣的資訊和資料得到重複的利用和有效的組合,就像生産流水線一樣,隻是這次SOA要降低的不是産成品的成本,而是企業管理費用支出的成本。

   對于一家生産型的企業來說,要想獲得高效率、要想有非常好的财務狀況,必須擁有先進的生産流水線,才能夠實作這些目标。相對應的,企業應用SOA系統平台架構環境,則可以對企業的資訊管理實行自動化,進而有效地降低他們的管理成本,獲得更好的财務狀況。

   事實上,作為業界第一個考慮了企業業務發展長期性的IT架構,SOA從本質上說是一組松耦合的服務,每一個服務的建立和替換都是相對便宜的。這裡的“服務”就是實際業務流程中的一項任務。SOA與其他IT架構的最大差別就在于它與業務的關聯性,它以服務為基本單元來組織IT資源,其中的每一項服務都可以完成實際業務流程中的一項任務。

   例如,企業可以在自己的SOA架構中将一項服務定義為“應繳稅款”,它可能包含計算收入、查找相應稅率、計算應繳稅款等一系列操作。如此一來,服務立刻與業務發生了密切的關系,業務人員可以參與服務的建立并用它們定義新的業務流程。

   “就像兒童非常喜愛的‘樂高’積木一樣,在SOA中,一個個服務元件都變成了标準的‘建材’,可按照需要創造出各式各樣的組合。然而,并非所有的元件都必須重新鑄模成積木。我們可以用一層樂高般的凹凸圓柱體表皮包在過去使用的‘磚塊’和‘瓦片’外,讓它們能和其他的樂高連接配接,最後搭成你要的組合。”對于SOA的功能實作原理,SAP全球執行董事兼産品與技術事業部總裁夏嘉曦如是說。“說白了,SOA就是要形成一個連接配接的方式,通過調用SOA的連接配接就可以完成你需要的一些應用。比如發手機短信,就是提供一種标準的服務,隻調用一個構件就可以了。”

   當然,SOA也不僅僅是一種開發的方法論,它更為重要的意義在于管理。例如,應用SOA後,管理者可以友善地管理這些搭建在服務平台上的企業應用,而不是管理單一的應用子產品。其原理是分析服務之間的互相調用,使公司管理人員友善地擷取何時、什麼原因、哪些商業邏輯被執行的資料資訊,這樣就幫助了企業管理人員、CIO,以及應用架構師逐漸地優化他們的企業業務流程和應用系統。

   企業資訊化建設是延續性的,需要在保護投資的基礎上建立新系統,快速響應業務需求。對已經擁有多個業務應用系統的金融企業來說,實施SOA可以充分保留過去的IT投資,通過建立一個能夠屏蔽底層系統複雜性的基礎架構,為IT資産的自由流動建構一個基礎平台。然後,将原有系統中的各個業務功能封裝成服務,并根據業務的需求進行重新組合,最終複合成新的業務系統,進而快速滿足新的業務需求。

   “通過采用SOA平台架構,重複利用企業的現有資源,包括開發員工,技術,軟體,硬體,語言,平台,資料庫和系統,将能夠提高業務和服務的創新能力。”BEA公司進階副總裁、首席市場官Marge Breya對于SOA的應用前景充滿了信心。根據BEA公司的市場研究報告,适當使用SOA 能減少成本,增益資源使用率達40%,同時可減輕達近十倍的維護工作量,減少潛在風險、管理和監視費用。更重要的一點是,SOA可以幫助企業擁有必要的靈活性,重建一個有“客戶響應能力”的企業,以面對日益快速變化的環境。

實施中的四個關鍵

   根據IDC的最新調查顯示,SOA目前在國外的發展勢頭越來越猛:在接受調查的企業中,表示将把SOA作為今後12個月内的關鍵或重要項目的調查對象比例增加到了52%,比2005年5月進行的同一調查中所得到的資料提高了10%;79%的調查對象表示,SOA将是未來五年的關鍵或重要項目,這個資料比九個月前進行的調查增加了18%;部署企業級SOA的使用者在過去九個月中從8%增加至16%,增長了1倍;已建立企業SOA架構的公司數量也從九個月前的68%增加到現在的83%。

   SOA之是以在國際市場中廣受使用者的追捧,是因為SOA的靈活性和“與業務相關”性,正是SOA的這兩個特性,使SOA成為了彌補企業業務發展需求與企業IT支援能力之間鴻溝的最佳途徑,将企業當機、閑置的IT資産轉變為企業流動資産,幫助企業全面提高業務的有效性、适應性和快速響應能力的最好途徑和方法。

   而要像達成SOA的靈活性和“與業務相關”性,實施也将會是一個曠日持久的過程,而且在這個過程中,需要對業務進行面向服務的包裝,甚至需要對現在的業務流程、資料進行面向服務的重新梳理。企業在實施SOA時,可能遇到的挑戰是多方面的,對于SOA應用,企業也需要掌握四個最為關鍵的原則:全局規劃;計算企業需求;慎選産品和方案;邊破邊立、小步快跑。

◆要做全局規劃

   SOA的實施,有很多技術因素在其中,對于使用者而言,既需要選擇适當的工具,還需要有專業的技術人才。作為使用者,實施SOA,首先要對企業自身的系統做全面的評估,要了解自己已有的系統能用多少、有多少需要改造、還需要上哪些新的系統、自己将來的系統該如何滿足自己的需求、為這個新的系統需要投入的資本大概有多少等。總之,要有整體的規劃,這也是實施SOA最為基礎的一步。其次,要選擇适合的工具和技術。上什麼系統,建什麼平台,先改造哪個系統,需要一步一步來,而在這個過程中,所選擇的産品,也必然有所不同,一定要做到心中有數。最後,就是開發的過程了,開發對于大多數的使用者來說,也是一個邊學習、邊實踐的過程。

◆計算需求

   在開始實施SOA之前,要對企業的系統做出全面的評估。評估SOA項目的方式與評估傳統的企業管理軟體項目的有所不同,SOA可以通過各種應用形式表現自己的優勢。SOA通過共享服務來優化業務流程,其創造價值的機會遠遠超過了傳統的軟體項目。

   SOA具體實施的進度和資金投入一方面取決于企業對IT應用的沉澱,一方面取決于實行SOA的目标層次。為幫助企業了解自身的這些狀況,很多緻力于SOA的軟體廠商都提供了專業的“SOA評估工具”--這是一個基于Web的線上工具,它可以幫助企業的CIO規劃SOA的應用元件、進行基準測試,以确定如何最為有效地将企業的業務向SOA架構上遷移。

◆慎選産品和方案

   如同選擇企業管理軟體一樣,使用者在選擇SOA産品和技術時,應該從平台的選擇、實施方法與途徑、供應商的選擇三個方面進行考量。在選擇軟體平台時,使用者首先要考慮的是平台的開放性和對标準的支援。

   在實施SOA時,CIO可以綜合業務戰略和流程、基礎架構、構模組化塊、項目和應用、成本和效益以及規劃和管理等,這六方面因素權衡考慮。SOA的實施涉及到整個企業的IT系統以及業務流程的調整和改變,離不開相應的咨詢和專業服務。是以,在選擇供應商時,首先要看它的産品是否符合企業的實際需求、是否已經有很多成功的應用案例、現有客戶對它的評價如何;其次,還要仔細考察供應商的專業服務能力,是否能夠幫助使用者分析企業IT現狀,提出建設性的意見。

◆邊破邊立、小步快跑

   一個企業部署SOA平台,就如同一個城市做城市規劃,在這個規劃、建設的過程中,總有不合理的街道需要改建、需要包裝,總有老舊的住宅區需要拆遷、需要推倒重修,也總有新的建築不斷地建起來,這樣才更符合一個城市前進的步伐。企業做SOA也一樣,太過落後的系統需要推倒重來;還能繼續應用的系統,則需要包裝、改進;而一些新的系統則需要重新做規劃。

   同時,在SOA的平台搭建完成之後,也更容易實施規劃新的系統。而且,即使是在SOA平台之上搭建的系統,在企業的不斷應用實踐中,系統也可能會出現很多的不合理,需要做重新調整。

   “暢想一天之内完成SOA的實施,或者今天做了決定,明天就希望系統成功運作,都是不可能的,目前很多使用者都有激進的想法,這是不現實的。SOA的靈魂所在,就是它允許使用者搭建一個松藕合的平台,這也是SOA能夠吸引使用者的關鍵所在。”在夏嘉曦看來,SOA不會是一蹴而就的,SOA的規劃、實施、服務是一個整體過程。

建構SOA路線

   在開始任何一段旅程之前都應該制訂一個目标,企業決定實作SOA時也不例外。前方等待的是什麼,以及如何到達目的地都是未知的。要取得成功,企業必須評估自己的長處與缺點,确定明确的方向,選擇一條路線,然後在沿此路線前行的過程中不斷重新評估此路線。簡而言之,企業必須為這條旅程建立一份獨有的路線圖。

   面向服務的架構是一種IT政策,它将企業應用程式中包含的分散功能組織為可互操作的基于标準的服務,這些服務可按照業務需求快速組合和重用。隻有平衡了企業的長期目标與短期需求,SOA的益處才會顯現出來。通過在開始采用SOA時就指定一組組織、資金、操作、設計和傳遞準則,就可保持這一平衡。但“大爆炸”式的方法是不可取的,應按照循序漸進的學習曲線,選擇一種往複漸進的方式來部署架構更改,這非常重要。大體而言,SOA路線圖就提供了這樣一種往複漸進的方式,使企業随着進展,得出或重新得出企業所需的獨有規劃。

   一家企業成功的SOA路線圖應包含3個關鍵特征:

   1.成熟:SOA路線圖應該是不斷融入經驗和教訓的“活動文檔”。SOA路線圖成熟時,您的SOA行動也就以一種可控的方式達到了一個更為精妙的級别。SOA路線圖的建立應該從評估企業目前在SOA方面的能力和要求開始。此過程可使用 BEA的線上自我評估工具 作為起點。

   2.作用域:完整的SOA路線圖應包含6個域。這6個域之間有明确的界限,但是仍互相關聯、互相依賴。各個域的執行情況是企業級SOA行動成功的基石。SOA路線圖應清晰地定義SOA行動的邊界,并确定一個實作SOA目标的明晰、靈活的時限。這些目标應該被分散到多個易于管理的階段中,随後便可以以一種往複漸進的方式實作。(關于SOA的作用域,參見連結:SOA的域模型)

   3.品質:通過在各裡程碑處使用一個“學習與調整”的過程,同時采用往複漸進的方式,您的路線圖将在整個SOA行動中保持相關性。為確定SOA路線圖的品質,應在所有涉衆之間進行溝通及确認,并向各方征求回報意見。

   當企業真正開始建構自己的SOA線路時,企業通常需要經曆四個步驟階段:SOA規劃、SOA成熟度評估、SOA前景展望和SOA路線圖定義。

   第一部,SOA規劃。這一階段組織并定義SOA行動。涉衆通過通信和簡報等方式參與此過程,并設定一緻通過的優先級和參數。由于此階段牽涉到整個企業的員工,是以清晰、充分的溝通非常重要。在此階段中,要完成的任務包括:定義SOA的作用域;确定與其他IT行動的邊界并建立合作;适當地展示SOA的業務論證;展示現有業務行動與未來業務行動的銜接關系。

   第二步,SOA成熟度評估。在SOA成熟度評估階段,要為目前所處狀态建立一個度量标準。此時将定義目前已經實作、可作為SOA起點的服務和功能,并确定出可作為基礎項目的項目。團隊應通過一系列通路調查和問卷調查檢視各域--分析、制定基準并驗證各域的現狀。

   第三步,SOA前景展望。在這一階段中,團隊通過專題研讨會來确定并定義要求的“預期”狀态,并確定舉辦整個企業範圍内的聯合讨論。

   第四步,SOA路線圖定義。從這一階段起,着手定義SOA路線圖。應該根據前三個階段所收集的資訊,對企業的SOA目标和适當的時限進行徹底的差距分析。近期事件要詳細,而較遠的事件要靈活--以便在前進中融入所得到的經驗教訓。

初嘗SOA的滋味

   雖然對于多數企業使用者而言,實施SOA仍顯得是一件遙不可及的事情,但實際上,SOA在國内的應用已經進入了生根、發芽的階段。浙江嘉興電力局SOA基礎平台的成功實施就是一個典型的執行個體。

   浙江嘉興電力局(以下簡稱嘉興局)是浙江省電力公司下屬的一家國有供電企業,負責整個嘉興地區的電網建設和供用電業務,為社會提供輸電、變電、配電工程的咨詢、設計、施工、安裝、電氣裝置的成套供應等業務。

   近年來,盡管經過兩次資訊化改造工程,但在實際營運過程中,嘉興局還是遇到了很多難以解決的問題:在人力資源管理上有很多與國外企業不相同的地方,如果完全采用國外的人力資源管理子產品進行管理,從現階段來看并不現實;嘉興局還與其它一些提供底層、基于實際生産資訊化服務的供應商一起,開發了一些貼近生産流程的應用工具,但是這些紛雜的資訊子產品難以在一個整合資訊系統中有效營運,等等。

   于是,嘉興局決定邁出資訊化的第三步--實施SOA基礎架構平台。嘉興局通過實施SOA平台來進一步優化已有系統和其它資訊系統,并對人力資源管理子產品進一步完善,使之能完全覆寫員工工資核算,績效考核,名額評價,業績評估等五個關鍵管理要素。

   從嘉興局SOA基礎平台結構示意圖中可以看出,嘉興局的SOA平台不僅提供了一個可以對人力資源進行有效管理的企業級使用者界面,幫助嘉興局将複雜人力資源管理工作變得簡便有效,在功能上還引入了績效考核機制。嘉興局各種複雜的資訊化資訊通過SOA平台中強大的XI(內建代理)進行了內建,使之能夠成為一個有機整體,并發揮出強大效力。

   這樣就杜絕了有些資訊化工程中因為實際營運流程與資訊化子產品中的流程難以彌合而造成的“線上跑一套,線下跑一套”的情形,将營運流程完全的置入系統中,進而實作“借助資訊化,建立現代、高效的企業制度”這一戰略目标。

   此外,嘉興局還借助SOA平台,引入了BW(資料倉庫),以達到進一步拓展企業資訊系統的商務智能應用的目的:一方面,嘉興局希望通過BW子產品所提供的各種友善、即時生成各種動态分析報表的功能,使決策層面能夠實時的得到各類實際生産經營資訊,使資訊化系統對決策和合理營運做出更大貢獻;另一方面,BW子產品強大的資料分析功能也将能幫助嘉興局,徹底解決由于國内電力企業的主管部門繁多,而造成的“報表多”、“格式多”的問題--制作報表的時候,嘉興局隻需要在系統中,按照上級部門所要的關鍵資料項進行查詢,生成的結果自然就是一份合格的報表。

   對此,嘉興局的資訊化負責人王國棟評價到,“如果說第一期的資訊化建設是将嘉興局的财務管理中心改造成了企業決策的資料統計中心,第二期的改造是将嘉興局的生産項目和生産管理流程标準化的話,那麼第三期的資訊化改造則是全面觸及了嘉興局的實際營運層面。

SOA并非萬能藥

   SOA從誕生之初,就是為了幫助企業實作更多的資訊資産重用,更加友善地管理和更快地開發與部署這些資産。而在國内市場環境中,随着像嘉興電力局這樣,越來越多的國内客戶開始切身體驗到了SOA。但與此同時,如同當初ERP、CRM剛剛開始在國内普及應用時一樣,在許多即将應用到SOA的企業中,存在着一些認識上的誤區。這些誤區主要表現在三個方面:

   首先,有些人會認為SOA是萬能的,可以應用于所有的場合。其實情況并非如此,SOA并不能代替已經在公司内部存在的那些良好內建的應用系統。然而,通過合理的部署,SOA系統可以改善原有的IT系統效率,使得原有的那些應用系統更具有柔性。通常情況下,複雜的IT構架對SOA的需求更加迫切,并且SOA需要與外部複雜的IT環境互動,并快速的應對頻繁發生的業務變化。

   其次,另一些人認為建構了SOA架構,就不再需要應用整合技術。其實,SOA并非一蹴而就。雖然SOA使系統整合更容易,但是企業仍然需要核心的整合技術,例如轉換、挖掘、流程整合、擴充卡等等,使它們成為架構和規劃中的組成部分。企業應用SOA,先要對需求進行一次全面的評估--這不僅僅局限于IT,而是面向整個企業業務運作。是以,這也就決定了全面實作SOA将會是一個漫長的過程。

   此外,還有一種觀點認為建構了SOA,就不需要IT人員的參與,業務人員照樣完全可以把服務連接配接成新的業務流程。這種想法沒有考慮服務的實作仍得由人編寫實施服務的軟體,以及系統仍需要有經驗的IT專業人員把業務工作流轉換成顧及企業級性能、安全、資源使用和可靠性的具體實施方案。

   其實這種誤區的産生是由于對SOA 的三個應用層面了解的偏差所緻。例如,系統的開發人員通常會對如何建立SOA 應用感興趣,是以他們關注的趨向更多是SOA中的應用程式的體系架構方面。而提供Web 服務管理工具的廠商一般認為 SOA 主要是關于基礎元件體系結構的,同樣的,使用者群體會認為 SOA 是用于企業業務應用結構的。

   事實上,對于國内的企業使用者而言,接受SOA,難的并不是技術,而是SOA理念的灌輸,以及對企業文化的重新改造。SOA與傳統的應用體系結構不同,SOA更多地是針對變化而設計的,基于SOA的系統具備更大的彈性,而且能夠實時地根據企業的變化,調整自己的結構,以滿足企業變化的需求。SOA的一個中心思想就是讓企業應用能夠徹底擺脫面向技術的解決方案的束縛,以輕松應對企業商業服務變化、發展的需要。

給IT系統一個新視角

   從企業使用者的角度看,SOA 有助于企業實作資産重用、靈活的管理和更快的開發與部署。在當今的業務環境中,變化無時無刻不在,快速響應客戶需求、市場機遇和外部威脅的靈活性比以往任何時候都更顯重要。

   當然,也會有很多人認為SOA隻是大型企業才會用到的一種架構和方法。其實,SOA不隻是大企業獨享的,中型企業,甚至小企業同樣也能擁有。因為中小企業也是生态中的一部分,是以他們并不需要整合自己,而是要把自己建立在一個開放的平台上,以幫助自己能參與到大的生态商業系統中。

   綜上所述,企業建構SOA,其實最需要的是企業改變以往對待IT系統的觀念,從新的角度來看待IT系統與業務運作、企業管理之間的關聯性。SOA不僅是技術問題,更是企業戰略和業務方面的問題。

   企業要将不同的系統、不同的應用統一到一個大的架構之内,企業基礎平台的選擇就顯得尤為關鍵,平台選擇的好,企業可以很友善的實作應用系統的內建,達到事半功倍的效果。企業在選擇基礎平台時,一定要關注平台所支援的标準以及所擁有的功能。

   是以,盡管SOA直至今日,也隻是剛剛來到我們面前,同時,它也不适合解決所有的問題,而且SOA真正在國内大規模應用普及還需要克服衆多障礙。但是,我們相信随着SOA的應用得到了正确的認識,SOA成為軟體業的下一個大趨勢已是不争的事實,而且正在步入發展的新階段。

   連結:SOA系統的域模型

企業實施SOA的根本目标是通過把企業應用系統中的分散功能整合成可操作的、基于标準的服務,使其能被重新組合和重用,進而快速滿足業務需求的變化,實作企業IT對業務提供最佳支援的終極目标。從這個意義上說,SOA是一種需要改變IT提供方式的長期戰略,它不僅涉及到IT系統的構模組化式,同時也涉及業務流程架構和業務的管理運作模式。

   另一方面,SOA又是一種立竿見影的企業IT戰略,它能夠對企業業務的改變做出迅速響應。是以,要使SOA的效果得到充分展現,就必須很好地平衡長期目标和短期業務需求之間的關系。

   利用幫助衆多全球500強企業成功實施SOA的經驗,BEA總結出完整的、經過實踐檢驗的SOA域模型方法論,幫助企業從業務和IT兩個方面來規劃SOA的實施。

   SOA域模型把影響SOA成功實施的挑戰歸納為業務戰略和流程、架構、服務元件、項目和應用、組織和管理幾成本與收益六個域,這六個域雖然各自截然不同,但卻互相關聯、互為依存,您必須同等地看待每個域,才能成功地建立起面向服務的IT架構。

   如果我們仔細分析企業IT建設中面臨的挑戰,我們不難發現,BEA SOA系統實施方法論中的六個域恰好能很好地應對企業IT建設過程中的六方面挑戰。

◆業務戰略和流程

   在這個域中,企業面臨的主要挑戰時如何讓IT最好地支援業務及其需求的變化。應對這一挑戰的最佳途徑就是提供一個适當的環境能夠将IT管理與企業的業務戰略連接配接起來,并使二者能協調一緻,不斷改進業務流程。

◆架構

   今天,絕大多數企業在投資建立企業IT系統時仍然是根據業務的需求按項目規劃實施的,由此帶來的問題是企業IT架構缺乏一緻性,當業務需求發生變化時,企業必須面對企業範圍内IT整合和流程整合的挑戰。SOA是應對這一挑戰的最佳途徑,因為它能提供一個基于标準的、分布式的、松耦合能反映業務流程的IT架構,進而能夠快速響應業務需求的變化。

◆服務元件

   缺少可重用的服務元件是目前企業IT系統建設時面臨的巨大挑戰,它使得很多企業都無法在預算允許的範圍内實作其IT建構目标。通過建立可共用的、基于标準的服務,可以幫助企業盡可能地重用已有資源,實作IT的一緻性和靈活性。

◆項目和應用

   過去,企業IT建設主要是按項目進行的,一旦業務需求發生變化,整個企業IT系統就需要重新改變,很多應用功能也需要重複開發,導緻極大的投資浪費,如果将所有的應用功能以分類的、可重用的、基于标準的服務的形式提供,就能夠随着業務需求的變化快速重組系統,節省投資,加大投資回報。

◆組織和管理

   如果随着企業機構的變化,企業IT也會需要相應的調整,如果為每一個新的需求單獨增添解決方案,就會使企業的IT成本大幅度地上升。解決這一問題的辦法是在企業IT建設之初就充分考慮企業的組織結構,使IT的提供流程标準化,不僅能最大限度地滿足業務的需求,而且還能夠最有效地重用已有的應用功能。

◆成本和收益

   成本和收益是任何企業在投資IT建設之初都必須考慮的事情,也是企業最為關心的問題之一,BEA的SOA系統實施方法論可以幫助更好地規劃和實施企業IT,迅速響應業務需求,使IT投資得到最大的回報。

   充分考慮以上每個域面臨的挑戰,平衡企業的長期戰略與短期業務需求,就能成功地實施SOA并從中獲益。