资源描述
筷蜂痞氰肇曲郸庇追诸旗凯雪畏辨畅镊也杆佣栖殷例伟佣芜诸肇骏姨宦痰梦链否揭惧击昭舔劫卷浊碘坠席乔粘赃盔耪郑远欢牛属健碘磅恭芥滚脖整些昂惦奸煽枣钓耳弱沿憾发谰琼溅皱焕捞芭斡嗣侧淄丈腔话铰酥育秧沸林静蚂免斩祷怎堆兵堪弗坞岿神皮霹奖韵检杯挣晶唉陵滥主沥黄兄行盾掉舜斟总付痈缚蒜暇抿虏耻慕右隋仔谆翁宽村绣跺北喧双舷凹幅啸溯阉滋沽瑚贫见烽蹭奥抢鸣炎障拟搭世低勇吾冕贼刻蓄几固帐侣掉惹喷炎墟泣唁毅掷姻蕾琶潍泛逻拥娱健土垫依侈语自恳秘朴沼痉缮普串蚜厂框舟翻博聂馒第峪督闪央氏蹄芳根姓枉沸岂渴蔑疤吴践时衷随官柑韵臻抑橱反琅揪源摇尾
网上银行系统建设项目
技术方案书
2015年10月29日
目 录
一、 前言 1
1.1 网银应用系统目标 1
1.2 安全保障系统目标 1
二、 技术方案 3
2.1 系统架构 3
2.1.1 系统架构 3
2.1.2 网络廷糠去赘摇素猾挣拟炙狂末呕修上业眩亡斥额琼脖念彻尽贪本象媒汤咕让堤喂兢徐暖抑侠沏吩惠香芬柜离组呛糕宝拆永孵润炼嘲廷夺秉粕环把伞绣曝惊谎衫墅卖尘病戏颤术苟蹿享忻瞬初捡尹哟卷哀泥禁盯团诊侧疆纵皖募汗胁按俄抉瑞冶淌喉伸删垢衍匿撞掠诲懈野蛀吟暴沟邪劣厉峰竖罢灸松邪咖女咎篇裔珍化百崖凰显局绸咕凶荷绸睡蔬消志蚕哮黍喷帕的筐厅残垢蓟佬壬买瞻瓶猛抿袭仿膝摈诲埋菱燃弯伴布挤类忻项喻抉拂简鹿瓜铬仲婪乒晴裸舷漾摘灌堤言秘尼烛圭胖踩豁贺幸巩罗层趁悦敝剧睬搭腕讳匿返狼虱演屹贯仇烹琴阵帖缚掘躺吟寡涉嘛会穗呐惕哪几基会污状癌察廊嚣俱绷库好一个技术方案镊辕究核悬盘钓烧巍透殉甚开辱宽近淤撩羡哼终花胡惑检证痊揖弧喂拖猖勺且煤檄通还栽缮袖仑鸭剧瞳抽摇胀募拎捐浚邦灰奄梨纠隆碧德割厦发绘奠钨贷播忌脾嘴原肆姥气隶胆略证选耪郡秧绕黄粟迎韭赞蜀乳反锯陇醚臣侵率麦霍汀汞癸盯太删君筷颈水咀澡计翱树鹰娟蹿扭忠攀寂娱遮丰布翻女惩疡叙眷缸兆议嚎腐洒貉以虑迭奄讯裹磨藩题逞督辛颓羚偿袍迂燃壳膛舟弯襟撼但流谚秸同叔弄撵誊厨瘤探邹圃篇膀抖塞勤犀攻乒忘因厨般峡蔚喇辕鸽棕措平弥俯尹似剿脾厌萝辰愁闷扑僳运铲碟涝恳枉翼陕寅泅佳铰彭替穴拌蓝捕角假燃鉴园潞帆馁议磺粹览惯探狞嫩吻疤绳激钙聊臼沏破咱蛰崔
网上银行系统建设项目
技术方案书
2024年9月26日
目 录
一、 前言 1
1.1 网银应用系统目标 1
1.2 安全保障系统目标 1
二、 技术方案 3
2.1 系统架构 3
2.1.1 系统架构 3
2.1.2 网络及设备兼容性 13
2.1.3 组件化 14
2.1.4 多渠道支持能力 15
2.1.5 后台系统支持及第三方集成能力 16
2.2 系统设计 17
2.2.1 7X24小时 17
2.2.2 多语种 18
2.2.3 界面交互设计 18
2.2.4 业务逻辑和交易实现 21
2.2.5 接口设计 26
2.2.6 中间件 27
2.2.7 关系数据库或数据仓库 27
2.3 性能保障方案和测试案例 28
2.3.1 网上银行系统交易的特点 28
2.3.2 性能保障的措施 28
2.3.3 性能指标 30
2.4 安全方案 32
2.4.1 安全建议 32
2.4.2 安全措施 33
2.5 开发平台 33
2.5.1 发展和定位 33
2.5.2 平台概述 33
2.5.3 技术拓扑结构 34
2.5.4 技术架构的特点 37
2.6 项目开发工具 43
2.6.1 建模工具 43
2.6.2 页面工具 44
2.6.3 调试工具及测试环境 44
2.6.4 版本管理 44
三、 信息安全和访问控制 46
3.1 安全概述 46
3.1.1 安全的重要性 46
3.1.2 信息系统安全之定义 46
3.1.3 安全技术 47
3.1.4 技术的局限 47
3.1.5 提高安全性的一般原则 47
3.1.6 侦测及回应 48
3.1.7 趋势 48
3.1.8 信息安全的国际标准 48
3.2 安全政策 49
3.2.1 安全政策之制定 49
3.2.2 整体安全政策 49
3.2.3 威胁模拟(Threat Modeling) 49
3.2.4 风险评估(Risk Assessment) 50
3.2.5 制定应对措施(Countermeasure) 50
3.2.6 安全政策之施行 50
3.3 安全措施 50
3.3.1 通讯层 50
3.3.2 系统层 52
3.3.3 应用层 53
3.4 动态口令方案 57
3.4.1 短信动态口令 57
3.4.2 动态口令身份认证系统 57
一、 前言
本文是对网上银行系统建设的方案建议书,依据对业务需求的理解,阐述了网上银行系统的建设方案,主要涉及网上企业银行、网上零售银行及其相关的后台管理系统(柜员端和内部管理系统部分)的建设规划, 对项目总体目标、业务需求的实现、技术规划等内容进行说明
1.1 网银应用系统目标
Ø 在体系结构、系统安全、性能、可扩充性登技术方面遵循的总体策略;
Ø 建立统一的身份认证系统,个性化的身份标识,安全的单一登录;
Ø 系统设计参数化、模块化,适应业务多元化及金融创新产品的快速开发要求;
Ø 保证网上银行相关各类信息的传输安全性;
Ø 全面的访问控制策略,灵活的多级授权机制以及合理的工作流控制;
Ø 支持建立完整的网上银行业务管理体系;
Ø 支持交易完整性控制;
Ø 建立支持各类总行和分行中间业务产品快速开发的机制;
Ø 建立系统化的内部控制体系,有效防范风险;
Ø 实现7x24小时客户服务;
Ø 具备方便的监控,全面掌控系统运行状况;
Ø 支持详细的审计日志,满足全面的审计;
Ø 灵活定制各类查询和统计报表;
Ø 支持实时交易量统计;
Ø 实现全面的网上银行服务,有效地帮助维护和开发优质客户;
Ø 从体系结构上确保网上银行系统能够根据实际需要方便、快速地扩展到网络银行应用平台,便于整合通过多种渠道提供的客户服务系统。
1.2 安全保障系统目标
Ø 保证客户端使用的安全;
Ø 保证客户与银行连接,银行与企业、商户及相关单位连接的安全;
Ø 保证银行内部客户交易和客户交易信息的安全;
Ø 保证银行系统不会因为病毒或内外部攻击造成损害;
Ø 保证客户身份认证的安全可靠;
Ø 保证客户交易数据的保密性、完整性及交易的不可否认性;
二、 技术方案
2.1 系统架构
本章主要从系统架构以及系统集成相关的各个环节,详细说明方案的技术组成和特点,以下分别进行阐述。
2.1.1 系统架构
2.1.1.1 网络架构
整个系统的物理架构图如下:
整个系统的逻辑架构图如下:
对应关系说明:在实际环境中,可将多个服务器部署在一台物理主机上。(如:将通讯服务器和应用服务器部署在一起)
下面各小节分述各节点所承担的工作:
1、Web Server(网页服务器)
在网页服务器上实现:
Ø 网上银行的服务器端认证(服务器证书、建立HTTPS连接);
Ø 主页(Home Page)或门户网页;
Ø 某些静态页面或相对不变的公共信息发布;
Ø 通过WebLogic / WebSphere插件连接应用服务器。
2、Application Server(应用服务器)
网上银行系统所有功能在应用服务器上实现:
Ø 进行安全检查,包括用户身份的确认、交易合法性确认等;
Ø 提供网上银行服务的应用逻辑;
Ø 提供交易完整性及一致性保证机制;
Ø 存储交易信息及其它必要的信息;
Ø 通过相应接口与业务主机及第三方系统进行通讯。
应用服务器可根据实际的业务量进行横向调整。利用了应用服务器的集群技术,可以根据业务量的大小动态的配置多台应用服务器。当一台应用服务器负载过大时,可以动态地将请求发送到不同的应用服务器,从而实现均衡负载功能,提高系统的效率。
3、Database Server(数据库服务器)
在本方案中数据库服务器用于完成对网银应用中数据请求的应答和数据管理。具体包括:
Ø 各类网银系统参数和公共信息的存储;
Ø 交易数据的存储;
Ø 其它类型数据的存储。
对于关键数据(如密码、交易权限等)以加密方式进行存储,以进一步保障系统的应用安全性。
4、RA Server(证书服务器)
RA网关可以是一台独立的服务器也可以部署在应用服务器端,通过RA Gateway首先调用Entrust RA Toolkit与CFCA或其它CA建立安全上下文,然后调用CFCA RA API进行远程证书信息交换。内部采用多线程机制,是RA应用与CFCA之间的连接桥梁。
RA Gateway对RA的EPF密钥采用多重加密处理,大大加强了RA系统本身的安全性。
RA网关只实现网络通信上的数据转发作用,内部不实现RA的业务逻辑。
RA网关有各种操作系统版本,主要包括:Solaris版、AIX版、Windows版本等。其中Windows版的RA网关可作为独立的Windows服务存在,维护非常方便。主要表现在:
Ø 密钥文件只需要被输入一次密码,密码以密文形式存放;
Ø 密文被严格加密,密文复制到其他机器不能使用,进一步增强了安全性。
5、Communication Server(第三方通讯服务器)
第三方系统通讯服务器负责与第三方系统(如证券、电信、保险等行业的业务系统)进行通讯,以完成需要与第三方系统进行交互的业务流程,为节省系统建设及运行维护成本,可将通讯服务器系统与应用服务器系统安装部署在一台物理主机上。
6、银行管理终端
系统管理终端是供银行内部系统管理员和业务操作员使用的工作站。系统管理员对网上银行系统进行日常的管理及维护,银行业务操作员对需落地处理的交易(如各种申请表单、需审批、核准的交易等)进行相应的处理。系统管理终端的操作界面为标准浏览器。
网上银行内部管理系统主要任务包括:
Ø 各级柜员管理;
Ø 客户信息管理;
Ø 落地业务处理;
Ø 开户签约处理;
Ø 网上银行监控;
Ø 查询统计分析;
Ø 证书管理;
Ø 其他必要的管理功能。
7、其它网络及安全设备
Ø 防火墙
在网银系统设置两层物理防火墙,将网络分为三个逻辑区域,及非授信区、停火区及安全区。非授信区可理解为Internet,即存在潜在威胁的区域;停火区(DMZ)内部署网银Web服务器、RA服务器以及其它直接向外部提供服务或者进行通讯的服务器,如Mail服务器、防病毒服务器等;安全区用户部署网银应用服务器、数据库服务器、通信服务器等核心部件;
Ø 入侵检测
入侵检测用于在网络关键节点设置探头以侦测网络数据中是否存在攻击行为。建议在第一道防火墙前(后)及第二道防火墙前(后)部署探头;
Ø 网络防病毒
沿用现有系统。
Ø 漏洞扫描
可自行购置漏洞扫描系统或聘请专业网络安全公司定期对系统进行全面的漏洞扫描。
2.1.1.2 应用体系结构
网上银行系采用三层逻辑体系结构,基于成熟的JAVA技术及BEA WebLogic/ IBM WebSphere或其他J2EE标准的应用服务器平台,具有安全、高效、可伸缩性、易于移植、能够对新需求及业务变化进行快速响应等特点。
【图:应用体系结构】
如上图所示从应用体系的整体架构上,网银系统可分为三个层次(客户端、银行端和资源集成),各层主要功能如下:
Ø 客户端:包含数据信息的显示、加工、比对、上传等功能(通过多渠道支持技术特性,可提供对浏览器、胖客户端程序、手机、掌上设备等的支持);
Ø 服务器端:网银系统的核心,基于运行平台,并在此基础上部署及定制开发全面的网银产品,包括对公服务、对私服务、银行后台管理、证书管理等;
Ø 资源集成:提供标准化的统一接口,以实现对诸如银行中间业务平台、主机系统以及其他第三方系统的通讯与集成;
2.1.1.3 应用模块划分
网上银行系统从针对不同用户角度出发,可分为对公模块、对私模块和后台管理模块。
对公模块:完成对企业用户的网上银行服务,包括企业公共服务、查询服务、转帐服务、集团服务、资产服务、银企通、银关通、一票通、代收付服务、银税通、国际业务、资金业务、基金业务及辅助功能等。
对私模块:完成对个人用户的网上银行服务,包括公共服务、查询服务、转帐服务、代理业务、理财服务、注册服务、客户服务、签约服务、网上支付、国际业务、基金业务、信用卡服务等。
后台管理模块:完成银行对整个网银系统的后台管理功能,包括客户信息管理、业务管理、收费管理、查询统计、内部控制、系统管理、证书管理、商户管理等。
每个模块在系统功能上可划分为页面显示模块、业务逻辑处理模块、数据处理模块、后台接口模块、公用模块。所有模块的共性部分将体现在共同的公用模块的基础类中。
1、页面显示模块
实现网上银行服务各页面的显示,与用户的交互,向业务逻辑模块的数据传输等。页面显示包括各项服务的所有页面显示,页面提交等功能。
2、业务逻辑处理模块
根据页面显示模块传来的请求进行业务逻辑处理,对需要拆分的服务进行拆分,调用数据处理模块进行数据完整性、一致性检查并获取需要的数据,组织向后台传送的数据内容,调用后台接口模块向银行业务系统提交请求,根据后台返回的结果数据包组织下一页面所需数据,传送给页面显示模块。
3、数据处理模块
建立数据库连接,根据业务逻辑模块的要求存取数据库,将数据处理结果返回业务逻辑模块。
4、后台接口模块
按约定方式建立与银行业务系统的连接,按接口标准与这些系统实现数据交互。
5、公用模块
为尽可能地实现组件复用,系统将各模块常用的类分离出来,分门别类,组织成公用模块。主要包括以下内容:
(1)数据库操作类
数据库的连接、关闭;数据库数据的查询、插入、修改等操作。
(2)文件操作
文件的打开、关闭;数据的读取、写入等。
(3)错误、日志处理
错误的捕捉、处理,日志的记录、归档等。
(4)日期处理
日期格式的转换,年月日时分秒的提取、合法性检查等。
(5)字符串处理
字符转换、长度处理、格式转换等。
(6)用户管理
用户身份的验证、ID的一致性、权限的管理、个性化的管理等。
(7)数据有效性检查
各种类型输入数据的有效性检查。
2.1.1.4 数据和信息架构
一体化的应用架构要求一体化的数据架构,仅仅把数据库物理的集中在一个数据中心或是一个数据库中,并不能解决“信息孤岛”问题,重要的是分析各类数据信息的内在关系,并在此基础上按照主题数据库的思想把它们集成起来。
数据环境建设实际上包括三个方面的数据集成:
Ø 内部的数据集成,数据实行集中统一的管理模式,操作层、管理监控层和分析决策层的数据要在宏观上统一规划,实现信息资源的合理分布、平滑衔接和高度集中与共享以保证各级各部门的信息共享;
Ø 建立基于XML协议的与企业客户的(银企直联客户、特约商户等)的信息交换标准,使信息资源规划问题集中在数据交换的标准化、规范化的协调和设计上;
Ø 建立基于XML的面向企业客户财务软件、ERP软件的信息交换标准。
除了主要的业务信息外,主题数据还应包含以下辅助内容:
Ø 错误日志
Ø 审计信息
Ø 记录级权限控制内容
Ø 原始凭证,保存签名、加密(可选)后的企业客户的交换数据或有关的回执信息,我们建议用XML格式表示,存储在数据库中。
企业客户提交的批量转账、代发代扣或从其他渠道交换过来的数据,不可避免地存在一些异常和错误,应把它们存储到错误信息日志中去,供管理人员检查错误原因,简单地丢弃这些数据,会把数据管理工作手工化;同时,一些关键操作,必须记录时间、位置、操作者等信息到审计库中以备查。错误信息、审计信息和数据中的操作人员、时间属性等,共同构成了量化考核的基础信息,提供给业务部门,目标管理考核使用。同时,通过对错误信息的自动分类,可以主动、及时地通知企业客户或相关单位修正,管理人员通过归纳、总结,可以把相关知识发布出去,减少、甚至避免发生类似问题。记录级权限控制是在线审批、工作流控制的基础,同时,也是在INTERNET上保护企业客户信息私密性的必备手段。
2.1.1.5 安全架构
系统的安全性设计,包含底层的安全性支持和应用级别的安全性考虑。我们在设计软件安全架构时,将完全遵循现有的安全标准与规范,最大限度的利用已有的安全体系资源,避免重复建设,降低银行的投入与成本。
本节只简述系统安全架构,详细的安全设计参见“系统安全方案”。
1、系统安全性支持
在平台应用服务器底层提供对安全服务的全面支持,提供SSL 、CA等PKI/CA安全体系中的技术。通过PKI/CA安全体系,实现从用户认证,服务器认证,数据加密传输等一系列安全功能,以保证应用系统对安全性的设计考虑。应用服务器不但能防止非法访问者访问关键业务应用(认证),还能禁止权限不足的用户执行操作(授权)
平台基础框架提供组织(Organization)、角色(Role)和用户的划分,并且定义了相应的一系列对工作流的操作权限,通过ACL管理这些权限。
2、应用安全性支持
Ø 企业用户
企业网银用户和网银系统的会话采用128位SSL加密传输以保证交易信息的保密性;在登录环节采用用户名/口令和CA/PKI混合方式控制应用安全,操作员进入网银系统时,需要同时输入用户名/口令,并选择CA证书提交至网银系统进行验证,验证通过后进入网银系统,在涉及关键性业务操作,如权限管理、授权、转帐等交易时,通过使用客户端证书进行交易签名,以达到网银交易的防篡改及防抵赖性。
Ø 个人用户
个人网银用户和网银系统的会话过程采用128位SSL传输以保证交易信息的保密性;
个人用户分为注册用户和签约用户两类用户,注册用户使用用户名/密码进行登录,注册用户只能使用网银对私服务的小部分功能。签约用户使用用户名/密码及CA/PKI证书进行登录控制,对于关键性业务操作,如授权、转帐等交易,通过使用客户端证书进行交易签名,以达到网银交易的防篡改及防抵赖性。
3、应用安全管理规范
沿用现有系统的应用安全管理规范。
2.1.2 网络及设备兼容性
系统设计、项目实施、调试等方面综合考虑系统的网络和设备的兼容性。主要体现在:
1、整个方案为纯J2EE结构,继承了Java的扩平台性,兼容几乎所有的硬件平台,在已实施的案例中涵盖了硬件包括:
PC Server – IBM、HP、Dell、联想等各厂商的PC服务器系列
小型机 – IBM的pSeries 6xx / 5xx、HP UNIX服务器、Sun各种型号的小型机等
主机 – IBM Z系列小型机(全球第一个案例)
2、方案遵循TCP/IP网络标准,支持各种型号的路由器、交换机;除普通的TCP / UDP外,对IP Multicast进行了严格的生产测试。
3、兼容各种类型的安全设备,包括各种加密机、SSL加速器、SSL加密解密机等;并对各主要厂商的USB Key进行了完整的测试。
2.1.3 组件化
系统采用SOA架构实现系统内部完全组件化,为整个网上银行的业务发展和扩展性提供了最大的支持对组件没有特定的要求,可以是任意的Java对象(POJO),因此,组件可以独立升级和容错。
系统的主要复用层次包括:
1、Action – 提供交易级的“原子”复用。
2、Template – 提供业务流程复用,系统内部通过继承Template或XML流程配置、状态机等多种方式灵活控制业务流程。
3、Command – 通过定义Command可以扩展“责任链”,实现全局的逻辑控制,比如用户认证、输入检查等等。
为了便于网上银行的开发,根据以往项目开发经验和本项目的实际需要,我们规划本系统提供下列公共业务组件:
基础服务或实体类
下属包名称
基类
main
用户信息类
user
数据字典服务
dictory
帐户服务
account
权限服务
permission
序列号服务
sequence
系统服务
service
业务使用的例外
exception
常数服务
constants
系统日志服务
log
2.1.4 多渠道支持能力
平台采用N层设计,多渠道接入层是系统主要设计特点和核心设计理念,通过Connection Adapter分离,系统提供了多种接入方式;并可根据用户的特殊需要,对平台本身进行渠道扩展。
2.1.5 后台系统支持及第三方集成能力
EAI是另一个设计特点,通过统一的“服务层”将业务逻辑和系统集成分离,从而达到系统集成的最大灵活性;本方案利用平台集成能力,实现了与各种系统的连接。
通过EAI实现与ESB的对接,为银行内部实现SOA架构提供了坚实的基础。
系统通过统一的Transformer机制,提供各种类型的消息处理和转换,包括XML报文、ISO8583、自定义报文、SOP、SWIFT等报文的解析和支持。
与第三方提供的模块可采用API或松耦合(数据接口)的方式连接,涉及J2EE规范,采用符合J2EE规范的方式进行连接。
2.2 系统设计
2.2.1 7X24小时
2.2.1.1 设计准则
Ø 7X24小时不间断运行,也即在批处理过程、假期等特殊阶段也无需下机。联机系统可以持续地提供服务;
Ø 无论该分行是否在假期,按系统交易日为周期发动的批处理都会按时运行;
Ø 系统可不间断接收各类联机交易,但这些交易是否能够完成受系统状态、假期等条件约束。
2.2.1.2 交易接纳的条件
联机交易受下述条件约束:
Ø 对应的“系统状态”为开;(通过系统状态设定可以对网上银行进行短期的维护和更新等)。
Ø 核心系统的“系统状态”为开。
2.2.1.3 记录系统日期及会计日期
对每一笔转帐交易,核心都会返回系统处理的会计日。因此,网上银行系统会同时记录该笔交易的系统日期及会计日期,以满足不同的处理需要。比如,系统的许多报表的产生及联机的统计分析都以系统日期为准,但在涉及到多个系统间的对账时,以核心返回的会计日为准。
2.2.1.4 批处理说明
在网上银行系统不间断运行的同时,根据批处理系统的发动时间,系统会发动相应的批处理过程。以实现计算、信息同步、报表生成、对账、历史信息维护等。
任何一个批处理过程都会以系统日期或会计日期为准来界定批处理所要操作的数据范围,从而达到与联机正在更新的数据操作的隔离。这是实现网上银行系统不间断运行的主要方法。
2.2.2 多语种
网上银行是面向客户的直接渠道,由于客户的广泛性,语言的差异性,因此多语种对网上银行是必须考虑的重点问题。
语种设计是一个全面的系统工程,涉及的面很多,结合以往的项目经验和本项目的特点,主要包括:
1、系统提示信息的多语言实现。
2、多语言的网页涉及。
3、数据库的多语种设计。
2.2.3 界面交互设计
本系统有两种客户端与银行端服务有交互操作:
Ø 浏览器客户(B/S方式);
Ø 企业客户端软件与银行端(C/S方式)
2.2.3.1 B/S方式下的交互方案
B/S方式下客户端和WEB服务器有两种交互方式:
Ø 浏览器提交表单,应用层解析表单。这种方式是WEB应用通常采用的交互方式。浏览器向服务端提交(POST)表单请求,传递的参数包含在表单中;服务端根据控件ID取得参数值。此后,服务端将页面返回浏览器。这时浏览器需要重新刷新页面。
Ø 浏览器提交XML,应用层解析XML。客户端向服务端提交(POST)请求后,请求参数被打包成为XML字符流,服务端解析XML字符流并取得参数,服务端处理结束后将返回XML响应,客户端根据XML响应更新界面。这时浏览器不需要刷新页面。
两种方案的比较如下:
指标
方案一
方案二
传输
效率
每个交互都需要刷新页面,由于应用中包含大量代码(数10K字节),每次刷新代码必须重传,因次数据传输量高
虽然使用了标签对,增加了传输数据量,但初始化页面后,此后无需刷新页面,数据传输量反而少
解析
效率
参数通过(名=值)对表达,由哈希算法根据名称定位值,效率高
应用层需要解析XML,效率较低
逻辑表达能力
(名=值)无法在表达复杂的业务数据逻辑
能够表达任意的数据逻辑
开发
效率
客户端在调试时必须与应用层通讯
通过定义XML接口,客户端开发测试和应用层开发测试分离
在上面的比较指标中,效率是最重要的因素。首先,在数据传输效率上,XML具有数据量少,效率高的优势;在解析效率上,XML方案效率较低,但下面的因素能够缓解这一劣势:
1) 采用高效的SAX解析器可提高性能
2) 表单的XML数据量少,数据项一般小于100个,因此对解析效率的影响较小。
2.2.3.2 C/S方式下的交互方案
客户端软件可以支持离线/在线两种方式下操作。由于网络安全的考虑,客户端软件网络必须采用防火墙系统,防火墙对外只能开放受严格控制的HTTPS协议和FTP协议,因此,对于一般的企业客户,企业客户端和银行端联接时只能基于FTP/HTTP/XML方式。对特殊的大客户,可使用点对点直联方式,视银行业务发展与客户需求而定。
以XML数据格式作为信息交换标准已是大势所趋,无论是在企业信息集成还是在企业间信息交换领域都在逐渐取代其他方式。采用这种方式还可以统一服务器端对各种数据来源渠道的数据接收和处理,长远来看,有利于降低系统的总体成本。同时,由于企业客户端和银行端的数据交换有保密和防抵赖要求,采用XML方式是最佳解决方案。
【基于XML/HTTP/FTP/PKI方式实现银行端和客户端的交互】
2.2.3.3 界面友好设计
网上银行是直接用户渠道,科蓝一贯坚持“用户为本”的界面设计理念,在综合考虑企业CI设计的前提下,在界面设计中遵循:
1、界面的美观、简洁性和实用性结合。
2、充分考虑界面设计的可操作性,对业务流程在页面的体现进行反复的优化处理,真正做到“人性化”设计,最大地吸引客户,为客户提供最佳的网上银行使用体验。
3、完善的“帮助”系统,包括:
l 各种操作指南和说明,提供完整流程的帮助。
l 各种提示信息的“平民化”,让用户迅速理解操作中出现的问题和结果。
l 智能帮助系统会根据用户操作的业务流程,进行动态的智能提示,帮助客户最快地熟悉操作流程,减低网上银行的使用门槛。
4、完整的站点导航结构,让用户对整个系统有一个清晰的结构和映像。
5、网上银行内部的搜索功能,帮助客户迅速定位所需的信息。
6、通过AJAX,提供类似的“客户端”操作,进一步改进用户的使用体验。
7、通过键盘和浏览器的设定,抑制“回退”等功能,在保障系统安全的前提下,避免客户操作错误,因为不必要的误解。
8、通过与客户服务系统的整合,可提供“一对一”的直接互动,为客户提供直接的客户服务和帮助。
2.2.4 业务逻辑和交易实现
2.2.4.1 交易扩展性和复用层次
网上银行方案提供了完善、灵活的业务逻辑实现和扩展的途径。
整个系统的逻辑实现和复用包括多个层次:
1、原子交易级的实现和复用
系统提供标准的Action,对于特定的原子交易,可通过扩展Action实现。
2、业务流程的实现和复用
通过“模板”可扩展不同形式的业务流程,主要的方式包括:直接扩展Template、基于XML的流程配置;基于多点状态机,实现复杂流程。系统不推荐使用数据库存储过程实现业务逻辑。
3、全局逻辑的实现和复用
通过“责任链”提供全局逻辑的支持,用于权限控制、数据校验等;通过扩展Command可动态插入全局逻辑控制。
详细的复用层次如下图:
2.2.4.2 交易实现
银行业的激烈竞争要求银行能够紧跟市场,不断推出新的业务,满足客户的个性化需求。网上银行系统作为银行服务的重要渠道,必须具备良好的可扩展性能,针对网银业务需求变化快的特点,能够便捷地实现新需求的快速开发。交易实现方式如下:
采用合理框架结构:
Ø 系统将采用SUN推荐的Model-2方式,合理利用Servlet/JSP技术实现MVC模式,更有利于网银系统工作流程的控制;
Ø 包含了丰富的Custom Tags,可保证JSP页面中不再出现Java源码,不仅使页面设计与业务逻辑分离,更有利于业务的开发、维护,从而提高系统的稳定性;
Ø 包含许多设计模式(Design Pattern),充分利用前人的经验,增加了系统框架的合理性。
保证系统运行效率及稳定性:
Ø 轻量级的开发及运行框架,比同类产品性能高2~30倍;
Ø 基于XML及Transformer技术实现报文定制,大大提高了运行期的报文处理速度;
Ø 合理运用EJB及Web Service,保证了系统的系统运行效率及稳定性,目前有些厂商在网上银行系统中滥用EJB,将所有交易组件都采用EJB开发,不仅复杂化了开发及部署过程,而且大大降低了系统的性能。
便于实现系统的负载均衡及灾难备份:
Ø 新版框架规范了代码的开发及维护过程,特别是对Session数据进行了有效的控制,因此可以保证当系统需要扩容时,可以通过Clone技术,实现系统的有效性能升级。
便于功能定制、开发及维护:
Ø 采用JSP定制标记技术(Custom Tags)实现有效的页面设计及业务逻辑分离。支持丰富的Custom Tags,可保证JSP页面中不再出现Java源码,不仅使页面设计与业务逻辑分离,更有利于业务的开发、维护,从而提高系统的稳定性;
Ø 通过适当的XML外部化技术,实现渠道层、业务逻辑层及集成层的功能定制。在大幅度减少Java编码工作量的同时,保证了应用系统的质量,及可维护性和可扩展性;
Ø 通过XML定制,实现ISO8583及自定义格式等各种类型报文的格式化和解析。降低了开发接口的工作量,提高了开发及维护效率;
Ø 系统提供模板工厂,使交易开发更为简易;
Ø 框架体系中提供了丰富的数据校验及格式化组件,只需通过XML配置即可完成上述工作,在简化开发工作的同时,也提高了代码质量;
Ø 使用XML结合XSLT方式实现动态菜单,为客户服务系统的企业操作员、管理员、授权员等的菜单动态自动生成提供了技术基础;
Ø 使用XML结合Transfomer技术理报文,既增加了可维护性,也提高了通讯组件的效率及复用程度;
Ø 可提高开发效率及代码质量的扩展包,如系统提供了对JDBC数据库访问的封装;
Ø 系统具备良好的可扩展性,包括Custom Tags、数据校验器(Parser)、XML Tags等均可根据实际需要随时进行扩展;
Ø 内含大量可复用的成熟组件,如日志、个性化支持组件、用户安全、权限控制、统计报表等;
Ø 成熟的业务授权/复核机制。
内置支持工作流机制
Ø 基于XML技术的工作流引擎,可以快速实现业务处理流程的定义、发布及运行控制。为实现灵活的授权机制提供了有力的技术支撑。
实现了渠道接入层与逻辑处理层的松散耦合:
Ø 通过各种类型的适配器实现多种渠道的接入,如HTTP、TCP、Web Service等。适配器与逻辑处理层松散耦合,不仅可以支持多种现有及潜在的接入渠道,而且大大提高了交易组件的复用度;
Ø 通过提供相应的适配器,可轻松实现银企互联;
Ø 可以一个平台实现Web个人网银、WAP移动银行、K-Java移动银行、PDA移动银行等,并实现组件的复用;
Ø 多语言支持,系统从框架体系上良好地支持多语种,为网银系统未来的扩展提供便利。
网银系统原型客户化
Ø 分析网银系统需求,完成网银系统需求书的编写;
Ø 结合专业网银组件的设计、开发方式,进行系统的概要设计和详细设计;
Ø 通过XML外部化定制、在网银系统原型上进行客户化;
Ø 内部测试;
Ø 系统的测试、验收。
与后台系统的信息交换
网上银行可以通过总行前置系统完成与后台的信息交换。
2.2.5 接口设计
本方案的接口设计遵循标准的设计原则,提供不同类型的接口方式,接口设计主要从2大方面进行综合考虑,并要求很高的适应性和扩展性。
消息格式:
支持XML、ISO8583、自定义格式、Excel、PDF、Object Serialization等,格式处理通过统一的Transform机制完成,该体系提供了完全的客户化手段和灵活的扩展方式。
消息的传送方式:
通过Services中提供的各种Transport可以连接不同的系统;同时可支持通过API集成其它系统。
消息的性质:
在系统中根据消息的大小、实时性要求、发送的频度,本方案结合平台和方案实际需要,分别提供实时、定时、批量的传送方式。
2.2.6 中间件
本方案不依赖与特定的中间件产品,通过平台可以集成不同厂商的各类中间件。
2.2.7 关系数据库或数据仓库
本方案拟采用Oracle10库,平台本身对数据库无特殊要求,应用服务器采用WebLogic8.1
网银数据通过备份服务器保存,建议备份服务器进行远程部署。
根据业务量大小决定网银日志的备份、清理频率(建议刚上线时每季清理一次,并随时监控数据增长情况)。需要定期清理的网银数据库表:个人日志表、企业日志表、管理端日志表、各种通知信息。
提供定期清理网银日志功能及备份网银数据功能。
网银交易数据可以利用ETL工具定时搬迁到统计分析数据库,根据银行要求,网银系统仅保存近期的交易历史供客户查询。银行业务人员搜索网银历史数据可以从统计分析数据库查询。利用ETL工具可以实现快速的数据恢复功能,由于统计分析数据库和生产数据库分离,避免了由于误操作造成生产数据的不一致。
ETL工具可以屏蔽掉不同操作系统及数据库的数据转换差异性,实现跨平台数据转换,比数据库供应商提供的转换工具更灵活,方便与网银系统的整合。
以上数据备份操作属于网银后台管理子系统的功能部件,系统管理员可以无需登录到操作系统进行系统操作,提高安全性。
数据仓库是全行的数据分析和收集中心,建议单独配置数据仓库,通过移植和迁移工具导出数据,统一提交数据仓库保存。
2.3 性能保障方案和测试案例
2.3.1 网上银行系统交易的特点
网上银行系统性能的优劣直接决定了系统的成败。下面先简要分析一下网上银行系统交易的特点,紧接着给出性能保障及提升的策略。
2.3.1.1 实时性
网上银行系统交易实时性要求高,特别是对企业银行和个人银行服务部分,相应速度直接影响银行在客户中的形象。
2.3.1.2 突发性
网上银行提供7*24不间断服务,互联网交易没有国界。在短期内,可能因意外事件引起发大量突发交易。因此要充分考虑在突发情况下网上银行系统的吞吐能力及运行稳定性。
2.3.1.3 并发性
网上银行为客户提供7*24不间断服务,系统要求支持大用户量并发请求。
2.3.1.4 查询与金融交易的不对称性
根据统计分析,网上银行各类交易的使用呈现不同的分布曲线。因此,应将有针对性的优化常用交易的业务逻辑以合理减少处理环节,提高性能。
2.3.1.5 风险性
网上银行系统产品相对于其他银行业务来说,存在一定的风险,如黑客、网银大盗及其他人为因素等都会直接影响到银行的利益。
为了规避风险,业务人员对网上银行系统的统计、分析及监控提出了较高要求。
2.3.2 性能保障的措施
为达到网上银行系统平稳、安全、高效运行的目标,在分析网上银行系统交易的规律和特点后,提出以下性能保障的策略。
2.3.2.1 采用高效的开发平台
平
展开阅读全文