我所在的单位是国内主要的商业银行之一,作为单位的主要技术骨干,2003年1月,我主持了远期结售汇系统的开发,该系统是我行综合业务系统XX2000的一个子系统,由于银行系统対安全性,可靠性,可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件体系结构,在详细的设计三层结构的过程中,我采用了字符终端为表示层,CICS TRANSTION SERVER为中间层,DB2 UDB 7.1为数据库层,并采用了 CICS SWITCH组,并行批量的办法来解决设计中遇到的问题,保证了远期结售汇系统按计划完成并顺利投产,我设计的软件三层结构得到了同事和领导的一致认同和称赞。但是,我也看到在三层结构设计中存在一些不足之处:比如中间层的负载均衡算法过于简单,容易造成系统负荷不均衡,并行批量设计不够严谨,容易造成资源冲突等。
我所在的单位是国内主要的商业银行之一。众所周知,银行的业务存在一个“二八定理即银行的百分之八十的利润是由百分之二十的客户所创造。为了更好地服务大客户,适应我国対外贸易的蓬勃发展态势,促进我国対外贸易的发展,2003年1月,我行开展了远期结售汇业务。 所谓的远期结售汇就是企业在取得中国外汇管理局的批准后,根据対外贸易的合同等凭证与银行制定合约,银行根据制定合约当天的外汇汇率,通过远期汇率公式,计算出交割当天的外汇汇率,并在那天以该汇率进行成交的外汇买卖业务。远期结售汇系统是我行综合业务系统XX2000的一个子系统,它主要包括了联机部分、批量部分、清算部分和通兑部分,具有协议管理、合约管理、报价管理、外汇敞口管理、帐务管理、数据拆分管理、报表管理、 业务缩微和事后监督等功能。 我作为单位的主要技术骨干之一,主持并参与了远期结售汇系统的项目计划、需求分析、设计、编码和测试阶段的工作。由于银行系统対安全性,可靠性,可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件体系结构,下面,我将分层次详细介绍三层C/S软件体系结构的设计过程。 1.表示层为字符终端。我行以前一直使用IBM的VISUALGEN2.。附带的图形用户终端来开发终端程序,但在使用的过程中,分行的业务人员反映响应速度比较慢,特别是业务量比较大的时候,速度更是难以忍受。为此,我行最近自行开发了一套字符终端CITE,它采用VISUAL BASIC作为开发语言,具有响应速度快,交互能力强,易学,编码快和功能强大的特点,在权衡了两者的优点和缺点之后,我决定选择字符终端cm作为表示层。 2.中间层为CICS TOINSATION SERVER (CTS)o首先,我行与IBM公司一亘保持着良好的合作关系,而我行的大部分技术和设备都采用了 IBM公司的产品,其中包括了大型机,由于CICS在IBM的大型机上得到了厂泛的应用,并在我行取得了很大的成功,为了保证与原来系统的兼容和互用性,我采用了 IBM的CTS作为中间层,连接表示层和数据库层,简化系统的设计,使开发人员可以专注于表示逻辑和业务逻辑的开发工作,缩短了开发周期,减少开发费用和维护费用,提高了开发的成功率;其次,対于中间层的业务逻辑,我采用了我行一直使用的VISUALAGE FOR JAVA作为开发平台,它具有简单易用的特点,特别适合开发业务逻辑,可以使开发人员快速而准确地开发出业务逻辑,确保了远期结售汇系统的顺利完成;最后,由于采用了 CTS,确保了系统的开放性和互操作性,保证了与我行原来的联机系统和其他系统的兼容,保护了我行的原有投资。 3.数据层为DB2 UDB7.1.由于DB2在大型事务处理系统中表现出色,我行一直使用DB2作为事务处理的数据库,并取得了很大的成功,在DB2数据库的使用方面积累了自己独到的经验和大量的人才,为了延续技术的连续性和保护原有投资,我选择了 DB2UDB7.1作为数据层。但是,在设计的过程中我也遇到了一些困难,我主要采取了以下的办法来解决: