You are here

關於銀行自行維護ATM端末軟體的技術與可能性

最近一個朋友問我在這裡好不好, 被放在這裡牧羊,還不錯啦!他也問到了關於銀行自行維護ATM端末軟體的事,在這裏把我的意見提出來就教方家.

關於自己開發維護全部ATM程式,我在各國除了CitiBank之外沒有看到成功的案例(因為我見識比較淺薄). CitiBank可以成功也是因為ATM硬體是他們自己設計的!另外有個別廠牌的ATM軟體因為原來就是設計給銀行自己維護的,所以有成功.後面我會分兩種狀況(個別廠牌,通用軟體)來說明

個別廠牌的部份:

IBM 473X: IBM在473x的時代,出了一個端末軟體,ATM的交易畫面跟操作流程都透過設定檔(Customization Image, CI)來設定.基本上滿足了ATM的功能,銀行只要學怎麼設定設定檔就可以使用.所以在1990, 2000之間台灣有大約10家銀行自己維護.后來Diebold把他移植到Diebold的ATM上叫做Turbo 3X.國泰銀行也曾經是用戶.他的好處是容易維護,缺點是彈性小了點.目前各廠牌模擬473X都沒有做到使用CI(包含Diebold,除非你跟Diebold台灣指定要用turbo 3x).(另外據小道消息, Wincore也有標準的473x模擬可以用CI,只是我沒有看到過).

Diebold 912(用912來稱呼有點問題不過因為Diebold發展了好幾代的軟體都有同樣的特性,只好用電文格式的名稱來稱呼. 911是另外一種用於美國國內的格式,主要的差異在於支援國際需要所以912有一些調整如金額欄位的長度等): Diebold也有一組端末軟體,也是一樣 ATM的交易畫面與操作也都是透過設定檔(Customization Data)來設定後由主機下載下去的,不同的是Diebold的Customization Data設計的很有彈性,完全是用流程圖方式來思考,所以彈性很大.基本上目前世界級的銀行都是採用這樣標準而可以自行維護.目前除了Diebold有之外, NCR,Wincore都有100%相容的端末軟件.

NCR NDC+: NCR也有一組端末軟體叫NDC (NCR Direct Connect, Diebold的912以前叫DDC, Diebold Direct Connect),設計方式與電文跟Diebold幾乎完全一樣.基本上目前世界級的銀行都是採用這類標準而可以自行維護.目前除了NCR有之外, Diebold,Wincore都有100%相容的端末軟件.在台灣有一個客戶叫做ABN.所以他是完全support FISC II晶片卡的.

以上這類(個別廠牌的標準軟體),基本上對於銀行端的維護有很大的好處.在技術的要求上並沒有太高的門檻,一個資訊人員經過十幾個小時的training.幾乎都可以上手.我們一般看到的狀況是讓資淺的ATM主機AP人員負責.而這類的軟體缺點是必須要使用他的標準電文格式(我倒不覺得是缺點,因為他們的電文都設計的很有規範).這些軟體的另外一個優點是幾乎不會有Bug.因為全世界有幾十萬台在run. 能碰到Bug算好運.我之前 support 912 5年,只遇到一個端末軟體的Bug,而且應該是大中華區那 5年唯一被證實的bug.

通用型軟體

目前世界上有兩種標準希望能產生通用型的 ATM端末軟體, WOSA/XFS與 J/XFS. WOSA/XFS是Microsoft主導,J/XFS是IBM跟SUN主導的standard.目前兩者都是CENT的standard. WOSA比較早, J/XFS比較晚出來目前支援WOSA的硬體廠商比較多,但是J/XFS也發展出可以把WOSA的硬體通吃的技術.這種標準在目前來看,我發現中國大陸前三年十分熱門,但是現在沒有聲音了,幾個大型案子也都掛在那裡沒有進展.加拿大在2000年左右也有這樣的project,目前沒有看到great success.

這樣的方式要用可就得要比較高的技術,維護的人對於 ATM端末的硬體設計原理, 通訊, ATM端末軟體的運作方式還有Java (J/XFS)或是C, VB, Delphi之類的 (WOSA/XFS) programming language要熟練. 需要維護的code量也比較多.

我個人的看法, 這類通用型軟體專案成功的機率在目前不是太高.主要的原因有幾個

1) 硬體及軟體技術難度高,銀行比較少有這樣的時間慢慢的讓這樣的專案發展成熟

