【delphi开源代码栏目提醒】:网学会员为广大网友收集整理了,基于Web的银行前台系统 - 研究报告,希望对大家有所帮助!
华南理工大学 硕士学位
论文 基于Web的银行前台系统 别:硕士 专业:软件工程指导教师:张平健谭永胜 20071101 摘 要 无论是在国内还是国外,银行业都有很长的发展历史。
最近的几十年,银行的发展更加迅速。
银行所提供的服务也不是只在简单的储蓄和贷款业务,众多的金融产品和各式各样的银行服务造成了银行系统的复杂性,同时也造成了银行对计算机系统的高依赖性。
银行系统属于比较注重安全和稳定性的系统,对技术选择较为保守。
银行系统的开发有其特殊的环境和背景,本文所涉及的系统设计开发也是在这样的环境下进行的。
本
论文前半部分分析了当前基于web应用程序的各种开发技术。
研究了在J2EE的平台下各种常见的技术和应用程序框架的发展现状,对比了不同技术的优缺点。
重点讨论了Struts和Mvc设计模式;介绍了Enterprise JavaBeans的结构和它的三种不同的形式及其用法、优缺点;最后还介绍了JAAS、Websphere MQ、Ajax等技术。
在后半部分,本文通过对一个银行前台系统的需求进行了分析,在此基础上进行了技术选择和系统设计,力求利用现有的成熟技术为银行前台系统的开发提出一个切实可行的模型。
在部分着重讨论了该银行前台系统的远程服务管理模块、登录模块以及用户界面模块。
其中也提到如何在Javascript语言中实现简单的面向对象的编程方式。
关键词:银行系统;J2EE;Stmts;MQ;Ajax Ab stract Banking industry has a Very long history in the world. Banking industrydeVelops Very f.ast in the last decade.Banks do not just proVide simple services likedeposit and loans any more.Hundreds of financial products and diffbrent kinds ofbanking ser、,ices caus the complexity of the banking business.And therefore makebanks highly depend on computer systems.EIanking systems have a high standard onsecurity and sta,bleness. So banks are relatiVely conserVative to new techn0109ies.Banking systems haVe their own industry background and environment.This article isbase on such background and environment. The first part this article analyzes the web based application developmenttechn0109ies, study the current status of those fIrequently used technologies andapplication framework in J2EE platf.om.The pros and cons of these techn0109ies arealso compared.This part focuses on the study of the Stmts framework and the MVCdesign pattern.It also introduces the structure of EnteIprise JaVaBeans technologiesand its three types of bean.At last,the article introduces other technologies 1ikeJAAS,WebSphere MQ and Aj ax. The second part of this article analyzes the system requirement of a bankingfront ofhce system. Base on the analysis, the article discusses the technologyselection and the system design.It tries to demonstrate a practical system model forthe banking front ofnce system with some matured technologies.This part focuses onthe Remote SerVice Management module, the system 109in module and the userinterface module. It also mentions how to use JaVascript to write program in anobj ect.oriented manner.Keyworks:Banking System;J2EE;Struts;MQ;Ajax II 华南理工大学 学位
论文原创性声明 本人郑重声明:所呈交的
论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:禽弼 、 q 日期:加夕年/≥月多日 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定,即:研究生在校攻读学位期间
论文工作的知识产权单位属华南理工大学。
学校有权保存并向国家有关部门或机构送交
论文的复印件和电子版,允许学位
论文被查阅(除在保密期内的保密
论文外);学校可以公布学位
论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位
论文。
本人电子文档的内容和纸质
论文的内容相一致。
本学位
论文属于: 口保密,在——年解密后适用本授权书。
疥保密。
学位
论文全文电子版提交后: 口同意在校园网上发布,供校内师生和与学校有共享协议的单位浏览。
(请在以上相应方框内打“√”) 作者签名: .畿昶 日期:加夕.,2么 指导教师签名: 溯钞 日期:沙叩.,2,.二 第一章绪论 第一章绪论1.1选题的背景及意义 IT对银行非常重要。
最近的十多年,银行的发展非常迅速。
银行所提供的服务也不是只局限于简单的储蓄和贷款业务。
信用卡,股票,债券,基金,保险,外汇,结构化产品以及衍生产品使得银行的业务变得丰富,每种产品都有自己的特点和复杂的计算,这使得银行的运作变得非常庞杂。
人工的运作已经不可能了,现在银行的运作已经高度依靠计算机系统的支持,自动化的程度很高。
处理速度快,高精确率,强整合性,不断变化以支持新出现的产品是对银行系统的基本要求。
花旗银行的总裁曾经说过.‘‘银行的本质不是经营金钱,银行经营的是信息。
”银行要“经营”信息,没有强大的计算机系统的支持是不可能的。
IT对银行的重要性体现在下面几点: ·降低成本,提高竞争力 随着银行业的发展,银行之间的竞争也在加剧。
在国际上,各大银行之间不断整合以及调整自身结构来不断扩大市场占有率以及提高自身的竞争力。
一方面通过
计算机系统实现处理的自动化,减少人的参与达到减少支出的目的(如推出网上银行以减少对分行的投入)。
另一方面,也把工作流程进行拆分,把一些工作从高人力成本的地区如美国、英国等转移到低人力成本的地方如中国和印度去。
而要实现这种工作流程的拆分和转移,计算机系统的支持是必不可少的。
所以,在减少人力成本方面,IT起到举足轻重的作用。
·提高客户满意度 “客户就是上帝!”银行作为服务性的行业竞争愈演愈烈。
赢得客户就能赢得市场。
如何赢取客户的信任,留住客户,这都是银行主管们的每天思考着的问题。
银行推出小至自动转账,月帐单,大至ATM,电话银行,网上银行等等服务,都是为了提高客户的满意度。
让客户感到方便,快捷。
自然客户也会继续用银行提供的其他服务。
仔细看看这些服务,你不难发现,他们全部都是通过计算机实现的。
可见,IT对于提高客户满意度方面也是扮演着非常重要的角色。
·业务创新,创造价值 华南理工大学硕士学位
论文 以前我们讲IT的价值,讲的更多的是IT带来人力成本和管理成本的节约,实际上银行的主要成本是资金成本,因此IT的作用还是有限的。
但是IT现在并不是只是起到节省成本的作用。
IT已经和银行的业务融合在一起。
通过IT的帮助,银行能够更快地创造出新的产品或提供更好的服务。
IT变成了创造价值的工具。
而且,随着IT的发展。
这种创造新价值的力量还在增强。
这就是为什么各大银行不惜重金用IT武装自己的原因——IT不再是成本,而是投资,IT增加了银行的收益LJ J。
在银行的计算机系统里,自然地根据系统的性质分成了前台系统和后台系统。
前台系统主要由直接对客户服务的部门如分行,客户理财中心等使用,后台系统是给负责实际运作如交收,结算,会计等等部门使用。
从前的银行系统里,后台系统的地位很重要,因为它是整个银行系统的核心,所有的银行的业务最终都由后台系统进行处理和记录。
这些系统通常都会构建在一些较旧的技术上,如CoBoL,RPG等编程语言,运行的环境也主要在Mini Computer或者在Mainframe上。
经过多年的发展,银行的后台系统通常都非常完善和稳定。
随着银行业的发展,客户成了的中心。
地球围绕太阳转,为了提高前台
工作的工作效率以及向客户提供更优质的服务。
前台系统现在反而成了银行里重点投资的中心。
新技术的出现,应对不断变化的市场需求,银行前台系统的发展也日新月异。
选择《基于Web的银行前台处理系统》作为
论文的题目,目的是对现时众多的新技术进行研究和概括,同时也探讨和设计出一套可行的,适用于银行前台
系统开发的软件体系结构和实现方法。
1.2对
论文相关技术研究现状的分析 十年前,知道Java的人也许只是局限于专门的技术人员。
今天,Java已经深入我们生活的方方面面。
Internet上的许多网站需要有Java的支持,我们用的手机上的
软件也是用Java编写的。
Java作为面向对象的一个编程语言以其平台无关的强大特性,已经成为当前最流行的编程语言。
当然,以Java最初所提供的功能对于满足大型的企业级的开发还远远不够。
于是,Java的创始人Sun Microsystem公司在1 999年颁布了为企业开发设计的Java平台Java 2 P1atfomEnterpriseEdition即J2EE的第一个版本。
之后,J2EE收到众多软件开发商以及大型企业的青睐,其自身也不断发展。
比较重要的版本有1.2,1.3,1.4和最新的Java 2 第一章绪论EE 5 (即1.5)。
我们不妨看看在sun Microsystem公司的网站上给出的对J2EE的阐述:Java P1atf.om,Enterprise Edition (JaVa EE) is the industry standard f.0r deVeloping the port a|ble,robust,scalable and serVer-side JaVa applications.Building secure onsolid f.oundation of the Java Platf.om,Standard Edition (JaVa SE),JaVa EE proVidesweb services,component model,management,and communications APIs that make it the industry standard f.or implementing enterprise-class serVice—oriented architecture (SOA) and next.generation web applications【2】. 由文献〔2】的阐述中看到,J2EE的目标是给企业级的基于服务架构的下一代W曲应用系统订立行业标准。
我们也可以从中窥探到作为行业龙头的Sun对行业发展方向的理解——J2EE的不应只是一些基本的服务和API。
SoA (Service.Oriendted Architecture)在未来五年到十年中将是系统开发中最重要的一个名词。
虽然在现在对于soA的理解各大厂商各执其词,并没有一个统一的行业标准。
但是各大厂商都为这个下一代的系统结构和概念下足了工夫,sun也不例外。
在当前的版本和将来的J2EE版本中,Sun更加注重不同系统的之间
通信和整合的方法,更加注重系统的模块化以获得更好的重用性和简单的系统设置方法。
这些都是实现SOA的基础支持技术和条件,J2EE已为SoA的到来做好了准备。
究竟Sun能否能提出实现SoA的模型和方法并使其成为行业中的标准,我们现在不得而知,但是这个发展的方向是非常清晰了。
下面是Java EE 5中包含的一些主要技术。
●Ⅵ厂eb Services ● JavaServer Faces 1.2 ● JaVaSerVer Pages 2.1 ● JavaServer Pages Stand Tag Library ● Java Servlet 2.5 ● Enterprice JaVaBeans 3.O ● J2EE Connector Architecture 1.5 ● JavaMail ● JaVa Message SerVice API ● Java Transaction API (JTA)【3】
开源框架的出现: 3 华南理工大学硕士学位
论文 很多大型的J2EE项目都用自己的内部框架来隐藏平台的复杂性,人们逐渐发现一些在很多项目中都存在的共有的难题,这些难题都可以由一个较为统一的解决方案来解决。
而现有的框架正好可以充当这些问题的解决
方案。
现在有种很明显的趋势:与从前的内部框架相比,这些框架将成为这些难题的更加“标准化”的解决方案。
J2EE平台的日益成熟是这些框架流行的一个原因。
开发者知道有些地方是J2EE的标准API无能为力的,倚他们的经验来看,要弥补这个缺陷是很困难的。
于此同时,一些优秀的
开源框架可供使用,它们提供了极为丰富的技术
文档,在它们背后还有一个专业的团队做支持,并且一切都是
免费的【4】。
Stmts,在web应用程序产生时就有的
开源框架。
在1999—2000年,开发者们意识到JS P‘‘Model l”的缺陷,JsP中充斥着请求处理
代码和静态数据模板,这意味着你不得不把业务逻辑和复杂的HTML以及其他的标签混到一起。
那个时候还没有标准的框架和J2EE的标准支持,要解决这个问题开发者就得自己实现前端控制器,这样可以把业务逻辑分离到java类中,从而可以减轻对JsP的维护难度。
前端控制器模式经常运用在MvC架构中,MvC模式在OO语言的GuI开发中经常使用(这个名字总是让人误解,web MvC中的视图是从模型中“拉”数据;而在经典MVC中,模型把事件“推向”视图)。
最初的前端控制器实现质量参差不齐。
200l~2002年间,Apache
开源组织发布的Struts改变了这个状况,虽然它并非一个完美的框架,但已经足够使其成为该领域事实上的标准。
经过不断的发展,Struts在2007年本文撰写的时候,已发展成两个主要的版本。
·Struts 1 (1.3.9)是最流行的介于Java技术Web应用程序的框架。
这已经是一个非常成熟的框架。
也是行业中的事实标准。
我们说的Stmts通常就是指Struts 1。
·Struts 2(2.O.9)是Struts和另一个Web应用程序框架Webwork结合的产物。
webwork框架的目标是提高开发的效率和简化源
代码的复杂性。
两者的结合为一些困难
问题的解决提供了较好的解决方式【5〕。
结构简单,容易使用,开放源
代码,
文档齐全,支持广泛这些特点使得Stmts如今已经成为几乎所有Web应用程序开发框架的不二选择。
4 第一章绪论1.3
论文的主要工作及组织方式 本
论文所研究的是基于web的应用程序开发技术及设计实现方法。
都是目前的研究和应用的热点,这些问题的解决具有重要的实际意义。
论文的工作主要有: (1)分析国内外基于Web的软件开发技术的发展情况,存在的问题。
(2)重点研究如何选择J2EE中的技术,并合理地应用到系统开发中去。
(3)提出为银行前台部门设计系统模型。
(4)根据研究的结果,应用到一个具体的系统开发设计中去。
本
论文的组织方式如下: 第一章介绍本
论文选题背景及意义和分析主要相关技术的研究现状。
第二章主要研究了基于Web的应用系统开发相关的技术和框架:Struts,Enterprise JavaBeans,Java Authentication&Autho“zation Service,WebSphere MQ,Catster,AJAX等。
第三章主要介绍了一个银行前台系统业务的需求并对其进行分析。
第四章这一章主要描述系统设计,包括对象银行前台系统系统的总体
设计、系统架构、详细设计、数据库设计(概念设计、逻辑设计、物理设计)等。
第五章主要阐述了系统的实现和测试,主要包括开发环境、开发工具,典型模块流程图、伪
代码块等。
5 华南理工大学硕士学位
论文 第二章相关技术 基于Web的应用程序开发可以说是当前系统开发中涉及相关技术、架构最多结构最复杂的一种系统开发。
在众多的技术中,Struts框架、Enterprise JavaBeans (EJB),JaVa Authentication&Authorization SerVice (JAAS),Ⅵ厂cbSphere MQ,Ajax等是最重要的几种。
本章会介绍这几种架构和技术的背景并提供详细的说明,为下面章节的论述提供基础。
2.1 Struts框架 应用程序的开发技术和方法在过去十年发生了翻天覆地的变化。
编程的主导语言上从C,C++,Delphi变成了今天的Java。
应用
程序的形式也从客户服务器机构变成了今天基于Web的多层应用架构。
如今的程序开发不仅要求能够处理复杂的商业应用,开发过程短,低风险,还要求能够具备高重用性和灵活性。
这些越来越严格的要求,使得人们不断地改进过去旧有的开发方法。
现在的应用程序开发不再是万丈高楼平地起,而往往是从挑选一个合适的应用程序框架开始(特别是大型的商业应用)。
这也是Struts框架出现的背景。
Stmts应用了MvC的设计模式,是一个基于Java语言开发Web应用程序的框架。
从Java Servlet API的引入以来,开发人员就已经使用许许多多不同的技术在Java语言下开发Web应用程序。
在开始的尝试中,开发人员多使用一种叫做Model1(第一模型)的开发方法。
慢慢地,这种开发方法的许多缺点暴露了出来。
于是,人们提出了Model 2(第二模型)来改善Modell结构中的不足之处,Struts的提出就是基于Model 2。
理解Modell对于我们下面介绍的结构有重要的帮助,所以我们先来看看Modell。
Model 1的基础是JavaSerVer Pages(JSP)。
JSP技术的主要功能是从HTTP请求中把参数提出出来,引发相应的业务逻辑模块的功能,处理HTTP Session,并把其处理结果反应到其生成的HTML中去。
一个Modell的应用程序是由一系列的JSP文件以及一些起到支持功能的类和其他构件所组成。
一些早期的技术如AsP(Active server Pages)和PHP(Hypertext Preprocessor)也是采用类似的模 6 第二章相关技术型。
Model 1的主要好处是简单性。
但是Modell鼓励开发人员把业务逻辑以及用户界面的表现逻辑相混合,这是一个非常大的弊病。
这个模型适合于小型应用程序的开发,但对于复杂和大型系统的开发,Model 1明显难以管理。
这主要体现在
代码重用性和系统维护上——开发出来的
代码很难在别的系统中利用,要阅读和修改现有的系统
代码也很困难。
在JSP和Servlet的世界中引入面向对象的方法并使用MVC的系统架构,这就成为了Model 2。
下面的插图显示了MVC的三个部分,并且说明了用Struts和JSP如何实现各部分。
1:HTTP r%ueSt 3:Ca¨action 5:For蜉ard tO : 谢th f0盯n JSP而Ie I : 2:Cre如 4:C陀ate ’ 耙Hn bean resuIt beang 晷:Pfoduce HTl-P 陀sponse(HTML, XML,ⅨW….’ 图2—1 Model 2【6】 MVC这个设计模式(Design Pattem,有人也把MVC称作架构模式)是针对有用户界面应用程序设计而产生的。
MVC指的就是把系统中的部件分成三大类——Model,View和Controller。
MVC设计模式对系统组件提出了清晰的分类,每一部分的组件有了自己明确的任务和责任。
这使得这些组件在重用性方面得到了很大的改善。
·Model就是指与业务逻辑的及域对象(Domain o|jbects)在系统中的相应Java类,主要是由一些Java Beans类和EJBs组成。
这一部分包括了系统中的业务逻辑及对象,如在银行系统中这些类就包括Customer、Account、Balance、Transaction等类。
7 华南理工大学硕士学位
论文 ·Ⅵew是系统中负责将数据在用户界面显示出来的系统组件。
在Model 2中,这个任务由JSP负责。
·Contoller,顾名思义是系统中控制者。
从插图2.1中我们可以看到,在Stmts中这部分是由一个Servlet担当。
Stmts的这个SerVlet提供了用户请求最初的入口并把为所有的HTTP请求转发给Struts。
它解析并把这些请求分发到开发人员编写的Stmts的Action对象去。
并且,它自动地把HTTP请求中的参数填到Stmts的ActionFom对象中去,这样开发人员可以很容易地就在Action对象中提取这些参数。
每一个Stmts的Action类都是起到协调Model和View组件功能的作用。
Action类通过访问Model组件中的EJB而访问到相应的业务逻辑,又通过把信息转发到View组件而将信息显示到用户界面。
整个Struts所提供的功能就是Controller。
在Model 2之后,由于XML的广泛应用,又引入了Model 2X。
Model 2X就是Model 2的扩展。
其扩展部分主要体现在View组件中使用xML和xSLT (Extensible Stylesheet Language Transfomations)。
这个改革使得产生的数据以更开放格式XML进行传输。
由于xsLT文件能够在客户端的浏览器中进行缓存处理,减少了客户和服务器端的文件传输,在系统运行效率方面得到一定的提高。
下面是Model 2x的一个结构图。
本文后面提到的系统采用的就是Model 2X结构。
.