核心系統開放正確的意義,應該包含二種期待。其一是硬體/軟體(Infrastructure)的開放,這部份大家耳熟能詳,應該不必多做解釋,其二則是我個人觀點,則必須要做一番解釋,我認為開放另一面的意義-是確保應用系統(Application)的壽命,在無法預知將來需求的變化,經的起時間的考驗(當然是愈長壽愈好),換句話說,也就是新功能/需求的增加,並不會修改太困難,牽一髮動全身(單體的"自體性"愈大愈好)。後者才是我認為真正開放的意義。畢竟硬軟體發展快速,我們並不會期望也不必他太長壽, 但是應用系統卻是一種逐漸累積的資產,不是一朝一夕可以建造(不是花錢就可以以解決的問題),因此對應用系統統而言我們會希望他盡量長壽。
過去以主機系統觀念開發的應用系統,設計是將資料庫與業務邏輯緊緊的捆綁在一起構成一程式,藉由多支程式的執行完成一個交易(Transaction),這樣的作法當一個需求的增加/改修,都需思考影響的資料庫(內容及結構)以及對其他程式/系統的影響,也就是我所謂的"牽一髮而動全身",應用喜ˋ統維護者必須非常熟悉整各系統,也就是需要相當的經驗,修改完的測試業必須謹慎周詳。久而久之,系統就愈來愈複雜,也愈來愈難維護(缺經驗者),加上近年來,核心系統無論就,通路、其他系統間的整合/功能支援、以及自體功能的修改/追加,速度都快過以往,以往以主機系統建構之核心系統被汰換,原因之ㄧ除主機系統費用驚人之外,更主要的原因是系統已屆"修改不動"的地步。近年來許多更換核心系統的銀行,所採用的產品B@NCS以及近來的CBOD,以個人觀點,僅僅是滿足了硬體與軟體(局部)的開放,至於應用系統設計,我認為還是繼承了過去主機系統的設計觀念(Data Oriented Approach),談不上所謂的"開放",所以這樣的系統更換,僅能視之"系統重寫(REWRITE)"而已,無法視之為"系統重建(REBUILD)"。這也就是我在前篇"真的開放嗎?"所言,這樣的系統不是"可不可用"的問題(上線風險反而最小),而是"可不可期望其長壽"的問題。
後記:筆者在5年前與日本的開發者談到核心系統建構在開放系統的系統面的QOS(Quality Of Service)問題,得到的回答是沒有問題,倒是應用系統元件化(Component)的設計,這方面在核心系統人才的情況,可用"青黃不接"來形容。
Comments
心有戚戚焉!
Fin大大的言論,真得深深探觸到我的內心想法!
就因為如Fin大大所說的狀況,很多銀行不得不故步自封!
使得Banking IT過於封閉,諸多認識的人都安於現狀,嚴重的與IT進步現況脫節!
反正不學也可以混到退休,甚至還可以搏得"有經驗"的美名??????
Add new comment