他,是中國銀行業(yè)IT發(fā)展史的親歷者和見證人; 他,是“宇宙行”開發(fā)體系的奠基人和建設(shè)者; 他,友朋遍四方,桃李滿天下; 他,就是中國工商銀行開發(fā)中心前總經(jīng)理,梁禮方。 蒙梁老準(zhǔn)允,優(yōu)智匯獨(dú)家開辟《金語梁言》專欄,我們將以各種形式發(fā)表梁老對(duì)中國金融IT業(yè)的思考與見解,并接受廣大“梁(涼)粉”的提問,梁老將抽取其中具有代表性的問題,在專欄中答疑解惑。我們期待,《金語梁言》對(duì)于轉(zhuǎn)型中的中國金融IT業(yè)具有啟示和借鑒作用。 上期回顧 關(guān)于系統(tǒng)架構(gòu),在此前的文章里,已經(jīng)分別論述了:應(yīng)用架構(gòu)、程序架構(gòu)、數(shù)據(jù)架構(gòu)。本章將論述應(yīng)用系統(tǒng)架構(gòu)的又一個(gè)維度:技術(shù)架構(gòu)。 本章所說的技術(shù)架構(gòu),指的是在一個(gè)可以獨(dú)立部署的應(yīng)用系統(tǒng)里,應(yīng)用、應(yīng)用平臺(tái)、基礎(chǔ)設(shè)施之間的關(guān)系。技術(shù)架構(gòu)探討的是應(yīng)用系統(tǒng)的縱向架構(gòu),而此前論述的應(yīng)用架構(gòu)探討的是應(yīng)用系統(tǒng)的橫向架構(gòu)。 信息系統(tǒng)架構(gòu)的其中一個(gè)維度,是系統(tǒng)的技術(shù)架構(gòu)。本文所說的技術(shù)架構(gòu),指的是在一個(gè)可以獨(dú)立部署的應(yīng)用系統(tǒng)里,應(yīng)用、應(yīng)用平臺(tái)、基礎(chǔ)設(shè)施之間的關(guān)系。也就是說,技術(shù)架構(gòu)探討的是應(yīng)用系統(tǒng)的縱向架構(gòu),而此前論述的應(yīng)用架構(gòu)探討的是系統(tǒng)的橫向架構(gòu)。 不同的銀行,規(guī)模有大有小,其信息系統(tǒng)的規(guī)模也不盡相同。但它們的信息系統(tǒng)均由不同的子系統(tǒng)或各種各樣的應(yīng)用組成。盡管在銀行業(yè)里,什么才能稱之為信息系統(tǒng)的“系統(tǒng)”、“應(yīng)用”,沒有一個(gè)公認(rèn)的標(biāo)準(zhǔn),但各銀行在對(duì)信息系統(tǒng)進(jìn)行分類管理時(shí),這種被分類的“系統(tǒng)”或“應(yīng)用”的數(shù)量,通常會(huì)有一、兩百個(gè)。這些不同的系統(tǒng)、不同的應(yīng)用,建設(shè)與投產(chǎn)時(shí)間有先后,使用的技術(shù)、基礎(chǔ)設(shè)施、平臺(tái)、編程語言等都會(huì)不一樣。在大部分中小銀行,許多系統(tǒng)都是通過外購然后客戶化建設(shè)而成,這些外購的系統(tǒng),系統(tǒng)提供廠商也不完全一樣。面對(duì)這些五花八門的百多兩百個(gè)系統(tǒng),要充分了解并熟悉其技術(shù)架構(gòu),以便能承擔(dān)起對(duì)系統(tǒng)維護(hù)與完善的職能,對(duì)大多數(shù)銀行的科技部門而言,都是一個(gè)不堪重負(fù)的任務(wù)。 盡管一個(gè)銀行的信息系統(tǒng),有一、兩百個(gè)系統(tǒng)或應(yīng)用,實(shí)際上,類似的系統(tǒng)、應(yīng)用,如果其內(nèi)部運(yùn)作模式相似,使用的技術(shù)相似,完全可以整合在相同的基礎(chǔ)設(shè)施、應(yīng)用平臺(tái)、運(yùn)行環(huán)境上運(yùn)行。 一些銀行就進(jìn)行過技術(shù)架構(gòu)整合的探討與規(guī)劃。其結(jié)果是,所有的系統(tǒng),如果經(jīng)過適當(dāng)?shù)母脑?,可以全部整合到最多不超過十種的不同技術(shù)架構(gòu)中。也就是說,最多只需要建立十種不同的基礎(chǔ)設(shè)施、平臺(tái)的組合,就可以滿足一個(gè)銀行信息系統(tǒng)里所有的系統(tǒng)或應(yīng)用建設(shè)的需要。如果真的能實(shí)現(xiàn)技術(shù)架構(gòu)的整合,這是一個(gè)多麼令人興奮的前景??! 那么應(yīng)該如何實(shí)現(xiàn)能夠整合的技術(shù)架構(gòu)呢? 理想的技術(shù)架構(gòu)框架是,把應(yīng)用、平臺(tái)、基礎(chǔ)設(shè)施相對(duì)獨(dú)立地拆分為以下幾層: 一、系統(tǒng)層 系統(tǒng)層也叫基礎(chǔ)設(shè)施層。包括系統(tǒng)級(jí)的硬、軟件兩層。 底層硬件包括主機(jī)、各種服務(wù)器、PC、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備等。第二層系統(tǒng)軟件包括各種操作系統(tǒng)、數(shù)據(jù)庫等。 系統(tǒng)層的主流硬、軟件產(chǎn)品,基本都是由世界上屈指可數(shù)的幾個(gè)廠家提供。 二、平臺(tái)層 平臺(tái)層通常也包括兩層。 下層是中間件或技術(shù)平臺(tái)。中間件通常指的是廠家在系統(tǒng)層的基礎(chǔ)上提供的平臺(tái)軟件。例如比較有名的交易平臺(tái)軟件有IBM的CICS;BEA的Tuxedo等。又例如IBM的電子商務(wù)軟件平臺(tái)WebSphere。也有一些中間件是由第三方軟件公司開發(fā)的。而技術(shù)平臺(tái)通常指的是用戶自己開發(fā)的平臺(tái)軟件。 第二層是基于中間件之上的開發(fā)框架與運(yùn)行環(huán)境生成平臺(tái)。包括各種生成環(huán)境與工具:如建模工具、可視化開發(fā)工具、第四代開發(fā)語言等。 當(dāng)然,也有一些平臺(tái)層會(huì)把中間件或技術(shù)平臺(tái)與開發(fā)運(yùn)行環(huán)境捆綁在一塊,不分成兩層。 三、應(yīng)用層 應(yīng)用層包含所有的應(yīng)用。處于整個(gè)技術(shù)架構(gòu)框架的最上層。 整個(gè)技術(shù)架構(gòu)框架如下圖:
四、分層技術(shù)架構(gòu)的要求 構(gòu)建上述技術(shù)架構(gòu)時(shí),要注意以下幾點(diǎn): 1、應(yīng)用與系統(tǒng)隔離 三層架構(gòu)之間,控制與數(shù)據(jù)均不能跨層穿透流動(dòng)。也就是說,應(yīng)用層只能與平臺(tái)層打交道、系統(tǒng)層也只能與平臺(tái)層打交道。應(yīng)用層不能與系統(tǒng)層直接打交道。 2、層間松耦合 在構(gòu)建各層時(shí),在設(shè)計(jì)上要注意層間松耦合。應(yīng)用對(duì)平臺(tái)要松耦合;平臺(tái)對(duì)系統(tǒng)要松耦合。 3、技術(shù)架構(gòu)與運(yùn)行實(shí)體 信息系統(tǒng)最多不超過十種技術(shù)架構(gòu),并不表示信息系統(tǒng)最多不超過十個(gè)相對(duì)獨(dú)立的運(yùn)行實(shí)體。從處理能力、存儲(chǔ)容量、安全性考慮,不同的系統(tǒng)盡管技術(shù)架構(gòu)完全一樣,也不一定都要統(tǒng)一在一個(gè)相對(duì)獨(dú)立的運(yùn)行實(shí)體里運(yùn)行。也就是說,盡管技術(shù)架構(gòu)只有幾種,但獨(dú)立運(yùn)行的系統(tǒng)也許有幾十到上百個(gè)。 五、分層技術(shù)架構(gòu)的優(yōu)點(diǎn) 采取了上述的技術(shù)架構(gòu),所有應(yīng)用均植根于平臺(tái)之上,而平臺(tái)基本屏蔽了所有系統(tǒng)的基礎(chǔ)設(shè)施、環(huán)境、技術(shù)特征。所以,有以下優(yōu)點(diǎn): 1、提高開發(fā)效率 平臺(tái)為應(yīng)用的開發(fā)、維護(hù)運(yùn)行提供較好的界面,應(yīng)用開發(fā)人員可以完全僅專注于業(yè)務(wù)本身,無需在其他技術(shù)細(xì)節(jié)上有過多的投入,效率會(huì)大為提高。 2、提高質(zhì)量 由更專業(yè)的技術(shù)人員去開發(fā)與維護(hù)平臺(tái),平臺(tái)的技術(shù)質(zhì)量會(huì)較高,從而整個(gè)系統(tǒng)的技術(shù)質(zhì)量會(huì)更高。 3、軟件重用 類似的應(yīng)用可以使用相同的平臺(tái),不同的平臺(tái)與不同的基礎(chǔ)設(shè)施最多只需要幾種組合,使得整個(gè)信息系統(tǒng)的平臺(tái)種類數(shù)量大為減少。實(shí)現(xiàn)軟件行業(yè)孜孜以求的軟件重用的夢(mèng)想。軟件維護(hù)的開銷大為減少,節(jié)省信息系統(tǒng)的開發(fā)與維護(hù)資源。 4、應(yīng)用可持續(xù)發(fā)展 做到應(yīng)用與平臺(tái)松耦合、平臺(tái)與系統(tǒng)松耦合。最終實(shí)現(xiàn)軟件與硬件的松耦合。應(yīng)用可以低成本的在不同的基礎(chǔ)設(shè)施、技術(shù)環(huán)境上移植、重用。提高了軟件的適應(yīng)能力與適用范圍,提高了軟件可持續(xù)發(fā)展的能力。 5、為基礎(chǔ)設(shè)施架構(gòu)的發(fā)展提供廣闊空間 當(dāng)前,基礎(chǔ)設(shè)施技術(shù)也在快速發(fā)展。包括UNIX服務(wù)器、PC服務(wù)器的性能大幅提升;包括新的操作系統(tǒng)、新的數(shù)據(jù)庫;包括新的云運(yùn)行環(huán)境。所有這些,都給現(xiàn)在的基礎(chǔ)設(shè)施架構(gòu)師們?cè)谝?guī)劃基礎(chǔ)設(shè)施架構(gòu)時(shí)帶來新的要求與挑戰(zhàn):某應(yīng)用系統(tǒng)應(yīng)該用大機(jī)、還是UNIX服務(wù)器、還是PC服務(wù)器;數(shù)據(jù)庫應(yīng)該用傳統(tǒng)的關(guān)系數(shù)據(jù)庫、專用數(shù)據(jù)庫,還是用分布式數(shù)據(jù)庫;系統(tǒng)上云還是不上云;等等。 無論如何,如果我們做到應(yīng)用與基礎(chǔ)設(shè)施松耦合,那么,基礎(chǔ)設(shè)施架構(gòu)師們?cè)跊Q策嘗試使用新基礎(chǔ)設(shè)施架構(gòu)時(shí),他們無需太糾結(jié),負(fù)擔(dān)也不會(huì)太重,因?yàn)?,轉(zhuǎn)換成本相對(duì)低,也相對(duì)容易。 |
|