1、本科毕业论文(20 届)基于芯片存储技术的金融 IC 卡所在学院 专业班级 应用物理 学生姓名 学号 指导教师 职称 完成日期 年 月 目 录第一章绪论 .11.1 国内外发展现状 .11.1.1 国际金融 IC 卡系统 .11.1.2 国内金融 IC 卡系统 .11.2 发展之路 .21.21 金融 IC 卡在市场上的发展趋势 .21.2.2 金融 IC 卡的发展趋势 .3第二章相关技术基础 .42.1 MVC 框架开发 .42.1.1 MVC 概述 .52.1.2Struts 的优点与不足 .72.2 Struts 的工作流程 .72.3 Hibernate 介绍 .92.3.1 Hibe
2、rnate 核心类概述 .102.3.2Hibernate 控制的事物 .11第三章需求分析与实现 .113.1 系统需求说明 .113.1.1 项目的目的与目标 .123.1.2 相关文档 .123.2 业务实现 .123.2.1 借记 IC 卡柜面交易需求 .123.2.2 贷记 IC 卡系统柜面交易需求 .37天津理工大学 2015 届毕业论文3参考文献 .54致谢 .55天津理工大学 2015 届毕业论文1第一章 绪论1.1 国内外发展现状随着我国电子化建设的快速发展,金融 IC 卡作为一种新型的金融支付工具,在金融业务和公共服务领域越来越广泛。当今是一个电子化不断发展的年代,在过去的
3、一段时间磁条卡出现了很多问题。例如:不够安全、交易成本高、一手持多卡使用不方便等缺点,已经不再适应未来更为复杂的业务。因此,金融 IC 卡应运而生。1.1.1 国际金融 IC 卡系统先来介绍国际上通用的 EMV 标准,它的全称是 EuroPay MasterCard 和 Visa 简称为EMV,是国际上的一种操作规范,它是由国际三大卡组织共同制定的。主要是用来规范金融支付系统的 IC 卡及读卡终端。EMV 标准集合了已有相关金融规范的全部优点,更加突出了他的安全性。所以,它将促进金融 IC 卡逐步替代磁条卡,从而可以使全球范围的金融 IC 卡实现国与国、厂与厂、金融机构之间的胡操作,实现一卡多
4、用。早在 1985 年法国就开始使用银行 IC 卡(业务面小于金融 IC 卡) ,到了 90 年代中期得到广泛使用,当时主要以小额支付为主,例如电子钱包等。在当时很多国家并不接受银行IC 卡,使用现在已经停止了对电子钱包 VISA Cash 的推广。于是国际卡组织在 1999 年重新调整了 IC 卡的发展重点,以借记卡/贷记卡的 IC 化为重心开始推广。我们称这次调整为EMV 迁移。这次迁移的重点放在了防止卡片欺骗和促进金融支付多样化这两个方面上,被称为是卡片支付介质的一次革命。在这种环境下,各家银行开始发多功能卡,非接触卡等创新产品,为了用产品多样化来争夺银行卡的市场份额。这次革命对所有卡支
5、付的相关行业产生重大而深远的影响。目前,各个国家都遵循 EMV 规范,在努力推进由金融 IC 卡取代磁条卡的进程(EMV 迁移)。这样不仅有利于规范金融市场,更有助于提高金融市场的安全。1.1.2 国内金融 IC 卡系统我国在 1994 年第一次提出了“磁条卡与智能卡并用,逐步向智能卡过度”的指导思想。在 1997 年底,中国人民银行在 EMV v3.1.1 规范的基础上组织制定了中国金融集成电路(IC)卡规范 (又称 PBOC1.0 标准) 。2005 年,人民银行和中国银联按照我国银行卡芯片天津理工大学 2015 届毕业论文2化设计要求正式颁布了 POBC2.0,在规范中电子钱包/存折应用
6、得到了补充完善,同时与 EMV标准兼容的借/贷记应用、非接触式 IC 卡物理特性标准、电子钱包扩展应用指南、借/贷记应用个人化指南等这些内容也被新添加到 POBC2.0 标准中。该标准能够有效的指导实施我国银行卡芯片化实现联网通用和安全,将为我国银行卡芯片化奠定标准基础。金融 IC 卡要按照 PBOC 标准在全国建立三级密钥管理系统,这三级分别是:人民银行总行为一级密钥管理系统;二级密钥管理系统由各商业银行总行和人民银行各中心支行建立;商业银行地区分行建立三级密钥管理系统。由于密钥级别的不同,密钥可在密钥管理系统中分为公共密钥和分行专有密钥还有管理密钥三个大类。人民银行总行、人行地区分行、商业
7、银行发卡行这三级密钥管理系统已经建立,各家商业银行在开发卡系统时就有了统一的标准。现在,人民银行在北京、上海、长沙三地开展了金融 IC 卡的试点工作,并成立了相应的银行卡服务中心,这一举措可以有效的规范系统统一建设,同时也可以促进交易的通用性和资源的共享。1.2 发展之路1.2.1 金融 IC 卡在市场上的发展趋势在日常生活及经济活动过程中,对快速金融结算、支付、认证等服务需求呈现爆发式增长,同时,对交易便捷、安全性要求达到了前所未有的高度;在此背景下,安全、高效的小额支付应用需求在各地区、各行业领域应运而生,并呈现出快速发展的势头,在很大程度上会削弱或替代“现金”的支付功能;为满足这类需求,
8、从社会经济、金融体系、支付结算体系等都将做重大调整和改变,会逐步形成新的金融秩序之外。发行金融 IC 卡对银行来讲,是势在必行的。根据央行时间表,自 2010 年 7 月 1 日起,新投放的 POS 和 ATM 终端应具备金融 IC 卡的受理功能;存量直联 POS 终端应在 2010 年底完成金融 IC 卡受理改造;存量间联 POS 终端应在 2011 年底完成金融 IC 卡的受理改造;ATM 终端和非现金终端应在 2012 年年底完成金融 IC 卡的受理改造。到 2015 年,所有银行卡将全面发行银联 POBC2.0 标准的金融 IC 卡。同时,周边国家和地区 EMV 迁移的进度远远超过国内
9、,金融卡欺诈有明显的向国内蔓延倾向,亚太区内从 2006 年 1 月开始,将目前欺诈风险主要发卡机构承担的惯例,改为发卡机构和收单机构中未采取 EMV 迁移的一方承担,许多国家和地区已颁布法令,在其境内必须发行和使用金融 IC 卡,国际上的银行卡组织和金融机构也在大力推动全球磁条卡向金融 IC卡迁移。国内银行如不积极应对将面临巨大损失。天津理工大学 2015 届毕业论文31.2.2 金融 IC 卡的发展趋势由于金融 IC 卡的容器特性,它可以整合银行、应用提供商、商户和企业(行业)资源,为持卡人提供更加便利的服务。而银行作为金融 IC 卡的发卡单位,理应成为资源整合的发起者,以掌控相关资源,提
10、高对持卡人的服务水平,提升银行的盈利能力。金融 IC 卡能够满足网络支付、电话支付、手机支付等各种新型支付领域的安全要求,未来能取代网银证书、口令卡等个人安全验证工具,成为全面的支付工具,实现各种渠道的支付。金融 IC 卡不仅具备了目前各种行业卡的功能,而且拥有更为丰富的使用渠道,特别是能够复合多种应用,未来将取代各种行业卡,将多种卡片功能复合在一张卡片中,不仅减少社会在受理终端和卡片及系统的资源投入,降低相关资金风险,也减少公民需携带的卡片数量和需管理的账户数量,方便生活和工作。基础系统搭建的发展:按照人民银行要求发出金融 IC 卡:建立电子现金的相关的核算制度和差错处理机制;再发卡中建立行
11、业应用扩展的基础。行业应用拓展:根据银行的业务战略、客户方向等选择主推的行业应用模式;根据银行的不同客户群选择不同的行业应用类型;分行寻找行业的应用机会,做成金融 IC 卡行业应用的案例。多应用管理的发展趋势:在行业应用案例逐步丰富的情况下,通过总行形成对行业应用的统一管理机制;发展电子渠道,方便持卡人行业应用的自助服务;基于电子渠道的营销和服务体系,发展面向个人的行业应用模式。卡产品创新的发展:在行业应用资源丰富的情况下,有选择的培养持卡人应用使用习惯;根据客户群特点设定银行卡品牌,选择符合品牌特征的和客户特点的应用丰富银行卡品牌内容。金融 IC 卡的应用试点工作在北京、上海、宁波等多个城市
12、取得重大阶段性成果之后,接下来的任务是进一步加强银行业与国内重要行业的合作,加快关键系统的开发和升级改造,完善 IC 卡标准和安全体系建设。第二章 相关技术基础2.1 MVC 框架开发MVC 即 Model-View-Controller,M 代表业务逻辑,V 代表视图,C 代表控制层。通过使用 MVC 模式就把软件层次分为 3 个层模型层、视图层、控制层。视图(View)层:就是用户能看到的界面。在 J2EE 技术中,常用的表示层技术主要由JSP、JSF、Freemarker 等组成。天津理工大学 2015 届毕业论文4状态查询 状态改变通知改变视图选择用户请求方法调用 事件图 1-1 MV
13、C 组件类型的关系和功能模型(Model)层:也就是软件业务的实现部分。一个软件有什么功能,它如何实现功能,这些功能之间的联系都是在模型层进行处理的。可以这样说,模型层是一个软件的核心,软件功能的好坏、软件功能是否完善,业务层起到了决定性的作用。控制(Controller)层:Struts 中的控制层和 Servlet 的功能一模一样,就是调用业务层,然后进行视图的切换。控制层几乎不做任何与业务有关的事情,比如登录验证这些。所以在软件的分层结构设计中,控制层的代码量几乎是最少的,但它的作用也是非常重要的。模型封装应用程序状态响应状态查询应用程序功能通知视图改变视图解释模型模型更新请求发送用户输
14、入给控制层允许控制器选择视图控制层定义应用程序行为用户动作映射成模型更新选择响应的视图天津理工大学 2015 届毕业论文5通过将模型、视图与控制层的分离,各个层之间的联系非常少,但这样做的好处是,控制层可以随意地切换到自己想要展示的页面,然后控制层调用业务逻辑层和持久化保存数据层,来实现软件的功能,再转回到控制层,最后将最终的结果显示到视图层,这实际上是一种模型的变化传播机制。模型、视图、控制层三者之间的关系和各自的主要功能如图1-1 所示。2.1.1 MVC 概述MVC Model 1 介绍在最初开发 JSP 项目过程中,使用最广泛的方法就是:JSP+JavaBean,虽然这是一种针对大型软
15、件项目过时的技术,但这样的方法直到现在有些公司还在乐此不疲的使用,也许就是项目的需要,但它的优点也是不可否认的:速度。由于没有经过任何的框架封装,运行起来会非常快。MVC1 模型在 UI 图形用户界面端 JSP 文件里,夹杂着大量的 JSP 脚本和 HTML语言代码及一些 JavaScript 脚本,这就加大了程序调试、维护的困难度。想一想,如果在一个包含 10 万行的 JSP 文件中调试程序的情景是多么困难。MVC model 1 模型如图 1-2 所示。图 1-2图 1-2 MVC model 1 模型电脑应用服务器JSP 页面JavaBean数据库天津理工大学 2015 届毕业论文6从图
16、 1-2 中可以看出,JSP 是整个应用系统的门户。主要负责以下 4 项工作: 负责与客户端的所有通讯。 处理所有的请求。 处理所有的答复。 负责显示复杂的 UI 用户界面。在处理答复的时候,从数据库中存取数据有两种方式: JSP 自己直接去存取。 由 JavaBean 来完成。因为 JavaBean 可以被放在一个请求上下文或者用户会话中,这样就可以在不同的 JSP 页面之间通信,对于有过开发 JSP+JavaBean 的经验的就更好理解了。当然这种模型在进行快速创建和需求不是很复杂且规模较小的 Web 应用的情况下是有很大优势的,比如 JSP 和HTML() 。在 JSP 页面中同时实现显
17、示业务逻辑和流程控制,从而可以快速地完成应用开发。缺点:从工程化的角度考虑,他也有一些不足之处把表现层和业务逻辑层的程序代码揉合在一起,不利于以后的维护工作及开发角色的分配,所以这种模式只适合于小的系统开发和单人开发。MVC Model 2 介绍由于 MVC1 模型较容易出现由于变现层和业务逻辑层程序代码揉合在一起对软件开发的维护、管理和调试不利的一面,Servlet/JSP 规范的 0.92 版描述了在一个应用中使用Servlet 和 JSP 的架构,这也就是现在所说的 MVC Model 2 模型,如图 1-3 所示。该模型结构即 JSP+Servlet+JavaBean。MVC Mode
18、l 2 模型又称作以 Servlet 为中心(Servlet Centric)的设计模型。应用服务器电脑应用服务器Servlet数据库天津理工大学 2015 届毕业论文7图 1-3 MVC Model 2 模型对比图 1-3“MVC Model 2 模型”和图 1-2“MVC Model 1 模型”的结构图,从 JSP 这个角度来看,JSP 页面至少少了两个任务,即获取和处理用户的请求,因为 Servlet 相当于控制器(Controller)角色,它负责接收客户端请求并处理此请求,将它传递给合适的 JSP,而 JSP 则显示给用户。所以 JSP 页面这时候主要做两件事情: JavaBean
19、直接与数据库打交道取得数据后,JSP 从 JavaBean 中读取数据。 把结果返回给客户端。根据 Model2,Servlet 处理数据存取和导航流,JSP 处理表现。Model 2 强制性准则使Java 软件工程师和 HTML 用户界面设计者分别工作于他们所熟悉的部分。Model 2 应用功能的一部分发生改变并不牵连其他部分也跟着发生改变。2.1.2Struts 的优点与不足与其他 Apache 项目一样,Struts 一大优点是他也是开源软件,这样其内部实现机制就能为开发者更深入地了解。Struts 其他主要优点有两个:页面导航和 Taglib。软件今后的一个发展方向就是页面导航,有了它
20、,就能提高系统脉络的清晰程度。而且该技术的运用也比较简单,只要借助一个配置文件,就能对整个系统各部分及相互间联系完整的把握,极大地提高了系统的可维护性。作为 Struts 的标签库,Taglib 具有灵活运用的特点,能使开发效率得到极大地提升。当前除了使用 JSP 自带的常用标记外,国内的 JSP 开发者还鲜有开发自己的标记的,而 Struts 的出现可以改变这种状况。作为 Struts 的一个优势,Taglib 会对初学者带来很多麻烦,因为学习和掌握会打乱他们网页编写的习惯,而且这是一个很长的持续的过程。只有当程序开发者完全习惯了它后,他的优势才会被感觉到。另外,Struts 会增加系统的复杂度,这主要是因为他将 MVC 的控制器一分为三。JSP JavaBean