2) 硬體廠商的排斥,所有的硬體廠商都希望這樣的專案用他們的軟體.但是只能選一家.但是選了軟體卻還需要各家廠商提供driver來一起運作.落選廠商在這方面都比較不配合,同時在發生問題的時候也很難確認誰要出面解決.我看到的幾個失敗案例都是敗在這一關.中選廠商提供了XFS軟體可以在自己的ATM上用.放到別家的ATM時,就發生問題或是落選廠商根本不提供XFS需要的底層driver.專案就掛了

3) 硬體的behavior不同是失敗的主要原因. WOSA或是J/XFS都只定義了呼叫硬體的API介面,卻沒有定義這樣的呼叫之後的硬體動作.產生的結果是,同樣的程式到了不同的硬體上因為硬體的設計不同導致運作的結果都有一點點不同.然後軟體人員都需要因為這些不同做調整.因此產生不了通用軟體.

在ATM電文方面業界一直有各種發展路線,很難評斷!從最早的沒有規範到473x的4 way, 912, NDC+的3way, ISO8583或是IFX的XML.特別有趣的一支,在台灣是各家銀行自己定.我的看法比較傾向應該採用473x, 912或NDC+這類的ATM專用電文.因為在設計上就已經充分考慮了ATM的特別需要, 運作起來比較便利也比較穩定.我看到台灣各家銀行的自訂電文格式的時候通常的會發現充分支援交易的需要也完全配合主機的開發能力但是產生的效應就是管理需要沒有被考慮到.以前對Service Level要求不高的時候還可以.但是到了現在,一但要求Service Level就發現監控做不好,管理作不好同時在狀況發生的時候也不知道端末發生了甚麼事.

以上是我自己的看法!

Comments

one in SH's picture

當然故事要說完整,這是我的銀行家師兄S君與通訊家師父S君(好巧)教導的!

朋友接著問了幾個問題.

>1.Diebold 912 or Turbo 3X是只能用在Diebold 機器嗎?
> NCR NDC+是只能用在NCR機器嗎?
> Wincore是只能用在Wincore機器嗎?

Diebold 912只能在Diebold機器用但是在NCR跟Wincore都有100%相容的模擬版本.也就是跟他們買100%相容的端末軟體. NDC+只能在NCR機器用但是在Diebold跟Wincore都有100%相容的模擬版本.也就是跟他們買100%相容的端末軟體.

Turbo 3X只能在Diebold機器用但是在Wincore有100%相容的模擬版本.也就是跟他們買100%相容的端末軟體.

Wincore沒有出自己的端末標準(小弟的理解啦),不過他們對其他機器的模擬版本最完整.

雖然不是很能類比,但是對於銀行來講其實有點像是都是用Linux,只是用不同的Vendors提供的Linux­而已.在使用方面(應用功能的開發上)則完全一樣 (這個比喻真的很爛,不知道有沒有好一點的比喻)

>2.XX銀行使用473X時,ATM程式是只有一套嗎?

不是的.但是當時OKI跟Ormon就不是了.他們只有模擬電文,而不是整套系統模擬(也就是不能使用CI)

>3.端末軟體是指ATM的交易畫面跟操作流程都透過設定檔來設定 , 再由主機下載下去的嗎?
> atm要哪有些配合的程式?

如果用的是這種方式,ATM端只要安裝這樣的軟體( 各Vender提供的),後續沒有廠商的配合需要(其實應該說很少,不過我在唬他,朋友太久了不害一下不好玩).主要配合的部份是主機要能支援. ATM端末(幾乎)沒有程式配合的需要

>4.IF我們繼續使用自訂電文,維護就有4套版本,我們需要培養哪些人來維護,還是依然受限於廠商

如果用自訂電文,基本上我不認為除了原有的ATM廠商之外有任何單位(銀行或是其他廠商)可以接手維護.我認為必定是受限於廠商.因為維護ATM端末軟體程式開發的人需要對使用程式語言,維護的每一個硬體細節,Window系統, 晶片卡技術,ATM端末的作業流程與業務流程都有很深入的了解才能進行. 這在一家廠商已經很難了,更何況在銀行需要懂很多種廠牌的ATM.以現在的市場狀況來看,如果有這樣的人,必然會被廠商以高價挖走.很難維持的!

>5.IF我們採473X,Diebold 912,NCR NDC+ or Wincore,是否只要一套atm端末軟體,atm硬體我們能驅動嗎?如是,若要提高atm程式維護能力,這是一好的選擇嗎?

