1、摘 要摘 要随着互联网的发展和移动平台的广泛应用,电子银行兴起并迅速发展,银行开始逐渐转换经营模式,形成以传统柜台业务和网络应用并驾齐驱的服务模式。为了使电子银行服务更加快捷方便,需要为电子银行设计电子银行前置系统,专门处理电子渠道类业务。电子银行前置系统针对网上银行和手机银行开户业务设计和实现。其功能包括电子银行开通状态查询、网银短信版签约、手机银行签约和手机银行升级四项功能。电子银行前置系统通过监听任何其他渠道系统通过自己的平台发送请求到该系统申请相关业务包括开通网银、手机银行等,并实现相关开户业务的处理。移动开户即通过移动平台向电子银行前置系统发起开户业务的请求,最终实现用户的业务需求。
2、通过移动开户的实现可以明确电子银行前置系统的各项功能并对功能的实现情况进行测试,完善系统的开发和设计。关键词:电子银行 开户业务 功能 移动平台 设计ABSTRACTABSTRACTWith the development of the Internet and the wide application of mobile platforms, electronic bank rise and rapid development, Banks begin to transform business model, formed with traditional counter business
3、and network application service mode is neck and neck. In order to make the electronic banking services more convenient, need electronic banking front design for electronic banking system, specialized processing electronic channel business.Electronic banking front system for net banking and mobile b
4、anking accounts business design and implementation. Its functions include electronic bank opening status query, net banking message version of the contract, mobile phone bank sign and mobile phone bank upgrade four functions. Electronic banking front system by listening to any other channel systems
5、by their own platform to send a request to the system to apply for related business, including the open net banking, mobile banking, etc., and implement related business processing to open an account.Mobile account is through the mobile platform to the electronic banking front system by launching se
6、rvice request, finally realizes the business needs of users. Through the implementation of mobile account can clear the electronic bank front system functions and the implementation of function test, perfect the system of development and design.Keywords: Electronic banking Open account business Func
7、tion Mobile platform Design目 录 i目 录第一章 绪论 .11.1 选题背景及意义 .11.2 国内外现状分析 .21.3 论文工作内容 .31.4 论文组织结构 .3第二章 相关技术概述 .52.1 PE 框架和 OSGI 框架介绍 .52.2 数据库介绍 .62.3 本章小结 .7第三章 电子银行前置系统需求分 析 .93.1 电子银行前置系统业务陈述 .93.2 电子银行前置系统需求建模 103.2.1 功能性需求 103.2.2 非功能性需求 123.3 电子银行前置系统数据建模 .133.4 电子银行前置系统过程建模 .143.5 本章小结 .15第四章
8、电子银行前置系统业务设计与实现 .174.1 电子银行前置系统应用架构 .174.2 电子银行前置系统功 能设计 .194.3 电子银行前置系统数据库设计 204.3.1 网银数据字典设计 204.3.2 手机银行数据字典设计 234.3.3 物理数据模型 254.4 电子银行前置系统业务详细设计与实现 .274.4.1 电子银行开通状态查询设计与实现 .284.4.2 电子银行网银短信版签约设计与实现 .29ii 目 录4.4.3 电子银行手机银行签约设计与实现 .304.4.4 电子银行手机银行升级设计与实现 .324.5 本章小结 .33第五章 电子银行前置系统测试及分析 .355.1
9、系统运行环境 .355.2 电子银行前置系统业务测试用例及过程与测试结果 .355.2.1 电子银行开通状态查询测试 355.2.2 电子银行网银短信版签约测试, 375.2.3 电子银行手机银 行签约测试 385.2.4 电子银行手机银行升级测试 405.3 本章小结 .41第六章 结束语 .436.1 论文工作总结 .436.2 后续工作展望 .44致 谢 .45参考文献 .47第一章 绪论 1第一章 绪论1.1 选题背景及意义进入 21 世纪以来,互联网已日渐成为人们生活中不可或缺的一部分。随着科技的不断创新,移动技术的广泛应用,大批第三方平台不断进行业务创新,针对市场需求提供不同的服务
10、业务。如第三方支付平台提供的网络购物、手机支付等,这些都渗透到银行传统业务领域中,使银行金融中介的位置受到威胁。同时,电子渠道类业务包括网上银行、手机银行等业务方式已经逐渐成为市场上主流的业务模式,客户可以随时随地通过电子渠道完成各种金融服务,尤其对于年轻一代客户,电子渠道类业务高度契合他们的需求,对于企业来说,逐渐从线下到线上的转变也成为互联网时代的大趋势。银行为了顺应时代的潮流,适应客户的习惯,在开展传统柜台业务的同时,与时俱进的将传统业务与网络应用融合在一起,进行业务创新,建立起电子银行这种业务模式 1。图 1.1 电子银行产品介绍从图 1.1 中可以看出,随着银行采取积极的态度发展电子
11、银行体统的产品,并对营销策略进行转变来提升电子银行业务在整个银行经营中所占的比重,各种电子银行产品的处理对银行系统提出了新的要求。为了电子银行服务能更加快捷方便,使电子银行产品从渠道的概念转换为核心服务的概念,电子银行前置系统2 电子银行前置系统设计与实现在这种背景下应运而生。电子银行前置系统负责处理银行端与电子渠道类业务相关的交易流程与数据存储,是银行端处理电子渠道类业务的核心系统。1.2 国内外现状分析20 世纪 60 年代,ATM、POS 为首的电子银行以新的形式首次出现在人们的视野中,在这之后,电话银行渠道出现并以人工客服和自助语音这两种主要形式开始兴起。20 世纪末期,随着互联网技术
12、的兴起和蓬勃发展,世界上第一家网络银行在美国率先成立,这是电子银行发展史上重要的里程碑,因为它提出并开拓了电子银行这一新领域,并引发欧洲其它发达国家也纷纷效仿成立网络银行。随着电子银行领域不断开拓创新的发展趋势,网络银行的概念逐渐被人们所接受,并受到极大欢迎。1999 年,手机银行的概念由美国首先推出,这一概念的提出象征着移动便民金融新时代的到来。20 世纪以来,经过多年的发展,国外电子银行业务种类不断增多,也越来越重视用户体验的人性化,并逐渐将业务创新的重点延伸至移动支付领域以及中间业务领域。国外电子银行发展主要分为两种发展形式,一种是摆脱银行传统营业模式的限制,只发展电子化渠道业务为客户提
13、供服务的模式,另一种是电子渠道业务和传统营销共同发展为客户提供服务的模式。其中第一种虽然摆脱了银行传统营业模式的局限性,但由于其客户的限制性等原因发展得并不顺利,大部分以该模式经营的公司都惨淡收场。目前,据资料显示,国外大多消费者习惯于通过网络办理银行业务,电子银行发展态势十分良好,不仅惠及人们生活的方方面面,还成为银行获取利润的重要增长点 2。我国电子银行出现较晚但发展十分迅速。在电子银行业务提出之前,人们去银行办理业务通常都需要排队等待,消耗大量的时间,银行这种单一的柜面服务模式越来越不能满足顾客的需求,新的能满足顾客随时随地办理银行业务的服务模式函代提出。20 世纪 90 年代,银行卡、
14、ATM 及网上银行等才首先由各大型银行推出,而到如今,电子银行业务不断创新推出,自助银行机无处不在,排队叫号功能让顾客能合理利用自己的等待时间,电话银行和网上银行服务已经日趋成熟,手机银行也已经普遍为客户接受,更多交易方式让客户办理银行业务更加方便快捷。随着电子银行业务的发展和普及,多年来,电子银行业务的交易规模不断扩大,已经远远超出了柜面业务办理的增长速度,电子银行已经深入人心,客第一章 绪论 3户体验到的不仅仅是随时随地办理银行业务的安全便捷,还是现代网络科技发展带来的便民新生活,更是金融生活实现移动电子化的质的转变 2。1.3 论文工作内容本文主要研究基于电子银行前置系统来实现电子渠道类
15、业务的工作,通过电子银行前置系统监听移动营销通过自己的平台发送请求到该系统申请相关业务,包括电子银行开通状态查询、电子银行短信版签约、电子银行手机银行签约和电子银行手机银行升级业务。本文围绕上述的几项功能展开工作,主要分为下面几个部分:1、需求分析:需求分析是建立在电子银行前置系统需求模型之上的,主要分析了系统的功能与性能需求。2、设计架构及业务:在需求分析的基础上,设计了系统应用架构,并进行业务模块详细设计。3、实现业务模块:实现电子银行前置系统的各个业务模块。实现移动平台和电子银行前置系统的通信,还包括系统业务的集成与开发。4、对电子银行前置系统和移动平台进行部署,给出系统测试结果分析。1
16、.4 论文组织结构本文剩余章节安排如下:第二章简要描述了项目开发过程中所用到的相关的公司框架和数据库技术,其中包括 PE 框架和 OSGI 框架,Oracle 11G、DB2 数据库技术等。第三章在介绍系统业务需求的基础上,完成系统应用需求建模、数据建模和过程建模。第四章设计系统的应用架构,对系统在业务实现中的功能进行说明,设计系统数据库。按照相应的业务需求设计各项从移动平台发出请求的处理流程,完成系统集成。第五章对移动平台和电子银行前置系统运行和环境部署进行描述。设计测试用例,介绍系统测试过程,给出测试结果并且进行分析,给出测试结论。4 电子银行前置系统设计与实现第六章总结本文主要工作,指出
17、需要改善的地方,以及进一步的改进方向。第二章 相关技术概述 5第二章 相关技术概述2.1 PE 框架和 OSGI 框架介绍本项目主要基于 CSII PowerEngine 框架的系统开发方法和范例。ChainContext .DelegateCommandTemplateAction1.Actionn图 2.1 PE 交易处理流程结构图从图 2.1 中可以看出,无论请求是以何种的形式的协议发出,PE 在进行流程处理之前,都会通过 Adapter 先将请求的信息转换成与传输协议无关的 Context,再通过 PowerEngine 核心控制模块来进行处理。整个处理的过程是:首先,在每一个交易都会
18、有其唯一的标识符,也就是交易 Id,这个 Id 是可以在 XML 配置文件中,唯一确认这个交易类的配置信息的。从而确定该类引用的模板 Template。接下来,确认模板之后,便确定了这个交易类具体要继承的类,实现的接口,以及在每一个阶段该调用的类中的方法。所以在定义交易的模板之前,我们首先应该明确我们的交易类需要做的工作是什么,再选择对应的模板,来确定我们的类的内部处理顺序。然后,每一个 Template,又会对应唯一的责任处理链,也就是 Chain 链,在Chain 链被唯一确定好之后,整个交易处理流程,才会开始真正的处理。开始执行 Chain 链中的一系列的 Commands,并且若有其中
19、一个 Command 认为需结束,便结束,否则直到最后一个 Command 就结束本次处理。6 电子银行前置系统设计与实现OSGI(Open Service Gateway Initiative,OSGI )是 Java 动态模块化系统的一系列规范,也可以说是 Java 平台的一个模块层。随着软件规模的日益增大,模块化的开发方式越来越受到追捧,而 OSGI 作为 Java 界的模块化标准,逐渐被中间件和各类应用程序所接纳。最著名的就是被 Eclipse 接受作为其插件的体系结构,还有宝马公司的应用控制系统也采用了其作为底层架构。它的核心组件是 OSGI框架,该框架为 Applications
20、提供了一个标准的环境。整个框架可以划分为四个层次,分别为第 0 层的“运行环境”,第 1 层的“模块”,第 2 层的“生命周期管理”,和最后第 3 层的“服务注册”层。当然,安全系统是渗透到所有层的 3。OSGI 框架的优点可以归结为以下几个方面:其一,是它支持热插拔,可动态更改运行状态和行为的优势;其二,由于它是一个微核系统,且可分可合,致使 Bundle 的局部错误不会对全局造成重大影响,故而其稳定高效的特性也备受推崇;最后,他复用性强,对建立面向接口的程序框架而言,是再好不过的。2.2 数据库介绍甲骨文公司推出的 Oracle 关系数据库管理系统是以分布式数据库为核心的一组软件产品,是目
21、前最流行的 C/S(CLIENT/SERVER)结构或 B/S 体系结构的数据库之一。它不仅具有完整的数据管理功能,而且是一个完备关系的产品,并且分布式数据库它实现了分布式处理功能 4。它具有安全级别高,处理速度快等特点。Oracle 是当今全球范围内被认可的功能强大并且性能十分优异的数据库系统之一。Oracle 数据库不论是在数据信息规模、不同类型数据混合支持,还是在数据操作的准确性、并行性、安全性以及健壮性等方面,比其他系统更有优势。并且,随着 Oracle 的不断更新完善,Oracle 大大提高了数据库的性能,给广大用户群提供了极大的方便。因此,目前各个领域内都选用了 Oracle 作为
22、信息管理系统的底层数据库 4。Oracle 11g 是甲骨文公司再推出的最新数据库软件,提高了性能,具有良好的安全性,可用性,可管理性以及可伸缩性。用户需要通过大量的安全性检查才能才可以激活,对于数据库还提供了加密的性能,不仅如此还提供了 400 多项功能,更方便地在低成本服务器和存储设备组成的网格上运行,相对第二章 相关技术概述 7过往版本而言,Oracle 11g 具有了与众不同的特性 5。甲骨文公司总裁声称 Oracle 11G 是“甲骨文最具创新性和质量最高的产品” 。IBM DB2 是美国 IBM 公司开发的一套关系型数据库管理系统,采用将实例和数据库分开的方法,这样实例可以创建多个
23、,数据库的恢复可以直接恢复到实例下就可以,相比 Oracle 要简单方便很多。命令执行方式可以在命令行上直接执行 SQL,也可以在命令窗口上执行 SQL,执行效果更灵活,并且还具有良好的自动维护功能,可以定期的自动整理数据库碎片和重建索引,但并不能自动维护的备份功能不能指定压缩备份,运行状况更为直接,可以直接看出数据库目前的问题,并且可以给出如何处理的建议顾问程序,能够直接在内存状况监控上修改相应的参数,远程网络连接采用的编目方式描述连接串的方式,数据库创建需要手工管理容器,具有良好的兼容模式。DB2 以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。2.3
24、 本章小结本章详细介绍了系统涉及到的框架和数据库知识。PE 框架和 OSGI 框架为整个电子银行前置系统提供了架构设计模式,而 Oracle 11G 和 DB2 数据库是系统后台数据存储的工具。8 电子银行前置系统设计与实现第三章 电子银行前置系统需求分析 9第三章 电子银行前置系统需求分析随着电子银行体统产品不断增多,电子银行渠道类交易大量出现,为了银行系统管理的快捷方便,为了使电子银行服务更加快捷方便,电子银行前置系统在这种背景下应运而生。电子银行前置系统负责处理银行端与电子渠道类业务相关的交易流程与数据存储,是银行端处理电子渠道类业务的核心系统。电子银行前置系统通过监听其他渠道系统通过自
25、己的平台发送请求到该系统申请相关业务,只要电子银行体统的产品均可通过此前置实现。3.1 电子银行前置系统业务陈述我们通过移动平台发出各种业务请求,电子银行前置系统监听并实现相关业务。其主要业务活动图如图 3.1 所示。图 3.1 电子银行前置系统业务活动图从图 3.1 可以看出,客户向柜员提出电子银行开通状态查询,电子银行网银短信版签约,电子银行手机银行签约及电子银行手机银行升级相关业务请求时,柜员通过移动平台发送接口,电子银行前置系统监听并实现相应的业务,在后台10 电子银行前置系统设计与实现操作数据库并将处理结果通过发接口的方式返回给移动平台。因此,电子银行前置系统实现了把网银、手机银行从
26、渠道的概念转换为核心服务的概念。3.2 电子银行前置系统需求建模该电子银行前置系统的主要目标是通过监听其他渠道系统通过自己的平台发送请求到该系统申请相关业务,并负责处理银行端与电子渠道类业务相关的交易流程与数据存储,是银行端处理电子渠道类业务的核心系统。客户提出业务请求后,电子银行前置系统只需经过银行核心系统少量校验就可以处理相关业务,减少了银行核心系统的压力,并且可以通过其他系统实现业务的处理,使服务更加快捷方便。在功能性需求的基础上,我们还要考虑性能,稳定性、可靠性、安全性、可扩展性、交易完整性等非功能性需求。3.2.1 功能性需求图 3.2 给出了该系统的核心用例图,明确了系统的主要功能
27、需求。客 户开 通 状 态 查 询网 银 短 信 版 签 约手 机 银 行 签 约手 机 银 行 升 级图 3.2 电子银行前置系统核心用例图从图 3.2 中可以看出,电子银行前置系统的核心角色为客户,它对应有四个核心用例,分别是:客户对网银和手机银行开通状态查询,客户进行网银短信版注册,客户进行手机银行开立和客户进行手机银行大众版到专业版的开通。在核心用例图的基础上,对客户角色进行进一步细化,得到本系统的详细用例。第三章 电子银行前置系统需求分析 11非 网 银 存 量 用 户 未 开 通 手 机 银 行开 通 状 态 查 询网 银 短 信 版 签 约手 机 银 行 签 约手 机 银 行 升
28、 级网 银 存 量 用 户 未 开 通 手 机 银 行非 网 银 存 量 用 户 手 机 银 行 大 众 版网 银 存 量 用 户 手 机 银 行 大 众 版图 3.3 电子银行前置系统详细用例图从图 3.3 中可以看出,电子银行前置系统网银和手机银行开户主要有四类角色,非网银存量用户未开通手机银行即为最普通的用户,他对应的核心用例分别是电子银行开通状态查询、网银短信版签约和手机银行签约;网银存量用户未开通手机银行即数据库中存储用户签约网银信息且用户未开通手机银行的用户,他对应的核心用例分别为电子银行开通状态查询和手机银行开立,当用户曾经签约过网银,但目前为销户状态的也可以进行网银短信版签约;
29、非网银存量用户手机银行大众版即未签约过网银但自助注册过手机银行目前为手机银行大众版的用户,他对应的核心用例分别是电子银行开通状态查询,网银短信版签约和手机银行大众版到手机银行专业版升级;网银存量用户手机银行大众版即数据库中存储用户签约网银信息且用户自助注册过手机银行目前为手机银行大众版的用户,他对应的核心用例分别是电子银行开通状态查询,手机银行大众版到手机银行专业版升级,当用户曾经签约过网银,但目前为销户状态的也可以进行网银短信版签约。电子银行开通状态查询用例描述的是客户是否开通网银和手机银行,并查询单笔和日累计限额。客户查询电子银行开通状态的主要工作分别是,客户根据要求在移动平台输入基本个人
30、信息,中间业务将信息与数据库中的信息进行核对,并将查询到的结果在移动平台的页面回显出来。该用例的主要业务规则是:操作的柜员需在登录状态,只有柜员在登录状态才能发送接口到电子银行前置系统。网银短信版签约用例描述的是让客户开通网上银行。客户进行电子银行网银短信版签约的主要工作分别是,客户向柜员申请网银短信版签约业务并根据要求输入业务需要的基本个人信息,柜员审核后申请授权,中间业务校验操作数据库,12 电子银行前置系统设计与实现若签约成功,则移动平台页面回显授权成功和基本签约信息,否则在移动平台抛错。该用例的其主要业务规则是:操作的柜员需在登录状态,只有柜员在登录状态才能发送接口到电子银行前置系统。
31、手机银行签约用例描述的是客户进行手机银行开立即普通用户开通手机银行专业版。客户开通手机银行专业版的主要工作分别是,客户向柜员申请手机银行签约业务并根据要求输入业务需要的基本个人信息,柜员审核后申请授权,中间业务校验操作数据库,若签约成功,则移动平台页面回显授权成功和基本签约信息,否则在移动平台抛错。该用例的其主要业务规则是:操作的柜员需在登录状态,只有柜员在登录状态才能发送接口到电子银行前置系统。手机银行升级用例描述的是客户进行手机银行开通即手机银行大众版用户升级到专业版用户。客户进行手机银行升级的主要工作分别是,客户向柜员申请手机银行升级业务并根据要求输入业务需要的基本个人信息,柜员审核后申
32、请授权,中间业务校验操作数据库,若签约成功,则移动平台页面回显授权成功和基本签约信息,否则在移动平台抛错。该用例的其主要业务规则是:操作的柜员需在登录状态,只有柜员在登录状态才能发送接口到电子银行前置系统。3.2.2 非功能性需求1稳定性在整个银行系统架构体系中,电子银行前置系统是处理电子渠道类业务的核心系统,它一旦出现硬件或系统故障将造成所有电子渠道类相关业务的停顿。因此,需要保证电子银行前置系统高度的可靠性,保证在各种故障发生时,不影响业务的连续性和数据的完整性,把系统的停机时间降到最少 6。2可靠性电子银行前置系统是处理电子渠道类业务的核心系统。因此,系统启动后,除以下情况外,应为不间断
33、运行系统:运行平台硬件故障,运行平台数据库故障,运行平台操作系统故障。应用程序故障应只影响部分应用逻辑,不至于使整个系统停止 6。3安全性第三章 电子银行前置系统需求分析 13电子银行前置系统的设计必须具备高度的安全性。在进行系统设计时,应提供多种手段保证系统的安全,对相关主机系统和应用数据库等提供严密的保护。防止非法侵入,保护关键数据,使数据具有极高的有效性 6。4可扩展性系统的设计应该是标准的、开放的,数据格式的接口应该是统一的,随着电子渠道类业务种类的增加和业务量的增长,系统能非常平滑地加以适应。同时系统应为各应用系统预留标准的接口,使各项新功能在与系统的衔接过程中更加合理便捷 6。5交
34、易完整性在电子银行前置系统的设计中 7,事务控制必须保证事务一致性。当系统处理业务失败时,对数据库的操作应发生回滚。6可容错性电子银行前置系统必须保证 24 小时连续不间断的运行,设计时应尽量降低业务模块间的耦合,以便在单点出现故障时,系统能保证其他业务正常工作,避免故障的传播和扩大 6。3.3 电子银行前置系统数据建模电子银行前置系统的客户的所有个人信息以及账户信息都是保存在数据库中。因此,数据库中最关键的实体是用户,用户的基本注册信息需要保存,同时用户在进行网银和手机银行开户后,他所拥有的账户是一个单独的实体,这样在客户申请办理有关该凭证相关业务时业务逻辑处理不会过于复杂。为了更好地管理用
35、户,用户个人信息也将作为实体被提出。此时,电子银行前置系统的数据实体主要有用户、账户、个人信息三种,通过对客户申请办理电子银行前置系统的网银和手机银行开户业务的流程进行分析,我们可以得到电子银行前置系统的实体-关系图。从图 3.4 可以看出,电子银行前置系统网银和手机银行开户业务的核心实体是用户,用户实体具有用户顺序号,个人顺序号,用户登录名,登录密码,用户状态,开户日期,注销日期等属性,用户实体主键设置为用户顺序号。同时,每个用户可拥有多个账户 8,账户具有账号顺序号,账号,个人顺序号,账户类型,14 电子银行前置系统设计与实现账户名称,账户显示顺序,账户权限,币种,钞汇标志,账户挂入日期,
36、账户解挂日期,账户开户机构和账户别名等属性,账户实体的主键为其账号顺序号。每个用户还包含个人信息,个人信息是为了方便用户管理,具有个人顺序号,客户姓名,证件类型,证件号,客户状态,联系地址,联系电话,邮政编码,Email,手机号码,性别等属性,个人信息实体的主键为个人顺序号。图 3.4 电子银行前置系统数据 E-R 图3.4 电子银行前置系统过程建模电子银行前置系统数据的产生与流动方式主要是通过其他平台发送电子银行渠道类业务请求到电子银行前置系统处理,系统处理后再将处理结果返回到其他平台。通过对数据流的分析,我们得到具体的系统上下文数据流图。电子银行前置系统 移动平台管理用户用户信息处理结果业
37、务请求图 3.5 电子银行前置系统上下文数据流图从图 3.5 可以看出,电子银行前置系统会与其他系统如移动平台等外部代理产生一定的数据交互,系统通过移动平台提出的业务请求来获取需要的数据,由第三章 电子银行前置系统需求分析 15已知的用户信息来操作数据库管理用户,最终再将处理结果返回到移动平台。3.5 本章小结本章对电子银行前置系统处理相关业务进行介绍,并对系统处理的网银和手机银行开户业务进行详细的分析,探究了系统处理开户业务开发前的业务过程及所存在的问题,对系统处理不同业务的流程进行分析,并明确了各项业务的开发目标。在此基础上,分析了电子银行前置系统的功能性以及非功能性需求 9,明确了系统的
38、参与者,以及详细考察了参与者的用例。同时,对网银和手机银行开户业务过程进一步细化,按照数据建模过程分析了数据实体与关系,并对电子银行前置系统处理各项业务的业务流程进行了过程建模。16 电子银行前置系统设计与实现第四章 电子银行前置系统业务设计与实现 17第四章 电子银行前置系统业务设计与实现上一章介绍了电子银行前置系统的具体需求,完成了系统需求分析,明确了系统的功能。本章将对电子银行前置系统处理的网银与手机银行开户业务中四项基本业务的设计与实现进行详细具体的介绍,该四项业务包括电子银行开通状态查询,电子银行网银短信版签约,电子银行手机银行签约和电子银行手机银行升级业务,并将给出各项业务模块的业
39、务规则及其实现过程中与系统交互的接口。4.1 电子银行前置系统应用架构电子银行前置系统负责处理银行端与电子渠道类业务相关的交易流程与数据存储,是银行端处理电子渠道类业务的核心系统。图 4.1 电子银行前置系统应用架构图如图 4.1 所示,客户向银行柜员申请开户,银行柜员将开户请求发送至电子银行前置系统,电子银行前置系统监听并实现相关开户业务,系统必需通过核心系统校验客户资料,还需要通过电子银行向证书机构申请相关证书。当客户向柜员提出电子银行开通状态查询,网银短信版签约,手机银行签约和手机银行升级等业务请求时,此时操作柜员需在移动平台通过银行核心校验,然后移动平台根据用户提供的个人信息向电子银行
40、前置系统发送报文,报文经终端发送至路由端再送到电子银行前置系统,电子银行前置系统监听到服务请求之18 电子银行前置系统设计与实现后,根据用户信息对数据库进行操作来管理用户,并经由路由端向移动平台发送响应报文,最终在移动平台呈现处理结果。图 4.2 电子银行前置系统移动开户应用架构图如图 4.2 所示,电子银行前置系统进行移动开户的过程是经由路由端收发报文来进行通信的,电子银行前置系统作为一个处理电子渠道类业务的核心系统,它独立于其他系统,其处理的电子体统产品的业务都可以通过其他系统来实现,只需对相关业务提供相应的接口,使服务更加快捷方便。结合电子银行前置系统的移动开户应用架构图,可以将电子银行
41、前置系统的业务处理逻辑看作符合经典三层架构的模式。电子银行前置系统的用户即为其他系统,它的业务逻辑层和数据访问层集成在电子银行前置系统内,其中数据访问层为与数据库操作相关的 SQL 语句和映射。电子银行前置系统的用户接入层,业务逻辑层,数据访问层分别对应着经典三层架构中的表现层,业务逻辑层,数据访问层。用户接入层:负责直接跟用户进行交互,即跟其他系统进行交互,用于数据录入,数据返回等。具体为接收其他系统发送的报文并将其转换为与渠道无关的数据,或将处理结果数据转换为响应报文返回到其他系统。业务逻辑层:用于做一些有效性验证的工作,如转换证件类型、验证账户类型等,通过诸多判断以决定是否将操作继续向后
42、传递,同时,对不同的业务根据业务规则做不同的逻辑处理。数据访问层:用于与数据库进行交互。执行数据的添加、删除和修改。所有的数据对象只在这一层被引用,这样数据访问层是系统访问外部存储的一个接口,便于数据的存储与访问。第四章 电子银行前置系统业务设计与实现 19以上三层之间上层组件调用下层组件,各个层次各司其职,完成自己的本职工作,而不需要考虑其它层的实现。这种架构方式明确了各层的处理任务,使业务处理过程简洁明确,同时十分适合系统在增加处理新业务功能时的扩展。4.2 电子银行前置系统功能设计通过第三章的需求分析,明确电子银行前置系统的网银和手机银行开户业务后,我们将电子银行前置系统进一步细化 10
43、,分别得到系统内部的各项功能。如图 4.3 所示。电 子 银 行 前 置 系 统开 通 状 态 查 询网 银 短 信 版 签 约手 机 银 行 签 约手 机 银 行 升 级图 4.3 电子银行前置系统功能概览图如图 4.3 所示,电子银行前置系统有四项功能,具体的系统功能设计如下所述。1. 电子银行开通状态查询。客户查询是否开通网银,是否开通手机银行,以及网银和手机银行的单笔、日累计限额。2. 电子银行网银短信版签约。客户进行普通的网银签约,可开通短信认证。用户签约时,如果该用户曾经签约过网银,但目前状态为销户状态,则重新签约网银,更改网银用户状态,更改签约网银用户信息。3. 电子银行手机银行
44、签约。用户未自助注册过手机银行,为非大众版用户,但需要直接开通手机银行专业版,用户开通手机银行专业版之后,可进行转账等操作,区别于手机银行大众版用户。4. 电子银行手机银行升级。用户自助注册过手机银行,目前为大众版用户,20 电子银行前置系统设计与实现但需要升级到手机银行专业版。4.3 电子银行前置系统数据库设计根据第三章的数据建模,我们结合网银和手机银行对数据库的实际需要,将数据分析的结果进一步整理,形成最终的计算机模型,设计出数据库中的表以及表中的各个字段,以便建立物理数据库。网上银行和手机银行是不同的相互独立的功能模块,客户可以只进行网银开户或手机银行开户,因此,为了方便管理网银用户和手
45、机银行用户,它们需要对应不同的数据库存储用户数据。因此,我们设计出电子银行前置系统的数据字典有网银数据字典和手机银行数据字典。4.3.1 网银数据字典设计本模块将描述网上银行开户涉及的主要数据库表,描述各表结构和相关数据项含义。表 4.1 个人信息表主键 索引 外键(表) 外键(字段)CifSeq - - -名称 代码 数据类型 是否为空 描述个人顺序号 CifSeq INTEGER not null -客户姓名 CifName VARCHAR(64) - -状态 CifState CHAR(1) - 0-开户1-销户其他状态自行扩展证件类型 IdType VARCHAR(2) - -证件号
46、IdNo VARCHAR(32) - -联系地址 Addr VARCHAR(128) - -联系电话 Phone VARCHAR(32) - -邮政编码 ZipCode CHAR(6) - -第四章 电子银行前置系统业务设计与实现 21Email Email VARCHAR(32) - -名称 代码 数据类型 是否为空 描述手机号码 MobilePhone VARCHAR(16) - -性别 Sex CHAR(1) - 男:M女:F从表 4.1 可以看出,在个人信息表中主键是个人顺序号,因为个人顺序号具有唯一性,且将其设为主键方便管理个人信息等业务逻辑的处理,且每一个用户在数据库中只有一个固定
47、的个人顺序号,它作为用户新注册时查询用户是否曾经注册过网银状态的关键字。个人信息表中存储用户的基本个人信息,其中的列有个人顺序号,客户姓名,状态,证件类型,证件号,联系地址,联系电话,邮政编码,Email ,手机号码, 性别。表 4.2 个人用户表主键 索引 外键(表) 外键(字段)UserSeq - PCif CifSeq名称 代码 数据类型 是否为空 描述用户顺序号 UserSeq INTEGER not null -个人用户顺序号 CifSeq INTEGER not null -用户登录名 UserId VARCHAR(64) not null -密码 Password VARCHAR
48、(64) - -状态 UserState CHAR(1) not null 0-开户1-销户2-锁定9-待激活开户日期 OpenDate TIMESTAMP - -注销日期 CloseDate TIMESTAMP - -开户操作员 OpenTellerSeq INTEGER - -从表 4.2 可以看出,在个人用户表中主键是用户顺序号,因为用户顺序号具有唯一性,且将其设为主键方便管理网银用户等业务逻辑的处理,且每一个用户在数据库中存储的用户顺序号不是固定的,用户注册网银时会被分配新的用户顺22 电子银行前置系统设计与实现序号。个人用户表中存储网银用户注册网银时的信息,其中的列有用户顺序号,个人
49、用户顺序号,用户登录名,密码,状态,开户日期,注销日期,开户操作员。表 4.3 个人账号表主键 索引 外键(表) 外键(字段)AcSeq - Bank BankSeq- - PCif CifSeq名称 代码 数据类型 是否为空 描述账号顺序号 AcSeq INTEGER not null -银行顺序号 BankSeq INTEGER - -个人顺序号 CifSeq INTEGER - -账户 AcNo VARCHAR(32) not null -账户类型 BankAcType VARCHAR(2) not null -账户名称 AcName VARCHAR(128) - -账户挂入日期 OpenDate TIMESTAMP not null -账户解挂日期 CloseDate TIMESTAMP - -账户开户机构 DeptSeq INTEGER - -状态 AcState CHAR(1) not null 0-开户1-销户2-冻结其他状态自行扩展账户别名 AcAlias VARCHAR(32) - -从表 4.3 可以看出,在个人账号表中主键是账号顺序号,因为账号顺序号具有唯一性,且将其设为主键方便管理用户的账户等业务逻辑的处理,个人账号表相关联的外键表为个人信息表,外键