標籤:

銀行核心系統軟體開發技術終極總結(轉載)

2011年的文章。

將題目命名為「終極總結」,是因為我很清楚,我這一輩子都幾乎不可能再去開發銀行核心系統了。

從商業價值的角度來說,銀行核心系統並沒有多麼廣闊的商業前景!而對於我而言,錢景遠比前景重要的多,而技術更是浮雲。這篇文章僅僅是軟體開發技術方面的總結,也是我能公開說的極限。如有不妥之處,敬請諒解。

銀行核心系統,本質上看就是財務會計系統,其核心就是由會計業務上的借貸平衡演算法構成的聯機交易演算法。銀行經過長時間的技術積累,核心系統的技術已經非常成熟,除非有技術上本質的突破(主要是IBM技術的突破),否則核心系統技術會相當穩定,因此其技術含量相對比較低(和一日千里的Java技術比較而言):

1) 應用系統和資料庫的交互:使用最原始的資料庫連接方式;沒有類似weblogic或者Websphere的資料庫連接池技術;

2) 多並發只能使用多個進程的方式;

3) 數據緩存:必須自己編寫。

總之,核心系統就是用最原始的方式編寫應用系統,沒有什麼資源可供使用。更沒有什麼開源系統可資借鑒。核心系統在一個完全封閉的環境裡面、使用unix C技術完全獨立、封閉地發展。採用unix C的技術架構已經太陳舊了,無法適應業務規模的快速發展;而此技術架構本身多年來沒有根本的改進,再堅持使用這種技術,將使技術和業務之間的矛盾越來越明顯。IT系統到了非徹底改造的時候。問題的關鍵不是要不要改,而是怎麼改。而國內銀行選擇國外核心系統的技術方案,很大原因我認為是因為「形象工程」和「政績工程」的緣故,領導的意志在其中起到了決定性的作用。對於採用國外核心系統,我的認識是:不要迷戀哥,哥只是個傳說。

銀行核心系統的難點在於業務複雜、多變,需要用簡單、原始的技術來應對業務是難點所在。銀行核心業務系統是:業務模塊、賬務模塊和總賬模塊。從業務角度,核心系統也將負責的業務進行了最大程度的簡化:即把複雜多變的業務分解為一個個獨立的交易。所以,我認為要建設高質量的核心系統,最重要的就是吃透業務、設計好方案、利用好技術,核心還是設計,而不是編碼。交易的劃分和功能設計,是製造核心系統能否成功的關鍵。

對於開發銀行核心系統的軟體供應商而言,存在兩難的困境:

1) 開發銀行核心的軟體技術:技術上相當保守,仍然在沿用非常傳統的技術,例如有的銀行核心系統已經開發了十多年,技術體系上沒有大的改變:仍然是IBM小型機+infomix C的技術架構。銀行內部的技術人員技術水平難以提高,被銀行綁定了,只能在銀行終老。所以,有的銀行將原來的舊系統完全推翻,完全採用國外的銀行核心系統,行業內有人震驚,有人懷疑。我也很疑惑,她為什麼會毅然決然地打到舊系統,採用新系統?願意花大價錢去做外國人開拓中國市場的「白老鼠」?

只有在真正了解了什麼是銀行核心系統之後,才明白,這個市場為什麼如此低迷!一般銀行的報價是每人每月1.7萬。摳門的老闆,不慷慨的客戶,渙散的人心,如何能開發出精緻的核心系統?

2) 無限接近核心,還是遠離核心?遠離核心,對於銀行來說,離核心越遠,項目價值就越小,願意付出的價格就不會高。越接近核心,那麼銀行自身控制的就越嚴格,價值也不一定會很大。對銀行來說,她的人員需要具有如下能力:

(1) 深刻理解現有系統的業務和技術架構的能力;

(2) 跟蹤新需求,設計新功能的能力;

(3) 管理項目開發的能力;

上述人員如果能少而精,個個具有項目經理級別的能力,那麼她就不需要日常維持一隻龐大的開發隊伍,只需要在大規模開發時,讓自己的人員設計、組織項目即可。而開發公司只能以人頭外包方式參與,以產品方式參與項目幾乎無可能,公司的利潤無法最大化;公司的知識根本無法價值化,開發人員的收入也無長期、穩定的保證。開發企業基本只能以外包、賣人頭的方式參與開發,人員完全為銀行打工,不參與技術架構設計、業務需求分析、軟體設計,只是開發或者測試,純粹打工;這也是我堅決不願意做外包開發的原因。即使有經驗豐富的技術人員,也難於參與到項目的核心架構設計,因為幾乎每個銀行都有自成體系的一套技術架構,外來人員只能適應其技術架構。

3)開發人員向銀行業務諮詢方向發展就有前途嗎?

第一條道路:軟體技術和業務知識的結合。銀行項目做到最後,都只是糾結於業務,而沒有什麼技術含量。銀行業務紛繁複雜,如果向大而全方向發展,則可能無法精通一門;而如果向少而精方向發展,則可能並不能保證能參與到精通的項目中。而在我看來,如果能精通面向銀行業務的專門軟體技術,倒是一條可能的發展道路。例如:精通能處理大數據量的Oracle、DB2資料庫技術、精通記賬程序設計、精通複雜報表設計,這些技術即和銀行業務有聯繫,同時又是精專的軟體技術,能充分發揮技術人員的價值。

第二條道路,就是我現在這樣的技術全能型,C、java、vb什麼樣的軟體語言都懂一點,也比較精通一門語言,如此來應對複雜的IT系統。但是,我在這條路上已經走到盡頭,我需要選擇精專的軟體技術(例如:資料庫、軟體架構、軟體項目管理)等方向上去突破。


推薦閱讀:

銀行還是小貸?
越南銀行業當中手握大權的石榴裙影
你是在進行金融創新還是犯罪:那個對我有著知遇之恩的老闆被抓了
教你怎麼樣跟銀行信貸經理合作!!!(純乾貨)
九卦|突發!銀監會首次發布新規嚴管銀行從業者

TAG:銀行 |