銀行核心業務系統項目階段性總結
銀行核心系統,本質上看就是財務會計系統,其核心就是由會計業務上的借貸平衡算法構成的聯機交易算法。
銀行經過長時間的技術積累,核心系統的技術已經非常成熟,除非有技術上本質的突破(主要是IBM技術的突破),否則核心系統技術會相當穩定,因此其技術含量和發展迅速的Java技術相對比較低:
1) 應用系統和數據庫的交互:使用最原始的數據庫連接方式;沒有類似weblogic或者Websphere的數據庫連接池技術;
2) 多并發只能使用多個進程的方式;
3) 數據緩存:必須自己編寫。
總之,核心系統就是用最原始的方式編寫應用系統,沒有什么資源可供使用。更沒有什么開源系統借鑒。核心系統在一個完全封閉的環境里面、使用unix C技術完全獨立、封閉地發展。
銀行核心系統的難點在于業務復雜、多變,需要用簡單、原始的技術來應對業務是難點所在。從業務角度,核心系統也將負責的業務進行了最大程度的簡化:即把復雜多變的業務分解為一個個獨立的交易。所以,我認為要建設高質量的核心系統,最重要的就是吃透業務、設計好方案、利用好技術,核心還是設計,而不是編碼。交易的劃分和功能設計,是制造核心系統能否成功的關鍵。
對于開發銀行核心系統的軟件供應商而言,存在兩難的困境:
1) 開發銀行核心的軟件技術:技術上相當保守,仍然在沿用非常傳統的技術,很多銀行的核心系統已經開發了十多年,技術體系上沒有大的改變:仍然是IBM小型機+嵌入式C的技術架構。銀行內部的技術人員技術水平難以提高,被銀行綁定了,只能在銀行終老。
只有在真正了解了什么是銀行核心系統之后,才明白,這個市場為什么如此低迷!技術上長期穩定,技術人員賣不上好價格,只能以外包的方式賣給銀行開發部門。摳門的老板,不慷慨的客戶,渙散的人心,如何能開發出精致的核心系統?
2) 無限接近核心,還是遠離核心?遠離核心,對于銀行來說,離核心越遠,項目價值就越小,愿意付出的價格就不會高。越接近核心,那么銀行自身控制的就越嚴格,價值也不一定會很大。對銀行來說,她的人員需要具有如下能力:
(1)深刻理解現有系統的業務和技術架構的能力;
(2)跟蹤新需求,設計新功能的能力;
(3)管理項目開發的能力;
上述人員如果能少而精,個個具有項目經理級別的能力,那么她就不需要日常維持一只龐大的開發隊伍,只需要在大規模開發時,讓自己的人員設計、組織項目即可。而開發公司只能以人頭外包方式參與,以產品方式參與項目幾乎無可能,公司的利潤無法最大化;公司的知識根本無法價值化,開發人員的收入也無長期、穩定的保證。開發企業基本只能以外包、賣人頭的方式參與開發,人員完全為銀行打工,不參與技術架構設計、業務需求分析、軟件設計,只是開發或者測試,純粹打工;這也是我堅決不愿意做外包開發的原因。即使有經驗豐富的技術人員,也難于參與到項目的核心架構設計,因為幾乎每個銀行都有自成體系的一套技術架構,外來人員只能適應其技術架構。
3) 開發人員向銀行業務咨詢方向發展就有前途嗎?
第一條道路:軟件技術和業務知識的結合。銀行項目做到最后,都只是糾結于業務,而沒有什么技術含量。銀行業務紛繁復雜,如果向大而全方向發展,則可能無法精通一門;而如果向少而精方向發展,則可能并不能保證能參與到自己精通的項目中。而在我看來,如果能精通面向銀行業務的專門軟件技術,倒是一條可能的發展道路。例如:精通能處理大數據量的Oracle、DB2數據庫技術、精通記賬程序設計、精通復雜報表設計,這些技術即和銀行業務有聯系,同時又是精專的軟件技術,能充分發揮技術人員的價值。
第二條道路,就是我現在這樣的技術全能型,C、Java、VB什么樣的軟件語言都懂一點,也比較精通一門語言,如此來應對復雜的IT系統。但是,我在這條路上已經走到盡頭,我需要選擇精專的軟件技術(例如:數據庫、軟件架構、軟件項目管理)等方向上去突破。
原文鏈接:http://blog.sina.com.cn/s/blog_61ade42f0100m1vx.html
【編輯推薦】