如果用這種方式,是在採購ATM硬體的同時要求廠商提供原廠已開發好的軟體,然後把正在使用的設定檔download下去,就可以運作.以後新的交易,畫面都是銀行自己調整設定檔就可以了.硬體的驅動在設定檔跟主機回應交易的電文裡面有相關的設定可以驅動.(幾乎)沒有ATM端末程式維護的需要.如果要提高銀行開發ATM端末交易新功能或業務的能力.我認為這是最好的選擇,也許是唯一可以成功的選擇.因為這樣的維護方式讓銀行在比較低的風險,比較少的技術與人力的要求下可以自行掌握ATM端末的交易開發能力(含硬體控制)

當然這種規劃又有兩種變形

1) 全部的ATM使用同樣的規範:比方說選擇了NDC+,然後要求Diebold與Wincore安裝他們的NDC+模擬軟體.之後就可以把NCR, Diebold與Wincore都當成NCR ATM來開發(不是寫程式而是改設定檔)

2) Diebold ATM用912, NCR ATM用NDC+,Wincore ATM則選用其中之ㄧ: ABN, BOA與DBS等國際銀行是採用此一策略.因為開發維護端末的工作只有設定作業所以工作負擔不大,而那些銀行業務與資訊單位的人認為每一家的硬體設計都有他的特色而這個特色是搭配他的軟體達成的如果換了用其他的軟體來模擬會失去這些特點,所以要求使用他的標準軟體.像ABN, BOA就把NDC+與912列做可以接受的Standard

one in SH's picture

當然故事還有後續,朋友又問到

>1.這種端末軟體是否只有Diebold及NCR有,他牌ATM就使用Diebold or NCR相容的模擬>版本,(如)採Diebold 912 or Turbo 3X端末軟體,NCR/Wincore/Omron/Hitach的>ATM就使用Diebold相容的模擬版本,(如)採NCR NDC+端末軟,Diebold/Wincore/Omron/Hitach的ATM就使用NCR相容的模擬版本

不是, Diebold有出912, NDC+模擬, Turbo3X等端末軟體

NCR有出912模擬, NDC+等端末軟體

Wincore有出912模擬, NDC+模擬, Turbo3X模擬等端末軟體

Omron與Hitach: 我沒有看到資料說他們有出.

>2.IF我們家有4種廠牌ATM,是否就有4種設定方式,但每一廠牌ATM機型又有多種,是不是又會有不同版本問題,雖然設定簡單又不須寫程式,但只是會有多種設定方式

設定方式不會因為廠牌不同而有變化,反而會是因為硬體配備不同或是業務需要不同而變化.

比方說, Diebold與NCR配備有對帳單印表機的ATM在對帳單列印交易的設定方式是相同的.但是同樣是Diebold的ATM如果沒有對帳單印表機,那就不會設定對帳單列印交易了.

另外我們也常常會因應ATM的安裝地點而做不同的設定. 比方說Wincore與Diebold裝在OK便利店的ATM設定方式是相同的但是同樣是Wincore的ATM裝在全家便利店至少在廣告畫面與促銷交易的設定就不同了.

one in SH's picture

經過多年,重看之前的文章
感覺自己還真是認真說一個東西
當然 這幾年工作的工具已經從compiler逐步變成visio再變成ppt
ATM也只變成要用錢去看看的東西
通用型ATM軟體也在人定勝天的意志下再許多(大陸的- 台灣我不知)銀行被推廣
最近看到一句話- 中國人沒有道歉的文化
我也不例外
我還是死皮賴臉的認為通用型ATM軟體是銀行在ATM或自助端末的營運上是困擾
近日與銀行客戶談話時 少有的談到了現在幾乎每個月發生一次關係的ATM
果然發現 通用型軟體對於中小型銀行來說像是一個割不掉的痛
每當有新小功能想做的時候 發現叫不動廠家 因為通用型軟體是由非硬體供應商承包
每次開發新的小功能 可能合約金額就個幾萬塊台幣 同時該廠家與銀行又沒有其他業務往來 配合度自然不高 最後就發生個金ATM管理部門與IT部門互相指稱對方應該主導與管理廠商的業務配合
當然 因為小弟改行已久無法自告奮勇 只好拿出現在耍嘴皮的本領告訴客戶 他們應該請敝公司作為顧問角色來研擬外包管理規範

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
情非得已,網路蟑螂橫行,必須確認您是友善的訪客,麻煩之處,尚請見諒
Fill in the blank.