在文章上半部分中,我們提到大型機現(xiàn)代化應(yīng)用策略的更換應(yīng)用、轉(zhuǎn)換與分布集成,在文章下半部分,我們將會講到第三種策略:“黑匣子”分布應(yīng)用。
三、“黑匣子”分布應(yīng)用
應(yīng)對撤消大型機應(yīng)用支持,“黑匣子”方案并不是一個理想的長遠解決辦法。它會加大應(yīng)用再變更的難度,但它卻是風(fēng)險最小、最省成本的辦法。基本思想是,不觸動應(yīng)用本身,但要用網(wǎng)頁服務(wù)供應(yīng)商界面把應(yīng)用包圍起來,使得在開發(fā)人員,管理員和終端用戶看來,它就像Linux或Unix應(yīng)用一樣在運行。需要升級時,界面會把終端用戶需求轉(zhuǎn)化成新代碼并交付給新平臺來處理。
這個辦法行得通的原因在于,在現(xiàn)實世界中,從現(xiàn)在起,即使不是全部亦是大多數(shù)大型機應(yīng)用漏洞將會成為調(diào)整的問題,遠超出以前的麻煩程度。網(wǎng)頁服務(wù)界面處理這類問題的辦法是暫緩需求處理,重寫功能代碼。這么做肯定會造成問題,所以這不是一個優(yōu)越的執(zhí)行方案,存在自身風(fēng)險--假設(shè)問題被解決了,然后又發(fā)現(xiàn)那并不是最糟糕情況--但是精心做的話,它卻是快速節(jié)約的實施方案,風(fēng)險也極低。
從定義看,“黑匣子”分布應(yīng)用實施包括,應(yīng)用現(xiàn)代化(供應(yīng)商界面),分布集成(供應(yīng)商界面代碼和新平臺的新代碼,但是“黑匣子”在老平臺上),但并不包括重組。這意味著大型機環(huán)境要有網(wǎng)頁服務(wù)供應(yīng)商界面的開發(fā)支持和跨虛擬機網(wǎng)絡(luò)和管理--現(xiàn)在多數(shù)大型機環(huán)境都具備這點,在機箱外。所以,如果把大型機型Linux作為新平臺,可以自己動手操作,也可以從IBM獲取一點幫助。當(dāng)然,所有其它環(huán)境也同樣支持網(wǎng)頁服務(wù)供應(yīng)商界面,虛擬機,跨平臺網(wǎng)絡(luò)和開發(fā);只不過,跨平臺管理可能要多花點力氣。
成本低的緣故,自己動手安裝“黑匣子”的想法很有吸引力。但是,預(yù)算足夠的話,我還是建議把活外包給IBM,CA Technologies,或Clerity這樣專業(yè)的公司。即使這樣,還是比其它方案來得省錢。這些公司憑借與其它IT大型機應(yīng)用長期打交道的經(jīng)驗,了解難點在哪里,所以能給出諸如該類型應(yīng)用架構(gòu)未來可能出現(xiàn)的漏洞之類有價值的建議。這些建議對于業(yè)務(wù)關(guān)鍵性應(yīng)用可以說是無價之寶。
大型機應(yīng)用現(xiàn)代化的現(xiàn)實情況
關(guān)于上述所有的策略還有一則警示:代碼轉(zhuǎn)移到新平臺,意味著性能損失。損失可能不大,就像“黑匣子”方案中出現(xiàn)的;損失也可能很大,遭遇到重新編寫多數(shù)甚至全部代碼的情況。但經(jīng)驗表明,很少出現(xiàn)新應(yīng)用一開始就在新環(huán)境出運行順暢的情況。
那么該如何在這些策略中做出選擇呢?首先,剔除那些不可行選項。很多情況下,無法做到有效替換。有時候,代碼過于定制化或無法滲透,那么根本不能進行重組。這時,你要問問自己這個應(yīng)用到底有多重要,撤消支持的需求有多急迫。對于不是特別關(guān)鍵的應(yīng)用,如果時間允許的話,重組或者別的形式的轉(zhuǎn)換可能正是需要的手段。如果需求很急切,“黑匣子”可能是唯一出路。
只有到這個時候你才需要考慮費用。這是因為現(xiàn)實生活中經(jīng)常出現(xiàn)這樣的情形,“要么現(xiàn)在付錢,要么回頭多付”。初期投入最少方案似乎很有吸引力,例如根據(jù)需要逐項重寫應(yīng)用,或是直接啟用號稱能起到同樣作用的新型開放源應(yīng)用。但是據(jù)調(diào)查,很多項目都是由于終端用戶對于新應(yīng)用,及伴隨出現(xiàn)的停機時間和無法修復(fù)的故障等情況產(chǎn)生了極大不滿而最終失敗。所以仔細權(quán)衡承擔(dān)的風(fēng)險和后續(xù)將產(chǎn)生的維護費用后再做出合理的初始投入決定才是明智的。
最后一個忠告:一些把大型機應(yīng)用重新配置到新平臺的應(yīng)用遷移項目從長遠看確實是值得的。通常是因為,網(wǎng)頁服務(wù)供應(yīng)商界面允許大型機代碼在復(fù)合應(yīng)用中得以重新使用,或者重組讓終端新用戶能夠獲取所需功能,而代碼也能為新應(yīng)用所用。所以不要把應(yīng)用遷移看作逃不掉的苦差事,像人體的牙根管。它也可能是沙子里的鉆石,蘊含著優(yōu)秀的潛質(zhì)。