專訪銀行系統開發專家周偉然:淺談銀行系統開發
原創【51CTO獨家專訪】我想大家關注銀行信息系統建設的話題不僅僅是因為銀行IT業有“錢”途,更重要的是因為銀行業是IT技術應用最深入***有代表性的行業之一。正是因為這個原因,銀行系統的開發相對而言有著更高的要求。首先,對系統的準確性、穩定性、安全性、高性能的要求是不言而喻的,技術上的南郭先生在這行是很難“混”的; 其次,銀行系統為開發者增加了一個額外的負擔:他們必須掌握復雜的業務邏輯和聽起來云山霧罩的專業術語,越到后來技術反而不是最重要的因素了; 再次,銀行系統重維護,你在程序里留下的每一個BUG都會給你帶來高額的電話費用,所以想清楚再動手才是***的習慣。
(左:周偉然先生,右:51CTO記者金賀)
51CTO編輯在2011年的QCon北京會場上對周偉然進行了一次專訪。整個訪談過程按話題整理成文本記錄,大致分為銀行系統的介紹、銀行系統工作的分配還有銀行系統后期數據維護及國內外銀行系統開發的一些對比的的一些話題。
51CTO:能否簡單的介紹下銀行系統,相比于其他系統開發銀行系統開發的著重點在哪里?
周偉然:銀行系統和普通的系統是不相同的,首先,對系統的準確性、穩定性、安全性、高性能的要求是不言而喻的,,因為銀行系統大多時候是24小時不間斷的為銀行用戶服務,所以系統的穩定完全性是首要任務。再次,銀行系統重維護,你在程序里留下的每一個BUG都會給你帶來高額的電話費用,所以想清楚再動手才是***的習慣。
51CTO:你們是在開發銀行系統應用的過程中遇到過哪些挑戰或者哪些困難呢?是怎樣解決的?
周偉然:其實在我們在開發系統的同時遇到了很多挑戰和困難,我們也一直在成長著,這些年隨著人們的生活水平的提高,銀行服務逐漸走進大眾人群。所以銀行系統的交易量不斷的增大起來。這就對銀行系統的承受能力和穩定運行的能力有著極大的考驗,我們也通過技術手段解決了這些問題。
51CTO:銀行開發需求方面是怎么協調各個部門之間的穩定工作呢?
周偉然:銀行系統開發的穩定其實不止系統的穩定,其開發人員的穩定也是很重要的,銀行的部門分工很明確,各個部門按照業務需要和市場需求各個方面穩定的運作著。銀行項目的開發實施,總結其重點和難點,都會歸結在“協調”二字上。一個系統要跑起來不容易,它可能會需要核心系統處理賬務、需要信貸系統審批放款、需要SWIFT或CNAPS完成清算、需要向監管部門報送數據、需要為網銀系統提供數據等等
51CTO:銀行系統的開發 由本銀行人員開發和其他公司開發 這兩種方式之間的差異和風險點是什么?
周偉然:在早期銀行系統開發都是以外包的形式的,近幾年各個銀行對于開發方法是有要求的,必須提高對系統開發的掌控程度,也就是說關鍵系統必須是銀行自己掌控開發進度和工作。
51CTO:是完全的掌控么?
周偉然:只是針對于關鍵系統自己掌控,其他地方還是需要別的合作伙伴來一起配合開發,銀行系統系統的開發光靠銀行本行開發是一件非常不容易的事情。
51CTO:銀行系統后期的維護工作能給大家簡單介紹下?對于海量數據存儲方面的處理有什么技術手段解決的呢?
周偉然:我們對于銀行系統的后期維護是比較看重的,會定期的對它進行維護,包括監控系統的軟件和監控系統的腳本,還有系統資源的使用狀況,我們都是有固定的維護周期分派人員去維護的。對于用戶數據方面我們也是會定期的去進行維護和垃圾數據清理的,因為銀行的數據量比較大,如果不去清理的話,系統的運行能力就會下降。還有做好災難備份工作,避免用戶的財產損失。銀行對于用戶的數據是非常看重的。
51CTO:對于全球的開發領域,您能分析下國內現在銀行系統開發全球的定位是什么?或者是對比與國外的銀行系統開發說一下感想。
周偉然:現在全球的經濟形勢很好,技術也越來越成熟起來,我個人感覺現在國內的銀行開發和國外的銀行開發基本是在一個級別上的。有一點不同點就是國內銀行的用戶量和數據量比較大,這就考驗了國內的銀行,也是給我們的挑戰和動力。
銀行系統開發資料分享:
如果想入行,需要做哪方面的準備?
對于想入行和剛入行的網友,我想提以下幾點建議:***點建議,買一本《銀行會計學》并認真閱讀,這能讓你少走很多彎路; 第二點建議,Unix和C 是技術基礎必不可少,Sybase, Oracle, DB2是不變的主題,至少掌握一個吧,此外,***熟悉一種中間件軟件,幾乎所有昂貴的中間件軟件都能在銀行找到; 第三點建議,銀行項目對于文檔的要求是最為嚴格的,所以請練練打字,多寫點東西。
有一些搞電信行業開發的網友關心轉行到銀行開發的問題,我原來也在電信系統工作過,個人認為電信行業的系統主要要求在于性能方面,因此偏重于高效率代碼的編寫。一般而言這方面的網友在技術上應該不成問題。對于這些網友,我還是奉獻我的***點建議,一般經過半年到一年時間的學習,就可能勝任部分銀行系統的開發了。
國內銀行項目的組織模式?
目前國內銀行項目一般由業務部門人員、科技部門人員、開發公司組成項目組。從制度上來講是業務部門向科技部門提出需求,科技部門組織開發公司人員完成項目。實際一般會形成一個“三足鼎立”的情形:業務人員向公司人員提業務需求,公司人員向科技人員要求軟硬件資源,科技人員又常催促業務人員進行測試。在這種情況下特別需要注意兩件事,一是需要確定好聯系人(最理想的情況是對方只有一個聯系人),二是關鍵決策必須形成書面文檔并簽字確認。
現在國內搞銀行系統開發有哪些公司?
現在國內銀行業的IT公司很多,大家在網上都可以搜索到,但是都還沒有形成象國外公司那樣的品牌效應。網友想進入這個行業可能抱的目的不一樣,希望接觸國外先進理念的可以外企可以考慮IBM,TATA之類的公司,想快速提高能力的可以到神州數碼、宇信易誠、東南融通等規模稍大的本土公司。另外還有一些有特色的專業公司可以選擇,我就不多說了,有做廣告的嫌疑。
銀行一般需要開發一些什么系統?
銀行的系統從性質上一般可以分為業務系統和管理信息系統兩大類。業務系統是操作型系統,主要是實現業務操作的電子化。管理信息系統則是分析型的系統,偏重于在數據倉庫的基礎上提供決策支持信息。而銀行業務一般又分為核心業務和中間業務,因此目前有很多銀行都形成了核心業務系統、中間業務平臺、數據倉庫三大系統的情況。其它一些主流系統包括現代支付系統、信貸系統、國際結算系統、資金運營管理系統基本上都需要這三個系統的支持才能運行。
#p#
【編輯推薦】