




已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 基于基于 WEB 的银行柜员系统的银行柜员系统 摘摘 要要 随着社会经济的发展,以及数字生活的逐步渗透,人们的金融意识、科技意 识己经有了很大的提高。如何为用户提供更加便捷、更加周到的服务已经成为各大 银行竞争的焦点。更加快捷的银行系统是当下的迫切需要。本系统是基于 WEB 的银 行系统,采用分布式部署,高度解耦的方式。本系统实现基本的开户,取款,存款, 转账,查询,挂失,解挂等功能,采用 ORACLE 技术对业务逻辑在 ORACLE 存储过程 中进行,更加安全可靠。最后结合系统开发阶段和调试阶段发现的问题,提出了系统 需要完善的地方,总结了开发此系统所取得的经验。 关键字关键字 银行业务 核心记账 JMS 通信 II The bank teller system based on WEB Abstract With the development of society and economy, as well as digital life gradually, peoples financial awareness, consciousness of science and technology has been greatly improved. How to provide users with more convenient, more attentive service has become a major focus of the bank competition. More efficient banking system is the current urgent need. The system is based on the WEB bank system, adopting distributed deployment, altitude decoupling approach. The system to achieve the basic account, withdrawals, deposits, transfers, query, report the loss, solution of hanging and other functions, the use of ORACLE technology in business logic in the ORACLE stored procedure, more safe and reliable. Finally, system development and debugging phase found problems, put forward a system needs to be perfected, summarized the development of this system gained experience. Key Words: Banking business Key account JMS communication 1 1 绪论绪论 1.1 引言引言 随着社会经济的发展,以及数字生活的逐步渗透,人们的金融意识、科技意识 己经有了很大的提高。如何为用户提供更加便捷、更加周到的服务已经成为各大银 行竞争的焦点。但如今银行储蓄系统工作效率比较低,越来越不能满足广大人民群 众的需求,人们希望可以更方便更省时更省力的办理储蓄的相关业务。可是现如今 的银行储蓄系统工作效率低,越来越不能满足广大人民群众的需要,人们希望能更 方便更省时就可以办理储蓄业务。而如今计算机网络的高速发展及普及度的进一步 加强,越来越多的人希望通过在家实现存取款或是通过上网实现网上银行的功能等。 在这样的趋势下,明显可以看出现今的银行储蓄系统不能够满足人们日益增长的需求, 为提高该银行的存取款工作效率,降低工作的人力、物力开支,提高工作的准确性、 正确性,并且便于用户信息存取,需要建立一个新的、高效的、方便的、互联的银行 系统。 特别是银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节, 然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来 实现快速、有效、准确、安全的处理银行事物。 随着这些问题的出现,银行的管理模式也要随着时代不断发展进步,为实现人 们方便省时的办理银行储蓄业务,亟待开发一个银行系统来缓解甚至解决这些问题。 1.2 选题背景及研究内容选题背景及研究内容 1.2.1 课题背景课题背景 据调查研究,国外系统已经支持大集中模式的系统建设、产品开发和统一的客 户服务,以客户为中心的设计理念,将客户信息作为独立的系统模块,设计专门的 客户服务系统对客户信息进行专门的管理;参数化驱动的产品开发,将市场上成熟 的业务产品按基本要素进行抽象,提取相同的部分作为参数,通过参数配置进行新 产品的定制;提供多渠道全方位的个性化服务,丰富服 西安工业大学毕业设计(论文) 2 务内容,提升服务质量,满足客户的个性化需求;724 小时全天候服务,通过系 统的结构化设计,避免服务渠道的冲突;适应业务分析和管理决策需求,通过完整 记录的客户信息和产品信息,为银行的分析、决策系统提供强有力的数据支持;在 产品、客户、账户、交易等各个层面实现集成的、业务模块间交叉的风险管理和监 控。 但国内产品主要符合国内银行的实际情况,开发过程通常采用原型开发,用户 在项目开发是,就对系统有了初步的认识。能够很好的使用国内现有业务,但对未 来可能发展的银行业务的支持能力较弱。另外,国内产品的文档质量不高产品化程 度较弱,给产品的学习、维护和升级带来了不方便。随着中国金融市场的开放,和 国际金融体接轨。对于成立时间较晚的股份制银行,竞争压力大,对发展新型业务 需求强烈,会选用国外成熟的核心业务产品,能够较好的满足未来银行业务发展的 要求。因此国内必须在学习国外先进技术之外,提升自己的核心系统。 1.2.2 课题研究内容课题研究内容 本系统研究的是基于 WEB 的银行柜员系统,根据现在商业银行的规定,采用分 布式的方式进行系统分析和设计。从而提高银行柜员的操作效率,并更加方便的对 银行的账务系统进行很好的控制,并对多个服务进行拆分,达到每个数据的交互到 达原子性。这提高系统的本身性能,达到交易量大,执行速度高,出错率低的原则。 本课题有三个应用组成,分别为 Teller(页面的展示层),ESB(负责路由转发), SYMBOLS(主要处理银行系统的账务) 。 功能模块:开户,存款,取款,转账,挂失,解挂,冻结账户,解冻账户。查询 账户信息。 2 银行柜员系统介绍 3 2 银行柜员系统介绍银行柜员系统介绍 2.1 系统描述系统描述 银行系统是一款含有数据库的软件系统,通过网络将各个客户端连接起来,可 以为银行提供一体化的办公,管理,业务更改,业务办理,业务查询功能,并为银 行客户提供各种查询的操作 2.2 用户特点用户特点 基本要求: 使用本系统的用户为银行职员(普通职员、行长、出纳、贷款审批员、贷款发 放员、信用卡审批员、信用卡客服工作人员、数据操作员、系统管理员等) ,该部分 用户能熟练操作计算机,至少具一定的计算机应用水平, 用户对柜面平台系统的使用频度为 8 小时/天,但是其他时间银行系统仍需要正常 运行,提供给用户 ATM 存取款功能的系统的工作强度应达到 7*24 小时,并且保证几 乎 0%的故障率。 具体使用要求: 银行系统管理员(包括系统管理员和行长):具有较高的的管理水平和计算机 操作水平,能够熟练进行鼠标、键盘操作。管理银行系统的业务员的相关信息, 并且拥有对于银行核心业务如利率调整等进行修改和审批的权限。 银行系统工作人员(包括出纳、贷款审批员、贷款发放员、信用卡审批员、信 用卡客服工作人员、数据操作员):具有较高的业务水平和教育水平,可以在 7 天的培训中掌握银行系统的操作方法。管理银行顾客的相关信息,并且为银行 顾客提供创建帐号、存款、取款、办理信用卡、贷款、开通网上银行、贷款审 批、信用卡审批等服务。 银行客户:可以清楚描述自己的业务需求,或者有一定的文化基础、可以利用 网络浏览器直接登录网上银行,修改自己的密码,并查询自己的相关交易信息, 进行查询、转账操作,进行网上消费。 西安工业大学毕业设计(论文) 4 2.3 业务流程业务流程 系统业务流程: 1. 银行有多个分支机构。每个分支机构位于一个特定的城市,由唯一的名字标识。 银行监控每个分支机构的资产。 2. 银行的客户由个人的 ID 号来标识。银行需存储每个客户的姓名及家庭地址。客 户可以有账户,并且可以贷款。 3. 银行员工也由银行给他们设置特定的 Emloyee_ID 来标识。银行管理机构存储每 个员工的姓名、电话号码、家庭住址,月薪等个人信息。银行还需知道员工开 始工作日期,由此可以推知员工的雇用期。 4. 银行提供两种账户:支票账户和储蓄账户。账户可以由两个或两个以上的客户 共有,一个客户也可以同时拥有多个账户。每个账户被赋予唯一的账号。银行 记录每个账户的余额及创建时间,最近访问时间。另外每个储蓄存款账户有其 利率,而每个支票账户尤其透支额。 5. 每笔贷款由某个分支机构发放,能被一个或多个人共有。一笔贷款用一个唯一 的贷款号标识。银行需要知道每笔贷款的金额以及逐步支付的情况。记录每次 付款的的时间及金额。 6. 银行还可以有关于某一天或某一段时间内银行的业务情况的记录,即全部客户 和银行之间的交易记录,每条记录以唯一的流水号标识。 2.4 开发原则开发原则 1. 统一帐薄,所有帐务集中到后台主机处理。 2. 综合柜员,大量采用集成交易。 3. 可扩展性,系统设计模块化,接口标准化,扩展灵活、方便。 4. 可维护性,大量采用自动生成工具,开发、维护简单。 5. 可隔离性,各业务子系统围绕一个核心,相对独立;各交易围绕业务子系统,互 不影响。 3 银行柜员系统需求分析 5 3 银行柜员系统需求分析银行柜员系统需求分析 3.1 系统概述系统概述 综合业务管理平台采用 B/S 架构,分布式进行部署。用户可通过局域网内的 PC 机采用浏览器的方式访问系统。通过管理不用的数据源,管理平台可以进入不同 的交易界面。平台主要功能是处理和管理业务平台的数据、系统配置、人员、业务 交易等。本系统分为三个应用:Teller 端,ESB 服务路由,SYMBOLS 核心记账。 Teller 端:实现对柜员输入数据的接收,并将数据通过 socket 发送到 ESB。客户端 是通过采集键盘消息、规定格式组包、建立连接服务器、断开连接等,实现对客户 输入数据的接收,并将数据通过 socket 发送到 ESB,可轻松实现查询、添加、修改、 删除等功能。 ESB 端:企业服务总线,主要包括两个服务:原子服务和组合服务。接受到 Teller 端发送的数据,根据所接受的数据组合功能模块,并把需要的操作发给 Bankcore。 主要功能点:与前台挂接、与后台挂接、与第三方业务连接。 SYMBOLS 端:系统的核心,是系统的核心模块,其中包括以 Oracle 数据库位核心的 核心数据库系统。该银行系统的绝大多数业务都要经过此核心模块的处理,所以要 求该模块要具有极高的安全性能。本部分功能概要是接受消息队列传过来的消息, 然后经过对消息的解析在得到相应的操作信息后由控制过程块对数据库进行操作。 在操作完成后返回操作结果。核心业务系统被视为客户为中心的,集成了交易处理、 产品创新、客户关系管理、风险管理和资本配置等多种应用组群的系统。 3.2 系统架构图系统架构图 西安工业大学毕业设计(论文) 6 I E DB Teller SYMB OLS ESB Tomcat Servlet1 Servlet2 Servlet3 Do service Do SUBservice1 Do SUBservice2 Do SUBservice3 MQ Proc plsql J A V A 水电公水电公 司司 DBDB 1 2 3 1 3 1 2 4 5 6 7 89 1 0 11 A 服务服务 原子服原子服 务务 组合服组合服 务务 服务服务 码码 MQ B 步骤说明:步骤说明:(以水电公司缴纳水电费为例) 1. 用户先通过输入 IP 地址、端口号进入登录系统,系统根据用户的权限显示相对 应的用户权限的界面,然后用户通过 IE 界面进行缴纳水电费业务的操作,该消 息通过 Socket 发送给 Tomcat 服务器进行编译,并发送一个服务码。 2. Tomcat 通过 Sevlet 对该消息进行编译,然后将编译的文件报文通过 socket 发送 给 ESB 服务器。 3. ESB 服务器在收到该请求消息后,根据服务码将组合服务分解成 SUBservice1 、SUBservice2、SUBservice3 三种原子服务,执行该服务中的子服务 SUBservice1 进行存款,将存款请求通过 Socket 发送到消息请求队列。 4. 服务端监听到消息请求队列的请求后,将请求消息从消息队列中提取出来。 5. 对消息进行解析,并通过 PL/SQL 工具对数据库进行操作,由 A 变成 B,并将结 果返回; 6. 将服务端操作结果返回给消息响应队列; 7. subservice1 监听到消息响应队列中返回的存款消息 8. subservice2 通过通知水电公司该用户已经进行缴纳水费; 9. 水电公司给 subservice2 返回确认信息; 10. (冲正服务):用户取消缴费,将冲正消息发送到消息队列; 11. (冲正服务):处理完成冲正消息后,消息响应队列返回冲正结果给 ESB 中的 subservice3; 西安工业大学毕业设计(论文) 7 12. ESB 将操作结果通过 socket 发送给 Telller 端; 13.Teller 将操作结果显示到界面上。 3.3 功能需求功能需求 3.3.1 功能模块图功能模块图 分配权限 系统用 户 是否登 录 操作模块中的数 据 查看基本数据 客户操作权限 管理员用户权限 银行工作人员权 限 操作所有模块 开 户、 销 户 存 款、 取 款 贷 款 是 否 分 配 分 配 签 到、 签 退 信 息 查 询 修 改 日 终 中 间 业 务 挂 失 解 挂 3.3.2 功能模块说明功能模块说明 签到签到/签退签退 柜员在打开 IE 进入柜员签到界面后,需输入柜员信息进行签到操作,如输入 西安工业大学毕业设计(论文) 8 自己专属的:机构编号、网点编号、柜员帐号、密码等并点击“签到” ,签到完成之 后才可以进行如存款、取款、转账、挂失、开户和销户等其他的各种银行业务的操 作。柜员完成当天的业务,即移交平帐报告及交易清单后,必须返回到初始界面上 进行签退操作,柜员在返回 IE 进入柜员签退界面后,仍需输入柜员信息,如输入自 己的:机构编号、网点编号、柜员帐号、密码等并点击“签退” ,签退完成之后该柜 员当天的工作才真正结束,当确认所有的柜员完成签退操作后,该银行才正式打烊 结束当天的营业。 存款存款/取款取款 存款/取款:在账户存在的前提下,给客户提供存款业务和取款业务,这些都是 在客户已经拥有了账户之后所能办理的业务。而根据客户的这些不同的需要,银行 就开设了几类账户,如存款一般是储蓄账户,取款和存款同时有的一般为支票账户。 开户开户/销户销户 开户、销户是银行的基本功能。客户无论是存款、取款还是贷款都必须有一个 银行的账户。客户到银行建立账户,需本人身份证,电话号码和现住地址。根据客 户的信息帮客户建立银行账户,并将数据存入数据库。当客户不需要银行账户时, 可以帮客户进行账户注销服务。账户进行注销前必须保证账户余额为 0。同时数据 库里面的有关信息也会被停用。销户管理实现将银行客户所开立的网上银行账户进 行注销,其信息将被删除,将不能再用这个卡办理业务。 贷款贷款 贷款业务又分为签约、发放、回收三个子业务。银行给客户提供贷款业务,首 先银行根据客户申请贷款的资料判断客户是否为黑名单之内,根据客户贷款数目分 析是否有偿还能力,和用户签订贷款合约。合约的内容包括贷款种类、币种、用途、 数额、利率、期限和还款方式等内容,合约签完之后,银行即会一定期限内向贷款 人根据合约内容发放贷款,之后,借款人必须在规定的时间内返还贷款以及利息。 信息查询信息查询 查询是指用户从系统中查找出自己所要的数据信息。用户输入查询条件,系 西安工业大学毕业设计(论文) 9 统会将符合这些条件的数据反映给用户。 中间业务中间业务 是指银行在一般不需要动用自己或较少动用自己的资金的情况下,不以业务中 的债权或债务人身份,而是以中间人的身份参与业务,替客户办理收付或其他委托 事项,为客户提供各类金融服务并收取手续费的业务。涉及前台、esb、后台,其中 后台系统实现各种基本数据的收集、存储,ESB 完成统计和分析等功能,前台系统 直接在农行的营业网点向客户提供多种不同种类的服务。 日终日终 在执行了日终后,要对每个用户的账户金额进行利息计算,然后把执行消息通 过 TELLER,ESB,最后传送到 COREDB 中,进行用户账户信息的更改 挂失挂失 当用户丢失卡后,需要尽快挂失,使信用卡都会暂时处于无效状态,及时制止银 行卡被盗刷,控制风险,减少银行卡遗失。挂失一般都要提书面挂失申请,需要到 银行柜台去办理,在办理正式挂失后,应注意挂失生效时间和账户的资金变动情况。 持卡人不承担挂失正式生效后背冒用的损失金额。 解挂解挂 当用户再次找到信用卡后,可以解除信用卡的挂失状态,使账户变为有效。信 用卡解挂也必须到银行柜台处办理。如果正式挂失一段时间后,仍未找到信用卡, 则可以重新办卡。 4 银行柜员系统设计 10 4 银行柜员系统设计银行柜员系统设计 4.1 系统设计原则系统设计原则 银行柜员系统设计的应遵循下面的原则: (1)功能齐全,安全稳定,可靠性高; (2)操作简便,运用灵活,实时性强,准确性高; (3)系统要具有海量的存储空间和快速的交换速度,自动及时地备份数; (4)对数据有多重保护措施,要有断电保护和异常情况的及时处理; (5)系统的安全保密性高,能防止非法的访问; (6)输入数据简单方便,提供实时帮助功能,输入数据既有安全保护,也可动 态修改; (7)输出的数据格式符合标准要求,输出操作简洁快速,输出数据要提供纸质 和电子报表,输出的数据能以与其它软件相兼容的格式导出。 (8)要求系统在出现故障时能尽口丁能给出较为明确的出错提不及解决方法, 系统应具有必要的错误保护机制。 (9)统一帐薄,所有帐务集中到后台主机处理。 (10) 综合柜员,大量采用集成交易。 (11) 可扩展性,系统设计模块化,接口标准化,扩展灵活、方便。 (12)可维护性,大量采用自动生成工具,开发、维护简单。 (13)可隔离性,各业务子系统围绕一个核心,相对独立;各交易围绕业务子 系统,互不影响。 西安工业大学毕业设计(论文) 11 4.2 数据库设计数据库设计 4.2.1 设计原则与约束设计原则与约束 (1)数据库 SID 是唯一标志数据库的符号,命名长度不能超过 10 个字符。 (2)数据库连接类型选择采用 MTS 类型。 (3)为了使数据库能够正确支持多国语言,必须配置合适的数据库字符集,采 用 UTF8 字符集。 (4)在 Oracle10G 数据库中,设计 Undo 表空间取代以前版本的回滚段表空间。 Undo 表空间大小的设计规范由以下公式计算: Undospace = UR * UPS *db_block_size+ 冗余量 UR:表示在 undo 中保持的最长时间数(秒) ,由数据库参数 UNDO_RETENTION 值决定。 UPS:表示在 undo 中,每秒产生的数据库块数量。 在数据库中保留 2 小时的回退数据,假定每小时产生 200 个数据库块。则 Undospace = 2 * 3600 * 200 * 4K = 5.8G (5)数据库临时段表空间根据实际生产环境情况调整其大小,表空间属性为自动 扩展。 (6)数据库临时段表空间根据实际生产环境情况调整其大小,表空间属性为自动 扩展。 4.2.2 数据库表设计原则数据库表设计原则 标准化和规范化标准化和规范化 数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但 Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。 简单来说,遵守 3NF 标准的数据库的表设计原则是:“One Fact in One Place” 即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。 表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起 来的关联数据,即: 表内的每一个值都只能被表达一次。 表内的每一行都应该被唯一的标识(有唯一键) 。 表内不应该存储依赖于其他键的非键信息。 西安工业大学毕业设计(论文) 12 命名规范命名规范 不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的 命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过 30 个字符,这样便于应用系统适应不同的数据库。 数据的一致性和完整性数据的一致性和完整性 实体完整性: 主键 参照完整性: 父表中删除数据:级联删除;受限删除;置空值 父表中插入数据:受限插入;递归插入 父表中更新数据:级联更新;受限更新;置空值 DBMS 对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器 实现机制。 用户定义完整性: NOT NULL;CHECK;触发器 数据库表空间设计原则数据库表空间设计原则 表空间大小定义原则: 当表空间大小小于操作系统对最大文件限制时,表空间由一个文件组成。如果 表空间大小大于操作系统对最大文件限制时,该表空间由多个数据文件组成,表空 间的总大小为估算为: Tablespace + sum (数据段+索引段)*150%。 表空间扩展性设计原则: 表空间数据文件采用自动扩展的方式,扩展容量快大小按 2 的整数倍 (1M、2M、4M、8M、16M、32M、64M)进行扩展,创建表空间时尽量采用 nologing 选项。表空间的最大限制一般采用 unlimited,除非确切知道表空间数据文件的最 大使用范围。 (一般 windows 位系统的文件最大,位的 unix 系统系统 文件最大G,也要注意文件格式设定的文件大小) ,建议最大为 2G。表空间采 用 local 管理方式。 西安工业大学毕业设计(论文) 13 .3 安全设计安全设计 管理默认用户管理默认用户 在生产环境中,必须严格管理 sys 和 system 用户,必须修改其默认密码,禁止 用该用户建立数据库应用对象。删除或锁定数据库测试用户 scott。 数据库级用户权限设计数据库级用户权限设计 必须按照应用需求,设计不同的用户访问权限。包括应用系统管理用户,普通 用户等,按照业务需求建立不同的应用角色。 用户访问另外的用户对象时,应该通过创建同义词对象 synonym 进行访问。 角色与权限角色与权限 确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角 色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每 个用户的权限等于他所兼角色的权限之和。 应用级用户设计应用级用户设计 应用级的用户帐号密码不能与数据库相同,防止用户直接操作数据库。用户只 能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。 用户密码管理用户密码管理 用户帐号的密码必须进行加密处理,确保在任何地方的查询都不会出现密码的 明文。 4.2.4 数据库逻辑设计数据库逻辑设计 本系统分为三个应用,对应有三个数据库(Teller,ESB,SYMBOLS)。 TELLER 业务 西安工业大学毕业设计(论文) 14 ESB 端: 西安工业大学毕业设计(论文) 15 SYMBOLS 端: 西安工业大学毕业设计(论文) 16 4.2.5 数据库物理设计数据库物理设计 teller 设计设计 .1 柜员信息表柜员信息表 表名 power_user 序号字段名字段类型字段说明字段描述 1idvarchar(16)主键柜员编号 2usernamevarchar(50)柜员名字 3passwordvarchar(50)not null登陆密码 4ch_namevarchar(15)中文名字 5en_namevarchar(15)英文名字 6cellphonevarchar(50)电话 7inusechar(50)登录状态 .2 角色表角色表 表名power_role 序号字段名字段类型字段说明字段描述 1idvarchar(16)主键角色编号 2parentidvarchar(50)not null父类编号 3namevarchar(50)角色名称 4descriptvarchar(16)not null角色描述 5inusevarchar(20)角色状态 西安工业大学毕业设计(论文) 17 .3 功能表功能表 表名power_function 序号字段名字段类型字段说明字段描述 1idvarchar(16)主键角色编号 2namevarchar(50)not null功能服务名称 3descriptvarchar(50)功能描述 4menu_or_eventvarchar(16)not null菜单事件 5inusevarchar(20)角色状态 .4 用户角色表用户角色表 表名power_userroleref 序号字段名字段类型字段说明字段描述 1useridvarchar(16)外键用户编号 2roleidvarchar(50)外键角色编号 .5 菜单信息表菜单信息表 表名power_menu 序号字段名字段类型字段说明字段描述 1idvarchar(16)主键用户编号 2parentidvarchar(50)父类编号 3namevarchar(30)菜单名称 西安工业大学毕业设计(论文) 18 4descriptvarchar(50)描述 5urlvarchar(20)菜单路径 .6 功能菜单对照表功能菜单对照表 表名power_functionmenuref 序号字段名字段类型字段说明字段描述 1functionidivarchar(10)主键,外键功能编号 2menuidvarchar(10)主键,外键菜单编号 .7 角色功能对照表角色功能对照表 表名power_rolefunctionref 序号字段名字段类型字段说明字段描述 1roleidvarchar(10)主键,外键角色编号 2functionidvarchar(10)主键,外键功能编号 .8 机构信息表机构信息表 表名teller_organ 序号字段名字段类型字段说明字段描述 1idvarchar(10)主键机构编号 2namevarchar(20)机构名称 3addressvarchar(50)机构地址 4parentidvarchar2(10)父类编号 西安工业大学毕业设计(论文) 19 5statevarchar2(2)机构状态 6org_levelvarchar2(2)机构级别 .9 网点信息表网点信息表 表名teller_netpoint 序号字段名字段类型字段说明字段描述 1idvarchar(10)主键网点编号 2namevarchar(20)网点名称 3addressvarchar(50)网点地址 4statevarchar2(2)网点状态 .10 机构网点对照表机构网点对照表 表名teller_organnetpointref 序号字段名字段类型字段说明字段描述 1orgidvarchar(10)外键机构编号 2netidvarchar(10)外键网点编号 .11 网点柜员对照表网点柜员对照表 表名teller_organnetpointref 序号字段名字段类型字段说明字段描述 1netidvarchar(10)外键网点编号 2telleridvarchar(10)外键柜员编号 西安工业大学毕业设计(论文) 20 .12 柜员签到表柜员签到表 表名teller_register_out 序号字段名字段类型字段说明字段描述 1idvarchar(10)主键编号 2orgidvarchar(10)外键机构编号 3netidvarchar(10)外键网点编号 4telleridvarchar(10)外键柜员编号 5workdayvarchar(8)工作日期 6statevarchar(2)状态 .13 柜员流水信息表柜员流水信息表 表名teller_sequence 序号字段名字段类型字段说明字段描述 1sequence_novarchar(10)主键流水号 2esb_sequence_novarchar(10)esb 流水号 3serviceidvarchar(10)服务编号 4amtvarchar(17)交易金额 5cruennt_accountvarchar(17)当前账户余额 6target_acountvarchar(17)目标账户余额 7workdayvarchar(8)交易日期 8detail_timevarchar(14)交易时间 9telleridvarchar(10)柜员编号 10is_sendvarchar(2)是否发送 西安工业大学毕业设计(论文) 21 11reserve_statevarchar(2)是否冲正 12is_succesvarchar(2)是否成功 esb 设计设计 .1 esb 参数表参数表 表名esb_param 序号字段名字段类型字段说明字段描述 1param_idvarchar(10)主键参数编号 2param_namevarchar(20)参数名称 3param_typevarchar(2)参数类型 4param_valuevarchar(10)参数值 .2 服务定义表服务定义表 表名esb_param 序号字段名字段类型字段说明字段描述 1service_idvarchar(10)主键服务码 2service_classsvarchar(20)服务类 3service_methodvarchar(20)服务方法 西安工业大学毕业设计(论文) 22 .3 esb 流水表流水表 表名running_esb 序号字段名字段类型字段说明字段描述 1running_timevarchar(14)主键运行时间 2workdayvarchar(8)日期 3crennt_timevarchar(14)当前时间 running_frontvarchar(14)运行前流水号 running_backvarchar(14)运行后流水号 service_idvarchar(10)服务码 4amtvarchar(17)交易金额 5cruennt_accountvarchar(17)当前账户余额 6target_acountvarchar(17)目标账户余额 10send_statevarchar(2)发送状态 11return_statevarchar(2)返回状态 12reverse_statevarchar(2)冲正状态 symbols 设计设计 .1 科目定义表科目定义表 表名core_productdefine 序号字段名字段类型字段说明字段描述 1product_idvarchar(10) 主键产品编号 西安工业大学毕业设计(论文) 23 2product_namevarchar(20) 产品名称 3ratevarchar(9) 利率 4basedayvarchar(9) 基本天数 5credittypevarchar(2) 产品类型 6ccyvarchar(6) 币种 7product_statevarchar(2) 产品状态 .2 服务定义服务定义 表名service 序号字段名字段类型字段说明字段描述 1service_idvarchar(10) 主键服务码 2service_classvarchar(20) 服务类 3service_methodvarchar(20) 服务方法 .3 账户信息表账户信息表 表名core_accounting_entry 序号字段名字段类型字段说明字段描述 1idvarchar(10) 主键序号 2runningvarchar(20) 流水号 3subject_idvarchar(10) 科目编号 4workdayVarchar(8) 工作日期 5FlagVarchar(2) 标记 6AccountVarchar(19) 账户 西安工业大学毕业设计(论文) 24 7CcyVarchar(3) 币种 .4 账户交易表账户交易表 表名core_account_msg 序号字段名字段类型字段说明字段描述 1Msg_numbervarchar(19) 帐号 2Msg_namevarchar(20) 账户名称 3Msg_type varchar(2) 消息类型 4Msg_balanceVarchar(17) 账户余额 5Msg_stateVarchar(2) 状态 6Msg_pwdVarchar(20) 账户密码 7currnet_timeVarchar(14) 当前时间 8Product_idVarchar(10) 产品编号 9IntegalVarchar(17) 积分 .5 客户信息表客户信息表 表名core_customer_msg 序号字段名字段类型字段说明字段描述 1Msg_numbervarchar(19) 帐号 2Msg_namevarchar(20) 账户名称 3sex varchar(2) 性别 4NationVarchar(10) 种族 5BirthdayVarchar(14) 出生日期 西安工业大学毕业设计(论文) 25 6Phone_numberVarchar(11) 联系电话 7BodyidVarchar(30) 身份证号 8AdressVarchar(50) 地址 9Cur_timeVarchar(14) 当前时间 .6 核心交易流水核心交易流水 表名core_customer_msg 序号字段名字段类型字段说明字段描述 1Msg_numbervarchar(19) 帐号 2Msg_namevarchar(20) 账户名称 3sex varchar(2) 性别 4NationVarchar(10) 种族 5BirthdayVarchar(14) 出生日期 6Phone_numberVarchar(11) 联系电话 7BodyidVarchar(30) 身份证号 8AdressVarchar(50) 地址 9Cur_timeVarchar(14) 当前时间 .7 核心参数核心参数 表名core_param 序号字段名字段类型字段说明字段描述 1Param_idvarchar(10) 主键参数编号 2Param_namevarchar(20) 参数名称 西安工业大学毕业设计(论文) 26 3Param_typevarchar(2) 参数类型 4Param_valueVarchar(17) 参数值 5Msg_stateVarchar(2) 状态 6Msg_pwdVarchar(20) 账户密码 7currnet_timeVarchar(14) 当前时间 8Product_idVarchar(10) 产品编号 9IntegalVarchar(17) 积分 4.3 系统功能模块设计系统功能模块设计 系统功能模块设计分为两部分,一部分是应用模块设计,另一部分则是业务功能模块设计。 4.3.1 应用模块设计应用模块设计 介绍本系统 TELLER 应用,ESB 应用,SYMBOLS 应用。 TELLER 应用设计应用设计 Teller 端主要是实现对柜员输入数据的接收,并将数据通过 socket 发送到 ESB。客户端是通过采集键盘消息、规定格式组包、建立连接服务器、断开连接等, 实现对客户输入数据的接收,并将数据通过 socket 发送到 ESB,可轻松实现查询、 添加、修改、删除等功能。 Teller 端实现了页面的展示。 1.输入界面: 西安工业大学毕业设计(论文) 27 2.根据用户名,密码经过权限角色验证成功后登录到主页 3.柜员登录系统后,进行签到。只有签到后才能进行正常的交易。 西安工业大学毕业设计(论文) 28 此时柜员就可以进行营业工作了。 ESB 应用设计应用设计 ESB:企业服务总线,主要包括两个服务:原子服务和组合服务。接受到 Teller 端发送的数据,根据所接受的数据组合功能模块,并把需要的操作发给 Bankcore。 主要功能点:与前台挂接、与后台挂接、与第三方业务连接。 详细描述: (1) ESB 从 teller 端获取服务码到 ESB,在 ESB 端进行服务判断。 (2) 如果是原子服务则直接传递服务码到 SYMBOLS。 (3) 如果是组合服务则拆分成原子服务,进行传递。 (4) 执行操作。 (5) 记录流水。 (6) ESB 到 SYMBOLS 通信使用 JMS SYMBOLSSYMBOLS 应用设计应用设计 SYMBOLS 是系统的核心,是系统的核心模块,所有的账务处理都在此应用。 其中包括以 Oracle 数据库位核心的核心数据库系统。该银行系统的绝大多数业务都 要经过此核心模块的处理,所以要求该模块要具有极高的安全性能。本部分功能概 要是接受消息队列传过来的消息,然后经过对消息的解析在得到相应的操作信息后 西安工业大学毕业设计(论文) 29 由控制过程块对数据库进行操作。在操作完成后返回操作结果。核心业务系统被视 为客户为中心的,集成了交易处理、产品创新、客户关系管理、风险管理和资本配 置等多种应用组群的系统。 4.3.2 业务功能模块设计业务功能模块设计 开户开户 .1 界面界面 .2 流程图流程图 ie Tomcat servlet Proc Pl/sql J A V A 请求消息队列 返回消息队列 Teller ESB CoreBank Teller DBESB DB Core DB 服务 码 (13) (11 ) (12) (14) 西安工业大学毕业设计(论文) 30 .3 具体描述具体描述 (1)柜员将开户客户的信息录入系统后,点击提交,填入的信息通过 socket 通道 传到 Teller 端,调用对应的 servlet 方法 ; (2)调用存储过程在 teller 端的数据库中记流水; (3)再将开户的信息通过 socket 管道传到 ESB 端; (4)调用存储过程在 ESB 端的数据库中记录流水,ESB 通过调用存储过程接收到的 开户的交易码对照拆分表,判断开户服务为原子服务,则不用拆分; (5)将开户需要调用的存储过程传到请求消息队列; (6)再将请求消息队列中的消息传到 CoreBank 端,被 java 类接收,通过调用存储 过程记录流水; (7)执行存储过程查看用户的状态,进行开户交易; (8)通过执行存储过程修改数据库中的账户信息表中账户的状态,调用存储过程填 写凭证表,执行完后再调用存储过程修改流水状态; (9)将结果返回消息队列; (10)从返回消息队列返回到 ESB 端; (11)通过调用存储过程修改流水状态; (12)将结果通过 socket 管道返回到 teller 端; (13)通过调用存储过程修改流水状态; (14)将最终结果通过 http 的形式返回到 ie 界面显示。 存款存款 主要处理用户的账户存入功能。 西安工业大学毕业设计(论文) 31 .1 界面界面 西安工业大学毕业设计(论文) 32 .2 流程图流程图 TellerESBcorebank 银行柜员 输入存款信息 1 1. .记记流流水水:调用存储过程 SP_tproflow()往表 rs_right_flow里面添加数据 2 2. .发发送送数数据据到到E ES SB B端端:通过socket 传送信息 3 3. .记记流流水水:拆分数据,获得服 务,调用存储过程 sp_eproflow(),在表 ESB_LIST_table里面添加数据。 4 4. .调调用用服服务务:拿到交易码,调 用存储过程sp_eproflow(),查询 ESB_depart组合消息发送到消息 队列去corebank 5 5. .记记流流水水: : 调用存储过程SP_tproflow() 6 6. .执执行行: : 调用存储过程sp_eprosaving()查 看账户是否存在,若存在则修改 表RS_bank_account里面的余额属 性 7 7. .修修改改流流水水: : 修改流水表RS_bank_list里面的 记录状态 8 8. .将将结结果果返返回回到到消消息息队队列列 1 10 0. .修修改改流流水水: 调用存储过程 sp_Tproflowchange()修改 表rs_right_flow里面的状态为成 功,将数据返回IE端 9 9. .修修改改状状态态: : 调用存储过程 sp_eproflowchange()修改表 ESB_list_TABLE中的状态 并把数据传到teller端 存款完成 银 行 柜 员 服 务 系 统 银行系统存款流程序列图 .3 具体描述具体描述 记流水:获取页面信息调用存储过程往表里添加数据系统时间,系统流水号,状 西安工业大学毕业设计(论文) 33 态,工作日交易码。 发送数据到 ESB 端 修改流水:得到 ESB 端发过来的数据调用存储过程根据流水号修改表它的状态 为成功并将数据发送到 IE 端。 记流水:ESB 端收到数据拆分数据获得服务码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论