盡管2012年的技術關鍵詞還繼續(xù)鎖定在“云計算”、“虛擬化”、“大數(shù)據(jù)”,但回歸到企業(yè)IT架構問題上來看,我們不難發(fā)現(xiàn),這些層出不窮的新技術帶給企業(yè)的,不僅有提升,還帶來了一些困擾:“正因為有了這些變化和挑戰(zhàn),IT建設稍微有一些改變,就會有帶來一點失控的感覺。”普元中間件事業(yè)部副總經(jīng)理、產(chǎn)品研發(fā)部總經(jīng)理王克強指出。
失控的原因其實并不難找,尤其是大型企業(yè),其IT系統(tǒng)建設中經(jīng)常出現(xiàn)大量項目同時建設,技術重復制造的現(xiàn)象。“這是因為IT建設無法采取有序的建設方式。在有序的建設方式方面,軟件工業(yè)本身不會和傳統(tǒng)的制造領域有太大的差距。”王克強指出比如造房子的時候,不管最終成型是什么樣子,最關鍵的是如何搭架構。而互聯(lián)網(wǎng)更強調平臺的概念。那么對于企業(yè)計算來說,我們應該用什么樣的方法來建設平臺?
從最早提出來用軟件構件的方式,到倡導SOA架構,再到如今新的云平臺時代,普元一直堅信,企業(yè)的架構應該基于平臺化的思想,“尤其是通過這幾年的發(fā)展,我們比較有幸在國內基礎軟件、頂級企業(yè)客戶當中獲得好的實踐經(jīng)驗,可以從銀行平臺化的實踐來給其他行業(yè)一些借鑒。”王克強表示。
據(jù)王克強介紹,由于銀行業(yè)務現(xiàn)狀非常強調各種產(chǎn)品(例如國內業(yè)務或國際業(yè)務和衍生業(yè)務領域的產(chǎn)品),所以就會以產(chǎn)品為基礎,著眼于從渠道接入、交互控制、產(chǎn)品核心支撐體系、決策支撐這四個體系層次來建設整個企業(yè)應用軟件的體系。由于銀行業(yè)務多樣性,其IT架構與建設經(jīng)驗完全可以讓其他行業(yè)借鑒。
領先銀行的IT建設經(jīng)之一:以平臺為基礎,自主把控IT架構
國內銀行通過近25年的自主研發(fā)磨合經(jīng)驗,首先在IT組織結構上非常強調建立所謂“一部三中心”,即科技部(相當于技術規(guī)劃管理部門),開發(fā)中心(用于純粹開發(fā)軟件),運維中心以及數(shù)據(jù)中心,“這‘一部三中心’是四個平行的部門,在內部會形成一個很好的平衡和互動模式,對于企業(yè)發(fā)展會有很大幫助。”王克強介紹道,國內大型國有商業(yè)基本都采用類似的架構建立IT部門,“建立總分兩級的部署:總行來關注全行統(tǒng)一的業(yè)務產(chǎn)品,建立起很好的服務接口的平臺,在分行里面進行部署和發(fā)布,IT系統(tǒng)實現(xiàn)了統(tǒng)一的歸口和管理,業(yè)務架構還是按照渠道、業(yè)務操作、產(chǎn)品、應用、決策體系分層方式建設,這是所有銀行都采用的類似架構。”
于是,王克強總結出銀行業(yè)的IT架構有以下幾個特點:首先是統(tǒng)一規(guī)劃,自主把握建設。如何進行IT管控和企業(yè)業(yè)務內控,對于內部業(yè)務自主能力要求很強。這就要做到架構自主,交付則可外包,這樣的情況下,銀行可以把握住核心架構、核心業(yè)務,然后交付由不同的外包公司提供。“在這里,很重要的技術架構概念就是小核心大外圍。銀行里面最核心的內容是錢,關鍵是客戶和帳戶。這個技術架構對于銀行來說有一個很重要的概念,有了核心賬務系統(tǒng),會解決銀行基本賬務處理,而且具體的業(yè)務由大外圍系統(tǒng)做的,例如交水電費,買筆基金或者股票,而所有的核心賬務在核心系統(tǒng)處理的,這樣的話就很好解決了系統(tǒng)之間邊界控制以及解耦的問題。”
其次,在建設過程當中非常強調基礎設施的平臺化。對于銀行或者像電信運營商這樣有個性化需求時,基礎設施顯得尤為重要。 “比如統(tǒng)一數(shù)據(jù)交換平臺,并不是簡單的引入ESB之類的標準產(chǎn)品,而是根據(jù)銀行IT系統(tǒng)之間數(shù)據(jù)交換的特點,例如有文件傳輸、數(shù)據(jù)庫映射、數(shù)據(jù)轉換要等特點在標準化產(chǎn)品上建立適應本行特點軟件封裝,這樣對內部所有的系統(tǒng)之間的數(shù)據(jù)交換定義統(tǒng)一標準,這樣行內所有的數(shù)據(jù)交換都基于一個平臺來實施,就很容易實現(xiàn)了系統(tǒng)之間的數(shù)據(jù)交換。”王克強表示。
領先銀行的IT建設經(jīng)之二:以平臺為基礎,支撐全業(yè)務系統(tǒng)
普元公司非常有幸主持了國內某大行在技術基礎平臺領域的整體規(guī)劃,該行是國內少有自主IT建設的銀行,一共有200多個總行應用和上千個分行應用,運維中心是承載運維,數(shù)據(jù)中心承擔測試,自有開發(fā)團隊有幾千人。“他們對產(chǎn)品發(fā)布,有一個很重要的概念,每年有固定上線時間,銀行非常強調做接口規(guī)約的問題,讓幾百個系統(tǒng)同時在某一個時間和時刻同時上線,可見其內部IT管理的能力和水平達到一個相當高的水平,這是該行整體現(xiàn)狀。”王克強介紹道,而該行在做技術架構時,非常強調一點是技術平臺化的問題。“比如軟件資源管理平臺,對銀行來說,核心系統(tǒng)有上萬張數(shù)據(jù)庫表,開放平臺有近十萬張表,表結構和字段編碼由軟件資源管理平臺規(guī)約的。上面提到的上千個系統(tǒng)的幾萬接口與接口調用必須在這里面注冊,在系統(tǒng)里面有幾萬個接口在這里面定義,通過系統(tǒng)加人工方式進行審核。又比如有一個運維系統(tǒng)上線,所有版本交互的事情不是由每個項目組自己決定的,而是由運維中心統(tǒng)一固定時間點,自動發(fā)布到同一個平臺里面,他們可以把每一個基礎的做產(chǎn)品的能力變成團隊化和體系化的支撐,這是很重要的內容。”
而普元在該行中做的很重要的工作,是在java領域里做了平臺技術架構咨詢,該行共有70%的應用都是基于JAVA應用實現(xiàn)的,每年都有近百萬個功能點的上線,普元為他們做了很重要的規(guī)劃,建立了收斂技術路線、支撐業(yè)務抽象的啞鈴型的技術架構模型。
“試想一下,上千人的團隊都要做應用開發(fā),挑戰(zhàn)非常巨大”王克強說道,“一方面要對技術使用形成統(tǒng)一的規(guī)約,另一方面要通過業(yè)務平臺支撐實現(xiàn)業(yè)務應用系統(tǒng)的實現(xiàn)。該行本身是有平臺的,普元幫助他們將現(xiàn)有的平臺從三個業(yè)務系統(tǒng)支撐延展到全業(yè)務系統(tǒng)的支撐,定義了業(yè)務架構,實現(xiàn)了技術升級,并從業(yè)務、技術過、程、組織四個維度提供咨詢與技術支撐,希望幫助他們建立起統(tǒng)一的軟件管理過程、軟件全生命周期融合能力,這是整個平臺提升的重點,而原先的平臺只能為其提供簡單開發(fā)和基于工具的簡單運維能力”。
普元的目標是希望該行在平臺改建后——軟件應用系統(tǒng)的開發(fā)從需求的設計、功能設計,以及和軟件計算管理體系形成融合。“這是在平臺里面很重要的概念,最終實現(xiàn)了核心的平臺架構,建立了業(yè)務模式的規(guī)范、技術表現(xiàn)、開發(fā)規(guī)范以及相關集成的規(guī)范,把所有的規(guī)范都固化到現(xiàn)有工具平臺里面,使得每個人在做軟件的時候,天然擁有了所有的平臺能力和集成的能力和規(guī)范的要求,”王克強進一步介紹道,“通過這種能力實現(xiàn)業(yè)務領域的應用平臺開發(fā),最終將大量軟件資產(chǎn)回到軟件資源庫中,這樣形成整個閉環(huán)的管理,最終為企業(yè)應用建立很好的企業(yè)的架構體系,這也是當時所做的技術藍圖的內容。”
領先銀行的IT建設經(jīng)之三:以平臺為基礎,系統(tǒng)建設靠數(shù)據(jù)說話
當以平臺為基礎實現(xiàn)對應用系統(tǒng)的建設時,完全可做到以數(shù)據(jù)說話。無論做構件、接口,都要拿出準確的數(shù)據(jù),為此,普元建立了重要的評估模型,希望從組織目標的角度,映射平臺本身的價值,建立起平臺自用度模型,實現(xiàn)整個體系的支撐,使得軟件的體系變成持續(xù)可以改進的能力,也就是可優(yōu)化的能力。
有了這個能力之后,普元對于軟件平臺做了重新的理解和定義。大家以前看到的平臺都是一堆離散的東西、代碼,而普元則會認為平臺本質是從標準規(guī)范建立,將規(guī)范引入到技術平臺,將業(yè)務的模型抽象到業(yè)務平臺體系當中,在平臺內部默認建立了復用體系。“我們會發(fā)現(xiàn)在做任何一個軟件應用時,都很少自己完全獨立研發(fā),我們在平臺中擁有了軟件復用和被復用的能力,編寫的軟件很容易復用別人或者被別人復用,這樣就很容易實現(xiàn)應用開發(fā)與軟件資源管理進行協(xié)同互動。當以軟件復用度能力對IT資產(chǎn)進行持續(xù)改進時,這才真正實現(xiàn)了軟件平臺本質所提供的核心價值。”王克強特別強調。
普元軟件平臺方法論
在平臺領域,普元有一套方法和方式在支撐:首先就是如何做好平臺,在互聯(lián)網(wǎng)強調敏捷的軟件過程中,用好平臺會建立起很好的平臺方法論,比如在平臺里面從一個點到多個點實施的演進路線如何做,普元都建立起相應的方法論的體系。
其次在具體實施過程中,針對企業(yè)現(xiàn)有的軟件架構模型,普元會引入一些很好的過程思路,強調希望整個軟件能夠變成一個小規(guī)模的團隊協(xié)作的方式,整合軟件交互,與用戶應用交互,同時內部建立起很好的持續(xù)集成的自動化測試體系,在上述銀行的平臺中就內置了自動化持續(xù)集成的能力,軟件編好之后會自動打包部署到測試環(huán)境當中,普元希望能通過這種迭代的方法和方式實現(xiàn)軟件交付的能力。
第三,軟件架構需要建立技術平臺、業(yè)務平臺的層次化架構。IBM提出IPD方法論強調,應用軟件產(chǎn)品是基于層次化平臺實施的,這樣的好處是,技術平臺解決技術積累,業(yè)務平臺是建立領域抽象,以平臺為基礎,各個層次能夠同時發(fā)展與積累,當面向最終應用交付時,平臺是穩(wěn)定的,可通過外面擴展的模式,應用系統(tǒng)的更新與擴建,真正保證可以同步,實現(xiàn)軟件實施和產(chǎn)品交付很好的平衡。
最后,有了平臺技術架構,最終還是要有一個整體IT管理的體系。“普元平臺資深顧問會反復強調,如何在內部形成閉環(huán)?”王克強表示,“IT管理應該形成閉環(huán),形成可以持續(xù)演進和改革的閉環(huán)能力,而平臺可以幫助您。”