Linux正处于一个发展的瓶颈,期待打开“应用”的僵局。本文的三位作者记录下了他们开发银行Linux前端系统的思考和体验,非常具有借鉴价值。
2004年被称为是Linux应用推广的开端之年。剖开历史巨大的横断面,诸多的Linux应用项目如繁星,开始隐隐出现在巨大的苍穹下。它们中的许多注定只是流星,划过天际,转眼消逝不见。但回溯历史,又有多少看似细微末节的小事件,却具有开启历史巨变的因果机缘。
2004年年初,交通银行中国香港分行和高阳科技有限公司决定联合开发Linux前端系统,历时共8个月。这是国内银行业第一次在关键业务应用中大规模使用Linux平台。长期以来,大家对Linux是否适用于处理关键企业应用一直存有疑虑,国外也少有先例。Linux正处于一个发展的瓶颈,只有打开“应用”这个僵局,Linux才会像奔流之水,浩浩荡荡,蔓延开来。因此,这个项目具有很好的实验和示范效应。结合开发Linux前端系统的经验,我们将从架构设计和技术手段两个不同的角度来探讨Linux应用开发所面临的一些共性问题和解决办法。希望记录的这一点感悟与体会,不会被湮没在漫漫历史尘埃之中,而是为后来者贡献一点微光,照亮他们继续前行。
“可定制”前端VS“编程型”前端
银行是信息化开展最早的行业,传统的手工簿式记账早已被电脑所取代。走进任何一家银行网点,首先映入眼帘的,就是一排排电脑以及在电脑前忙碌的工作人员。这些部署在各营业网点或部门的电脑系统就称作银行网点前端系统,行内的人习惯称其为柜面系统。
前端系统完成的功能极其复杂,既包括对输入和输出的展示和控制,也包括外设驱动、数据校验、通讯和代码翻译等功能、还需要实现诸如现金箱管理、交易冲正、对账、报表打印、消息通知以及交易的复核、授权等业务功能。
Linux前端系统除了要满足上述功能之外,还把目标定位为一套“可定制”的前端系统,这有别于国内银行普遍采用的所谓“编程型前端”。
所谓编程型前端是指每一个交易都需要写一个前端程序。随着银行业务种类和业务复杂度的增加,这种前端系统的弊病就显露无疑了——程序人员不得不花费大量的时间来编写数目庞大的前端程序,而且一旦业务变化或者要新增功能,又需要重新修改调试程序,从而影响了整个银行电脑系统的稳定性和灵活性。