1、硕 士 学 位 论 文外币卡商户收单系统的设计与实现作 者 姓 名学 科 专 业 软 件 工 程指 导 教 师所 在 学 院论 文 提 交 日 期Foreign Currency Card Merchant Acquirer System DesignA Dissertation Submitted for the Degree of MasterCandidate:Supervisor:South China University of TechnologyGuangzhou, China华南理工大学硕士学位论文外币卡商户收单系统的设计与实现作者姓名: 指导教师姓名、职称: 教授申请学位级别
2、: 学科专业名称:软件工程研究方向:项目管理论文提交日期: 年 月 日 论文答辩日期: 年 月 日学位授予单位:华南理工大学 学位授予日期: 年 月 日答辩委员会成员:主席: 委员: 0摘 要外卡收单业务是指外卡持卡人通过国内某银行自动取款机或 POS 机办理人民币取现、消费、外币查询等业务。论文将阐述对外币卡商户收单系统的理解,提出了对项目的总体设计目标和应用系统的详细设计方案,以外币卡的各类业务交易信息数据及清算信息数据为管理对象,构建全新的外币卡收单交易处理、清算处理应用和控管平台。通过该平台提供完善的外币卡 POS EDC 及手工单交易处理机制、商户及终端管理机制、清算及清分机制、交易
3、安全机制、风险监控机制和综合信息处理分析机制,客户提高了交易处理速度和风险控制能力。而且通过对外币卡商户收单系统实施 EMV 改造,使国内银行的外币卡收单业务符合国际卡组织的安全规范并全面支持符合 EMV 规范的 IC 卡和非 EMV 规范的磁条卡的交易和清算。 关键词:外卡收单;Struts;Spring ;Hibernate1Abstract The foreign card acquiring business is outside the cardholder by a domestic bank ATM or POS machines for RMB cash withdrawal,
4、 consumption, foreign currency check and other services. The paper will elaborate on the foreign currency card merchant acquiring systems understanding, put forward the overall design of the project objectives and detailed design of application systems, the types of business in a foreign currency ca
5、rd transaction data and settlement information for the management of information and data objects, build the whole new foreign currency card acquiring transaction processing, clearing processing applications and control platform. The platform offers complete and hand in foreign currency card POS and
6、 EDC single transaction processing system, merchants and terminal management, settlement and liquidate module, transaction security mechanisms, risk control mechanism and integrated information processing analysis system, customers increase the speed of transaction processing and risk control. And f
7、oreign currency card on the implementation of EMV merchant acquiring system transformation, so that domestic banks in foreign currency card acquiring business in line with international card organizations meet security specifications and fully support the EMV standard IC card and non-EMV standard ma
8、gnetic stripe card transactions and liquidation.Key words: Foreign currency card acquiring; Struts; Spring; Hibernate2目 录第一章 绪论 11.1 研究意义 .11.2 国内外研究现状 .11.3 研究目标及拟解决的关键问题 .11.4 采取的研究方法 .21.5 相关技术的介绍 21.5.1 Struts21.5.2 Spring 31.5.3 Hibernate .41.5.4 MVC(ModelViewController)体系结构 5第二章 需求分析 62.1 功能清单
9、 .62.1.1 联机交易 62.1.2 管理类交易 72.1.3 用户管理 82.1.4 平台参数维护 82.1.5 交易监控 82.1.6 风险管理 92.1.7 清算处理 92.1.8 手工单处理 92.1.9 争议业务 102.1.10 交易查询与统计 102.1.11 分类统计报表 102.2 系统的开发环境 .112.3 系统的安全性 .11第三章 系统设计与实现 123.1 系统的逻辑结构图 .123.2 系统的网络架构图 .143.3 系统的交易流程图 .153.4 系统处理流程 .163.5 业务处理模块的架构图 .173.6 数据库设计 .193.6.1 流水号表 tbl_
10、ssn193.6.2 菜单表(权限)tbl_menu .203.6.3 交易卡路由信息表 tbl_card_route203.6.4 出错信息表 tbl_err_log .213.6.5 交易流水表 tbl_txn223.6.6 人工授权交易记录表 tbl_txn_man.253.6.7 实时风险监控模型设置表 tbl_risk_o_inf 263.6.8 清算流程控制表(tbl_batch_ seq ) .283.7 功能清单各模块的设计 .343.7.1 平台管理模块设计 343.7.1.1 用户管理 .353.7.1.2 岗位设置 .393.7.1.3 商户信息管理 .403.7.1.4
11、 机构信息管理 .413.7.1.5 EMV 参数管理 413.7.1.6 外卡组织管理交易 .423.7.1.7 平台日志查询 .433.7.1.8 测试卡管理 .4333.7.1.9 外部接口 .433.7.2 风险监控模块设计 443.7.2.1 受控卡管理 .453.7.2.2 受控商户管理 .453.7.2.3 受控终端管理 .453.7.2.4 实时风险模型设置 .453.7.2.5 准实时风险模型设置 .463.7.2.6 监控任务分配 .473.7.2.7 特殊风险交易调查及追收 .473.7.2.8 暂扣和暂扣释放 .483.7.2.9 商户风险控制 .483.7.2.10
12、联机交易监控 .483.7.2.11 风险交易监控 .493.7.2.12 风险交易查询 .493.7.3 清算处理模块设计 493.7.3.1 手工单处理 .503.7.3.2 行内文件装载 .513.7.3.3 日终处理 .513.7.3.4 外卡文件生成 .513.7.3.5 外卡文件装载 .513.7.3.6 资金核销处理 .513.7.3.7 清算数据复核 .523.7.3.8 外部接口 .523.7.4 争议处理模块设计 523.7.4.1 调单处理 .533.7.4.2 拒付处理 .553.7.4.3 二次拒付处理 .563.7.4.4 再请款处理 .563.7.4.5 请款撤销
13、处理 .563.7.4.6 收付费处理 .573.7.4.7 卡中心拒受处理 .573.7.4.8 拒收处理 .573.7.4.9 托收处理 .583.7.4.10 退货处理 .593.7.4.11 ATM 调整 593.7.5 交易查询模块设计 603.7.5.1 联机流水查询 .603.7.5.2 清算流水查询 .603.7.5.3 历史清算流水查询 .613.7.5.4 历史联机流水查询 .613.7.6 报表模块设计 613.7.6.1 统计报表 .623.7.6.2 争议交易报表 .633.7.6.3 风险报表 .643.7.7 通知书管理 653.8 系统的配置文件 .663.8.
14、1 Beans.xml 663.8.2 Beans_sercies.xml .743.8.3 Struts-config.xml.75第四章 系统的测试 804.1 单元测试采取的策略 .8044.2 单元测试案例 .814.3 集成测试策略 .854.4 集成测试案例 .864.5 回归测试 .894.6 测试报告 .90第五章 系统开发总结 92致谢 94参考文献 95第一章 绪论第 1 页 第一章 绪论1.1 研究意义随着改革开放的发展,越来越多的外卡涌入中国消费,这里的外卡是指境外银行或境外信用卡公司发的卡、可在全球范围内通用的信用卡。本论文中外卡指以下 5 种外币卡:威士(VISA)
15、卡、万事达卡(MASTERCARD)、美国运通卡(AMERICANEXPRESS)、大来卡(DINERS)、日本 JCB 卡。境外银行卡在国内旅游、商务、探亲、留学需求不断增长,外卡收单的市场容量也随之不断扩大,其较高的手续费给收单银行带来较大的收益。目前国内大中银行纷纷开展外卡收单业务,谁先抢占了本市场,哪家银行的服务好,并能有效的进行风险控制,将在以后的竞争中占有相对优势, 因此,有必要建立一套功能完善、能有效进行风险控制、高性能的外币卡商户收单系统。1.2 国内外研究现状目前,国内外卡商户收单系统与五大国际组织的交易连接采用网控器,走 X.25 协议。而这几年,外卡组织纷纷升级网络结构,
16、包括 VISA、MASTER 在内的多家组织已经采用 TCP/IP 连接,逐渐淘汰旧的通讯协议方式。与外卡组织连接方式落后。银行面临着外卡交易符合 EMV 标准的改造需求。旧系统在设计开发时未能预见国际卡的变革,系统体系的扩展性差,无法在现有系统的基础上完成 EMV 迁移工作。随着国内用卡环境的成熟,国际卡在国内的交易越来越多,外卡收单系统需要跟进环境的变化,有更高的运行效率及系统可靠性。满足 7*24 小时的服务,满足高峰时段的交易冲击。旧系统由于体系架构等因素,运行效率有限,无法满足业务的增长需求。在银行现有的收单系统环境下,存在如下一些问题:1) 、目前,现有系统都采用 C/S 的结构,
17、要操作收单系统需要安装一系列的软件;2) 、系统处理速度慢,从早到晚大部分时间都在处理外卡数据;3)、现有系统的扩展性差。不能支持外卡组织的 EMV 标准,不能做 EMV 的芯片卡交易;4)、由于外卡系统目前是单独的一套系统,资金清算通过总行外卡中心手工汇划到分行后,再由分行会计人员手工记入商户帐户,导致整个清算周期一般需要 2-3 天,降低了银行对商户的服务质量。5)、外卡商户入帐手工操作工作量巨大。6)、风险监控及处理功能单一,无法实时有效对风险进行规避7)、与外卡组织连接采用 X.25 协议,连接方式落后。不支持 TCP/IP 协议连接;8) 、只有总行操作系统,分行不能查看系统,总行与
18、分行之间只能通过文件进行交互1.3 研究目标及拟解决的关键问题本次研究的目标是开发一套外币卡收单业务处理系统,以外币卡的各类业务交易信息数据及清算信息数据为管理对象,构建全新的外币卡商户收单交易处理、清算处理和控管平台,通过该平台提供完善的外币卡 POS EDC 和手工单交易处理机制、商户和终端管理机制、清算和清分机制、交华南理工大学硕士学位论文第 2 页易安全机制、风险监控机制和综合信息处理分析机制,提高交易处理速度和风险控制能力。通过对外币卡系统实施 EMV 改造,使外币卡收单业务符合国际卡组织的安全规范并全面支持符合 EMV规范的 IC 卡和非 EMV 规范的磁条卡的交易和清算。1、对外
19、币卡交易进行有限的风险监控及处理2、分行能处理针对本分行的外卡的业务进行处理3、减少了手工操作、提高了系统的处理效率、增强了系统的扩展性4、减少在客户端安装大量的软件,提高系统的操作方便性 5、支持外卡组织的 EMV 标准,增强系统的扩展性6、分行能快速查询和处理交易,快速响应总行请求7、与外卡的接口提供 X.25 和 TCP/IP 两种接入方式1.4 采取的研究方法系统拟采用联机、批量和业务处理平台三大功能模块来处理外卡收单业务,联机模块用于处理联机实时交易;批量模块用于处理与外卡组织的接口文件、行内清算文件、清分、清算处理等。业务处理平台完成对联机处理的业务进行查询,监控,传送报文等等操作
20、;对日终数据进行对账,提起清分清算处理;对产生争议的交易进行争议处理;对联机生成的报表数据进行统计,下载,打印等操作;对用户,商户等档案信息进行管理。外卡商户收单系统的日常运行维护的功能也通过处理平台进行。1.5 相关技术的介绍1.5.1 StrutsStruts 作为一个开放原代码的应用框架,在最近几年得到了飞速的发展,在 JSP Web 应用开发中应用得非常广泛, Struts 是采用 Java Servlet/JavaServer Pages 技术,开发 Web 应用程序的开放源码的框架。 采用 Struts 能快速开发出基于 MVC(Model-View-Controller)设计模式
21、的应用构架。它是一个基于 MVC 模式的用 Java 创建 Web 应用的一个最流行的框架工具。使用 Struts 的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用的时间。如果我们想混合使用 Servlets 和 JSP 的优点来建立可扩展的应用,更能够发挥 struts 的优越性。Struts 是 Apache 基金会 Jakarta 项目组的一个 Open Source 项目,它采用 MVC 模式,能够很好地帮助 java 开发者利用 J2EE 开发 Web 应用。和其他的 java 架构一样,Struts 也是面向对象设计,将 MVC 模式 “分离显示逻辑和业务逻辑“
22、的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性 struts 的控制层,基于如 Java Servlets,JavaBeans,ResourceBundles 与 XML 等标准技术,以及 Jakarta Commons 的一些类库。Struts 由一组相互协作的类(组件)、Servlet 以及 jsp tag lib 组成。基于 struts 构架的 web 应用程序基本上符合 JSP Model2 的设计标准,可以说是一个传统 MVC 设计模式的一种变化类型。 Struts 最早是作为 Apache Jakarta 项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改
23、进和提高 Java Server Pages、Servlet、标签库以及面向对象的技术水准。 Struts 的目的是为了减少在运用 MVC 设计模型来开发 Web 应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts 对 Model,View 和 Controller 都提供了对应的组件。 ActionServlet,这个类是 Struts 的核心控制器,负责拦截来自用户的请求。 Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet 的请求,并根据该请求第一章 绪论第 3 页 调用模型的业务逻辑方法处理请求,并将处理结果返回给
24、 JSP 页面显示。 Model 部分由 JavaBean 组成,ActionForm 用于封装用户的请求参数,封装成 ActionForm 对象,该对象被ActionServlet 转发给 Action,Action 根据 ActionFrom 里面的请求参数处理用户的请求。 JavaBean 则封装了底层的业务逻辑,包括数据库访问等。 View 部分该部分采用 JSP 实现。 Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model 的有效交互,并增加了现实功能。对应的 JSP 部分。 Controller 组件Controller 组件有两个部分
25、组成系统核心控制器,业务逻辑控制器。 系统核心控制器,对应上图的 ActionServlet。该控制器由 Struts 框架提供,继承 HttpServlet 类,因此可以配置成标注的 Servlet。该控制器负责拦截所有的 HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器。业 务 逻 辑 控 制 器 , 负 责 处 理 用 户 请 求 , 本 身 不 具 备 处 理 能 力 , 而 是 调 用Model 来 完 成 处 理 。 对 应 Action 部 分 。1.5.2 SpringSpring 是一个轻量级的 IoC 和 AOP 容器框架,Spring 处理开支非常小。Spri
26、ng 是非侵入式的:基于 Spring 开发的系统中的对象一般不依赖于 Spring 的类。IoC(反向控制)-Spring 提倡使用反向控制来实现松耦合。使用 IoC,对象是被动接收依赖类而不是自己主动去找。对象不是从容器中查找它的依赖类,而是容器在实例化对象时候主动将它的依赖类注入给它。AOP(面向切面)Spring 对面向切面编程提供了强大支持,通过将业务逻辑从系统服务(如监控和事务管理)中分离出来,实现了内聚开发。系统对象只做它们该做的业务逻辑,它们不负责或关心其它系统问题(如日志和事务管理) 。它定位的领域是许多其他流行的 framework 没有的。Spring 关注提供一种方法管
27、理你的业务对象。 Spring 是全面的和模块化的。Spring 有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用 Spring 来简单化 JDBC 的使用,或用来管理所有的业务对象。 它的设计从底部帮助你编写易于测试的代码。Spring 是用于测试驱动工程的理想的 framework。 Spring 对你的工程来说,它不需要一个以上的 framework。Spring 是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他 framework 没有考虑到的内容。Spring
28、是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。 Spring 的特点 方便解耦,简化开发通过 Spring 提供的 IoC 容器,我们可以将对象之间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合。有了 Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。 华南理工大学硕士学位论文第 4 页 AOP 编程的支
29、持 通过 Spring 提供的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松应付。 声明式事务的支持 在 Spring 中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。 方便程序的测试 可以用非容器依赖的编程方式进行几乎所有的测试工作,在 Spring 里,测试不再是昂贵的操作,而是随手可做的事情。 方便集成各种优秀框架 Spring 不排斥各种优秀的开源框架,相反,Spring 可以降低各种框架的使用难度,Spring 提供了对各种优秀框架(如 Struts,Hibernate、Hes
30、sion 、Quartz)等的直接支持。 降低 Java EE API 的使用难度 Spring 对很多难用的 Java EE API(如 JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过 Spring 的简易封装,这些 Java EE API 的使用难度大为降低。 Spring 的好处:Spring 能有效地组织你的中间层对象,无论你是否选择使用了 EJB。如果你仅仅使用了 Struts 或其他的包含了 J2EE 特有 APIs 的 framework,你会发现 Spring 关注了遗留下的问题, 。 Spring 能消除在许多工程上对 Singleton 的过多使用。根
31、据我的经验,这是一个主的问题,它减少了系统的可测试性和面向对象特性。 Spring 能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。曾经感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性,为此不得不读 Javadoc 乃至源编码吗?有了 Spring,你可很简单地看到类的 JavaBean 属性。倒置控制的使用(在下面讨论)帮助完成这种简化。 Spring 能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。 Spring 被设计为让使用它创建的应用尽可能少的依赖于他的 APIs。在 Spring 应用中的大多数业务对象没有依赖于 S
32、pring。 使用 Spring 构建的应用程序易于单元测试。 Spring 能使 EJB 的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用 POJOs 或 local EJBs 来实现业务接口,却不会影响调用代码。 Spring 帮助你解决许多问题而无需使用 EJB。Spring 能提供一种 EJB 的替换物,它们适于许多 web 应用。例如,Spring 能使用 AOP 提供声明性事务而不通过使用 EJB容器,如果你仅仅需要与单个的数据库打交道,甚至不需要 JTA 实现。 Spring 为数据存取提供了一致的框架,不论是使用 JDBC 或 O/R mapping 产品(如Hib
33、ernate) 。 1.5.3 HibernateHibernate 是 JDBC 的轻量级的对象封装,它是一个独立的对象持久层框架,第一章 绪论第 5 页 Hibernate 可以用在任何 JDBC 可以使用的场合,例如 Java 应用程序的数据库访问代码,DAO 接口的实现类,甚至可以是 BMP 里面的访问数据库的代码。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手
34、工操作数据库, Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种 Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。1.5.4 MVC(ModelViewController)体系结构模型-视图 -控制结构是交互式应用程序广泛使用的一种体系结构。尤其是存在大量页面及多次客户访问及数据显示;它有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结
35、构将传统的输入、处理和输入模型转化为图形显示的用户交互模型,或者换一种说法,是多层次的 Web 商业应用;MVC 体系结构具有三个层面:模型(Model) 、视图(View)和控制(Controller),每个层面有其各自的功能作用,MVC 体系结构如下图 1-1 所示图 1-1 MVC 体系结构图模型层负责表达和访问商业数据,执行商业逻辑和操作。也就是说,这一层就是现实生活中功能的软件模拟;在模型层变化的时候,它将通知视图层并提供后者访问自身状态的能力,同时控制层也可以访问其功能函数以完成相关的任务。视图层负责显示模型层的内容。它从模型层取得数据并指定这些数据如何被显示出来。在模型层变化的时
36、候,它将自动更新。另外视图层也会将用户的输入传送给控制器。控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作;在一个图形界面中,常见的用户输入包括点击按钮和菜单选择。在 Web 应用中,它包括对Web 层的 HTTP GET 和 POST 的请求;控制层可以基于用户的交互和模型层的操作结华南理工大学硕士学位论文第 6 页果来选择下一个可以显示的视图,一个应用程序通常会基于一组相关功能设定一个控制层的模块,甚至一些应用程序会根据不同的用户类型具有不同的控制层设定,这主要是由于不同用户的视图交互和选择也是不同的。
37、第二章 需求分析第 7 页 第二章 需求分析外币卡商户收单系统的用例图,如下图 2-1 所示、 、 、图 2-1 外币卡商户收单系统的用例图2.1 功能清单2.1.1 联机交易序号 功能项 功能描述1. POS查询 POS 上刷卡查询帐户余额2. POS消费 POS 消费华南理工大学硕士学位论文第 8 页3. 外卡POS柜面取现 POS 柜面取现4. 消费撤消 消费撤消5. 消费冲正 消费冲正6. 预授权 预授权7. 预授权撤销 预授权撤销8. 预授权冲正 预授权冲正9. 预授权撤销冲正 POSB 不上送该交易10. 预授权完成 预授权完成11. 预授权完成撤销 POSB 视条件区分是否上送请
38、款文件12. 预授权完成冲正 POSB 不上送该交易13. 预授权完成撤销冲正 POSB 不上送该交易14. 退货 业务处理平台上处理15. 人工授权 人工授权16. 人工授权交易的打单验证 POS 打单交易中的授权码17. 人工授权补录 人工授权手工补录表 2-12.1.2 管理类交易序号 功能项 功能描述18. POS结算 POS 结算交易19. 柜员签到 收银员签到20. 柜员签退 收银员签退21. 线路测试 线路测试交易表 2-2第二章 需求分析第 9 页 2.1.3 用户管理序号 功能项 功能描述1. 用户管理2. 岗位设置3. 在线用户4. 用户岗位复核表 2-32.1.4 平台参
39、数维护 汇率管理 EMV 终端参数管理 商户基本信息维护(含终端) 外卡商户信息管理 机构信息维护 POS 信息管理卡管理 (黑卡,警示卡、测试卡、卡限制范围) 商户后期维护及积分评级 POS 收银员管理信息 卡 BIN 维护表 2-42.1.5 交易监控序号 功能项 功能描述1. 分行前置健康监控2. 渠道交易监控华南理工大学硕士学位论文第 10 页3. 文件监控4. 风险交易监控表 2-52.1.6 风险管理序号 功能项 功能描述5. 实时风险模型6. 准实时风险模型7. 风险交易监控8. 风险交易查询处理9. 暂扣处理10. 暂扣释放处理11. 风险调查和追收处理表 2-62.1.7 清
40、算处理序号 功能项 功能描述1. 汇率维护2. 汇率复核3. 批切及日终处理4. 清算流程控制查询表 2-72.1.8 手工单处理序号 功能项 功能描述1. 托收交易 有瑕疵的外卡交易2. 大莱托收处理第二章 需求分析第 11 页 3. Reject 处理表 2-82.1.9 争议业务序号 功能项 功能描述 调单处理 拒付处理 收付费处理 再请款调整 通知书管理 追收分行处理 追收商户处理(分行使用)表 2-92.1.10 交易查询与统计序号 功能项 功能描述1. 联机流水查询2. 清算流水查询3. 争议交易查询4. 分行信息统计5. 联机历史流水查询6. 清算历史流水查询表 2-102.1.
41、11 分类统计报表 统计报表 特殊交易报表 风险报表华南理工大学硕士学位论文第 12 页2.2 系统的开发环境项目开发所需要的开放源码工具软件的下载地址链接:它包括:1Eclipse 的安装软件(Eclipse 3.1)源文件名:eclipse-SDK-3.1-win32.zip下载地址:http:/www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.1-200506271435/eclipse-SDK-3.1-win32.zip2Tomcat 的安装软件(Tomcat 5.0.28)源文件名:jak
42、arta-tomcat-5.0.28.zip下载地址:http:/archive.apache.org/dist/tomcat/tomcat-5/archive/v5.0.28/bin3Informix 数据库服务器的安装软件(Informix11.5)源文件名:iif.11.50.TC6DE.win2003.zip下载地址:http:/ 软件(Log4J1.2.8)源文件名:jakarta-log4j-1.2.8.zip下载地址:http:/archive.apache.org/dist/logging/log4j/1.2.85Ant 的安装软件(Ant1.5.4)源文件名:apache-a
43、nt-1.5.4-bin.zip下载地址:http:/archive.apache.org/dist/ant/binaries/下载 MyEclipse6.0 插件的网址 http:/ 系统的安全性1采用 Struts+Spring+Hibernate 开发框架,使用应用中展示的用户的代码非常简短,很大程序上可以提交系统的安全性。2JSP 技术允许把 Java 代码逻辑嵌如到 HTML 和 XML 文档之内,为创建和管理动态 WWW 内容带来了方便。JSP 页面由 JSP 引擎预先处理并转换成 Java Servlet,此后如果出现了对 JSP 页面的请求,WEB 服务器将用相应的 Servl
44、et 输出结果作为应答。虽然 JSP 和 Servlet 在功能上是等价的,但是和 Servlet 相比,JSP 的动态内容生成方法恰好相反。JSP 是把 Java 代码嵌入到文档之中,而不是把文档嵌入到 Java 应用之中。为访问外部功能和可重用的对象,JSP 提供了一些用来和 JavaBean 组件交互的额外标记,这些标记的语法和 HTML 标记相似。HTML 语法属于 JSP 语法的一个子集,但反过来不一定正确,JSP 允许在标记内嵌入其他标记,这种结构增加了安全问题的复杂性,其包含的相互协作的子系统之间的交互常常是安全隐患的根源。3在应用服务器中设计超时机制,超出有效期时,提示操作超时
45、,重新回到登录界面。4在应用服务器中屏蔽文件列表功能5采 https 协议,SSL128 位加密第三章 系统的设计与实现第 13 页 第三章 系统设计与实现3.1 系统的逻辑结构图图 3-1 系统逻辑结构图如图 3-1 所示,外卡收单业务接口处理集中在总行一侧进行。行内系统对交易进行路由,将不可识别的 ATM/POS/OTC 柜台受理的交易路由至外卡商户收单系统的POSB 前置子系统。外卡商户收单系统主要包括以下模块 通讯接口模块:对于外部接口模块又可细分为数个不同的接口,分别对应于五大外卡组织和银联的不同的格式接口。这些接口分别进行相应的报文和文件格式处理。 授权(报文)处理模块:系统统一对
46、来自各分行的交易进行处理。在处理过程中,联机交易处理模块完成对路由的判别,识别出该卡是何种外卡、非法卡。如果需要,联机交易陈亮模块还可以还可以协同清算文件处理模块完成华南理工大学硕士学位论文第 14 页交易的单双转换处理,产生外卡组织的清算文件。同时该处理模块还可以接受人工授权交易,完成对各外卡组织的人工授权。在交易处理过程中,联机交易处理模块还将调用商户管理模块和安全模块完成相应的风险控制和安全保密工作。 清算文件处理模块:统一对来自外卡组织和银联的文件进行处理。清算文件处理模块提供相应的收发接口接收和发送文件。清算文件处理模块还可处理通过手工单交易。此外,清算文件处理模块还对来自外卡组织的
47、黑名单进行处理。 风险控制模块(插件):依靠交易过程中所产生的数据,通过规则库,可以提供对收单的风险控制。 商户管理模块(插件):提供系统对多级商户和终端进行管理的功能。所有的交易在发送到外卡组织和银联之前都将调用该模块,该模块将对交易进行相应的处理,如交易金额检查、对 VISA/MasterCard/JCB 的商户地址和商户代码变换等等处理。商户管理模块还将产生外卡组织所需的商户文件。在清算的过程中,商户管理还提供完成对商户的清分和清算以及商户的并账功能。 安全模块:系统为交易提供了硬件加密服务。第三方转接系统与各外卡组织和银联之间的信息加密采用硬件加密机进行,加密算法采用国际通用加密算法标
48、准:ANSI X3.92 DES/3DES 及 ANSI X 9.8 PIN BLOCK 加密,并支持银联所要求的 MAC 计算。安全模块为授权交易提供了数据安全保密的支持。此外,安全模块支持外卡组织和银联所要求的动态密钥切换机制。 系统管理模块:提供了用户操作系统的能力。该模块提供了用户管理、交易所必须的汇率管理、联网状态的管理(如通讯连接、通讯断链、签到、签退、回响测试、文本信息等功能)、交易监控等等功能。 统一差错模块:为整个外部接口系统提供了统一的差错处理功能,处理来自各外卡组织和银联的各类差错交易。该模块通过维护统一的历史交易库,整合了外卡的差错处理,使外卡交易的差错处理易于操作。
49、清分清算模块:完成交易的数据清分工作,并可以向分行提供对账的数据文第三章 系统的设计与实现第 15 页 件、向 MIS 系统提供所需的分析数据。清分清算模块产生的数据还通过汇兑接口提供给会计核算系统。 报表模块:为外卡接口系统提供所必须的各类报表。 业务处理平台:业务处理平台使用基于 J2EE 的 B/S 的架构,平台向业务人员提供系统的操作、机构的管理、商户管理、机构功能操作、交易查询、操作员权限管理、争议处理的界面等等操作功能。业务处理平台与外卡交换处理平台系统相配合,提供了一个易于使用,方便操作,适用与不同业务结构,分布的用户界面。前置系统完成对联机处理的业务进行查询,监控,传送报文等等操作;实现人工授权、手工单以及退货交易处理;对日终数据进行对账,发起清分清算处理;