基于私有云架构的基金报表系统开发硕士学位论文.docx
- 文档编号:9358003
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:60
- 大小:752.46KB
基于私有云架构的基金报表系统开发硕士学位论文.docx
《基于私有云架构的基金报表系统开发硕士学位论文.docx》由会员分享,可在线阅读,更多相关《基于私有云架构的基金报表系统开发硕士学位论文.docx(60页珍藏版)》请在冰豆网上搜索。
基于私有云架构的基金报表系统开发硕士学位论文
硕士学位论文
基于私有云架构的基金报表系统开发
摘要
近年来,云计算不论在计算机行业内还是普通人们生活中都已经成了一个炙手可热的词汇,各大IT企业都成为了云计算的拥护者。
同样在金融业领域,云计算依然有它应用的强烈需求,将金融业务的在线运作系统迁移到云端已经成为了提升服务效率、加快版本升级、更新业务需求的不二选择。
同时在轻量级服务越来越普及的今天,越来越多的企业级应用已经从C/S架构迁移到了B/S的大军中来,在web技术迅速发展的这些年中,涌现了不少成熟的解决方案,如JSP/Servlt、.NET、PHP等,但是绝对不能忽视的是富客户端(RIA)的崛起,它是良好用户体验的优秀解决方案。
而Flex又是RIA中的佼佼者,我们可以利用Flex创造出不亚于桌面应用的操作效果。
在本文中,作者主要分析了基金报表系统的课题背景,详细阐述了云计算的技术背景,对实现与辅助系统的J2EE后台技术架构进行了详细的介绍,着重笔墨阐述了Flex及其框架Cairngorm的设计运行机制,前后台的衔接与整个云平台的整合。
同时结合系统实际的商业需求,将几个主要模块的设计实现进行了描述。
接着又介绍了几个开发过程中使用到的技术要点。
最后系统地列举出实际中遇到的前端性能瓶颈问题并给出实际的解决方案。
由于作者在项目中的任务主要分布在前台所以本文中着重从前台开发的角度介绍项目中的各种问题,对于后台部分对主要的框架等进行了详细的介绍。
关键词:
Cloud,Flex,J2EE,FlashPlayer,松耦合
Abstract
Inrecentyears,cloudcomputing,whetherinthecomputerindustryorinthelifeofcommonpeoplehasbecomeahotword,andthemajorITcompanieshavebecomeproponentsofcloudcomputing.Alsointhefieldoffinancialindustry,cloudcomputingisstillstrongdemandforitsapplication,theonlineoperationoffinancialbusinesssystemstomigratetothecloudhasbecomethechoicetoimproveserviceefficiency,speeduptheupgrade,updatethebusinessrequirements.
TodaymoreandmoreenterpriseapplicationsservicesarebecomingincreasinglypopularlightweightmigrationfromC/SstructuretotheforceofB/Sstructure,WebtechnologydevelopedrapidlytheseyearshaveemergedmanymaturesolutionslikeJSP/Servlet、.NET、PHPetc.ButwhichabsolutelycouldnotbeignoredistheriseoftheRichInternetApplication(RIA),itisexcellentsolutionforagooduserexperience.AndFlexistheleaderintheRIA,wecanuseFlextocreatetheeffectoftheoperationasmuchasdesktopapplications.Inthisarticle,theauthoranalyzedthesubjectbackgroundofthefundreportingsystem,elaboratedonthebackgroundofcloudcomputingtechnology,andcarriedoutadetailedintroductiontotheJ2EEback-endtechnologyarchitectureoftheauxiliarysystemandtheprivatecloud,focusonwordsdescribedthedesignandoperationmechanismoftheFlexandit’sframeworkCairngorm,interfacebetweenfrontandbackandtheintegrationoftheentirecloudplatform.Combinedwiththeactualbusinessrequirements,designandimplementationofseveralmajormodulesaredescribed.Thenintroducesthetechniquesusedinseveraldevelopmentprocess.Finallylistedseveralproblemsencounteredintheactualsystemandgivetheactualsolutiononebyone.Inthisarticletheauthorintroducedfromtheperspectiveofthefrontdevelopmentfocusesonthevariousissuesintheproject,andcarriedoutadetailedintroductiontothemainframeworkforthebackgroundpart.
Keywords:
Cloud,Flex,J2EE,FlashPlayer,Looselycoupled
目录
摘要i
Abstractii
1.1课题背景2
1.2云计算概述2
1.2.1云计算的概念2
1.2.2云计算的特点2
1.2.3云计算的研究现状3
1.2.4云计算技术在银行中应用需要重视的问题4
1.3面向金融企业的一个基金报表系统—FAR5
1.3.1系统重构的意义5
1.3.2系统的组成6
1.4论文组织结构6
1.5本章小结7
第2章系统的架构8
2.1Cloud的系统架构8
2.1.1SOA架构8
2.1.2Cloud的SOA架构9
2.1.3实际应用中的私有云11
2.1.4CloudApp工程设计框架的选型11
2.2Cloud的前端实现技术13
2.2.1前端技术的选择13
2.2.2Flex技术概述14
2.3工程后台技术概述21
2.3.1J2EE21
2.4本章小结22
第3章系统的设计实现23
3.1FAR的设计架构23
3.2Fund/AssetsMaintenance模块的设计24
3.2.1MaintenanceMainPage的设计24
3.2.2Addnewfund功能的设计25
3.2.3OOT功能的设计26
3.2.4Import功能的设计27
3.2.5FundStructure功能的设计28
3.3Report/Export的设计29
3.3.1自定义的报表29
3.4Administration的设计30
3.4.1StartNewMonth功能的设计30
3.4.2AppUsers功能的设计30
3.4.3Exchangerateupdate32
3.5本章小结32
第4章系统实现的关键技术33
4.1工程在云端的部署33
4.2Flex与Java的数据通信34
4.3Excel导出37
4.4系统安全性的控制39
4.4.1Flex的安全性控制39
4.4.2ESF的使用39
4.5数据过滤问题的描述与解决40
4.5.1问题的描述40
4.5.2动态选择过滤条件41
4.5.3多重过滤条件的控制42
4.5.4过滤条件的保存与加载42
4.6本章小结43
第5章前端的性能问题及其解决44
5.1前台加载速度瓶颈问题的描述44
5.2Flex的内存回收机制44
5.2.1垃圾回收的时机45
5.3module的应用46
5.4RSL的应用47
5.5消除Listener的内存消耗49
5.6图像绘制初始化的优化49
5.7Flex页面延迟加载49
5.8在数据库设计上改进前台的加载速度50
5.9本章小结51
第6章总结与展望52
6.1总结52
6.2展望52
参考文献54
作者简历56
致谢57
图目录
图2.1SOA组建及其工作流程9
图2.2Cloud的SOA架构10
图2.3工程选型组合图12
图2.4Flex结构图17
图2.5Cairngorm的MVC分层19
图2.6MVC模式下的Cairngorm组件20
图3.1FAR的架构图23
图4.1系统部署示意图33
图4.2云端部署流程图34
图4.3HttpService请求示例35
图4.4前后台传输XML格式示例36
图4.5Flex接收解析XML示例37
图4.6Flex端接收响应失败示例37
图4.7Java导出Excel示例38
图4.8生成Excel报表效果39
图4.9安全沙箱示例39
图4.10ESF配置示例40
图5.1FlexAVM垃圾回收机制示例45
图5.2Module声明示例47
图5.3FlexBuilderRSL应用界面48
图5.4RSL效果图49
第一章绪论
1.1课题背景
随着全球经济的不断发展也整合,金融行业全球化的竞争格局变得越来越激烈。
金融企业的工作效率成为了能否在竞争中取胜的关键因素,公司时时刻刻都在想方设法在每一个环节提高生产的效率,其中有一环对公司的运行状况,客户的信息反馈,将来的运营趋势都起到引导与推动的作用。
这就是报表的生成。
准确而详实的报表可以帮助使金融从业人员快速得到第一手的信息,通过往期的明细记录,分析出当下的得失优缺,制定出针对下一期的最佳方案。
而粗糙且简单的报表只会误导系统使用者,做出错误的判断使后果不堪设想。
因此设计并实现出一套优秀健壮的报表系统对当下的金融企业有着举足轻重的意义。
1.2云计算概述
1.2.1云计算的概念
通俗地讲,云计算是庞大的服务器集群,通过动态调动资源,为用户提供各种IT服务。
云计算的基本原理是,将计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。
这使得企业能将资源切换到需要的应用上,根据需求访问计算机和存储系统。
[1]
1.2.2云计算的特点
云计算的发展非常迅速,大体包含以下7个特点。
1.超大规模。
“云”具有相当大的规模,Google云计算已经拥有100多万台服务器,Amazon,IBM,Yahoo,Microsoft等的“云”均拥有几十万台服务器。
企业私有云一般拥有数百上千台服务器。
“云”能赋予用户前所未有的计算能力。
2.虚拟化。
云计算支持用户在任意位置使用各种终端获取应用服务,所请求的资源来自“云”,而不是固定的有形的实体。
应用在“云”中某处运行,但实际上用户无需了解,也不用担心应用运行的具体位置,只需要一台笔记本或一个手机,就可以通过网络服务来实现所需要的一切,甚至包括超级计算这样的任务。
3.高可靠性。
“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。
4.通用性。
云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。
5.高可扩展性。
“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。
6.按需服务。
“云”是一个庞大的资源池,按需购买,“云”可以像自来水、电、煤气那样计费。
7.极其廉价。
由于“云”的特殊容错措施,可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率大幅提升。
用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。
[2]
1.2.3云计算的研究现状
作为一项新兴的,颠覆性的技术,云计算技术一经推出便在业内引起广泛响应,主要的IT厂商,如Google、IBM、Amazon、Microsoft和Yahoo等,已经相继开展了研究工作,并推出自己的云计算产品和服务。
其中,Amazon的云计算服务总称为AmazonWebServices(AWS。
AmazonWEB服务)。
包括四种主要的服务:
SimpleStorageService(s3,一种简单的存储服务)、ElasticComputeCloud(EC2,弹性可扩展的云计算服务器)、SimpleQueuingService(一种简单的消息队列)以及处于无限期公测阶段的SimpleDB(简单的数据库管理)。
IBM于2007年11月先在上海推出了“蓝云(BlueCloud)”计划,包含了一系列的云计算产品。
2008年5月,IBM宣布在中国无锡太湖新城科教产业园为中国的软件公司建立的IBM中国“云计算中心”正式投入运营。
Google于2008年4月推出AppEngine云计算平台,它是一个由Python应用服务器群、BigTable(Google的一个内部的数据库系统)数据库访问及GoogleFileSystem(GFS)数据储存服务组成的平台,能为开发者提供一体化的主机服务器及可自动升级的在线应用服务。
Microsoft的AzureServicesPlatform由两层构成。
底层是WindowsAzure,提供了一个基于Windows的虚拟计算环境和存储;在底层上,提供了很多针对不同应用的服务,如Live服务、NET服务、SQL服务等。
通过这些服务,可以解决以前面临的很多问题。
[4]
1.2.4云计算技术在银行中应用需要重视的问题
作为一项有着广泛应用前景的新兴技术,在被业内看好的同时也需要解决其投入运营过程中面临的一系列问题,如对用户的不透明性、监管措施等。
但随着云计算技术的进一步发展以及云理念的不断深化,这种应用平台在将来必将大规模地普及,届时信息生活必将发生翻天覆地的变化。
银行在采用这种新技术带来巨大的发展前景的同时,也应考虑将其与自己所处的行业性质结合起来,确保能够给银行带来真正的收益。
利用云计算,云供应商确保了数据传输的安全性。
数据是存放在云供应商,这对银行来说是不透明的。
随着基于云计算的服务日益发展,云计算服务将由多家服务商共同承担,而这些服务商可能将这些服务层层外包,这样数据会经过层层传递,给银行带来巨大的安全风险。
对于银行来说,数据是银行的生命,如果云供应商泄露银行数据的话,不仅会给银行带来经济上的损失,而且还会极大地影响银行的发展前景。
因此,如果希望银行采用云计算这种技术,怎样确保银行对供应商保存数据的信任,是云计算这种商业模式急需解决的最主要的问题之一。
鉴于银行数据的敏感性或出于对云计算提供商的不信任,作者认为整个银行可建立私有云(privatecloud),共同组成一个银行业的云计算中心。
利用这种云计算模式,银行可以完全控制云计算方式,如云存储的存储资源的访问可以完全由银行自己控制,而不是云计算服务的提供商,相当于使用银行自己建立的内部云。
这毫无疑问是创建了新的产业链,并有效降低整个行业的运营成本。
当然银行也可以对外提供服务,银行所有云计算应用都基于这个平台,对于数据保护完全由自己控制,从而有效地避免了采用公共云服务引起的各种风险。
其次,监管问题也是云计算技术需要面对的一个问题。
如果银行让云供应商提供服务,将由谁负责对供应商进行监管?
是不是要引入第三方机构?
政府部门应该扮演什么角色?
未来云计算市场需要从法律、道德两方面对服务提供商进行监管,这却是迄今为止最难解决的监管难题。
[3]
1.3面向金融企业的一个基金报表系统—FAR
FAR(Fund&AssetsReporting)项目是国外某金融企业在内部使用的一个专门用于做基金与资产报表的系统。
该系统被用于计算与统计整个公司每个月份各个粒度层面上的基金与资产表现状况,此系统的用户是企业中专业负责统计运营状况的人员与公司全球各个地区的负责人。
系统在每个月固定时间对用户开放,供用户输入需要统计的信息,然后在月末产生出各种可以根据用户定制的报表。
1.3.1系统重构的意义
在本人接触这个项目前,FAR已经成功在企业内部运作了6年之久,在此之前的版本是使用微软的.net为开发工具进行开发的,此次重构有着许多客观的原因,使这个项目的新开发不单单是一次版本的跃进,更是从多方面多层次进步的考量。
首先从商业角度来说,企业对一个已存在的系统随着时间的推移,社会因素的转变,总会有不断新的需求提出,但是在旧平台上的系统因为其原始设计问题,扩展性瓶颈严重,每个扩展动作都会设计较大的改动,开发与测试周期无限延长,对公司的效率产生影响。
第二对企业中该系统的使用者来说,老旧的系统在页面显示上界面不美观,刷新跳转过于频繁,业务操作反应过慢等都是急需要改进的问题;其次从技术角度来看,新近崛起的RIA(富客户端)技术是解决用户体验问题的一个绝佳方案,各种富客户端的优点将在下一章中详细介绍。
第二,云计算是近些年来业界非常倡导的趋势之一,企业也不失时机得想要将一些系统迁移到云端,对于FAR这种进行重新开发的项目犹是如此,在基于云计算的后台逻辑运作下,系统的总体性能将大幅提升。
最后也是最重要的就是设计出一个更具有扩展性的系统,不仅仅做到前后台逻辑的解耦,更要做到在功能与功能、模块与模块之间代码的松耦合、消除冗余,这样做最大的目的就是当新的需求提出或者有Bug出现时开发和测试团队可以以最快的时间解决问题,减少代码的更改量。
最终使整个系统的健壮性、可用性、实时性等个方面都得到进步。
1.3.2系统的组成
整个系统主要分为3个部分:
1.FundandAssetsMaintenance
主要功能是提供给用户一个可视化的基金信息描述界面。
同时提供新增、维护基金的功能。
2.Reports/Export
主要功能是提供给用户根据自身需要的条件将符合要求的基金信息以报表的形式导出。
3.Administration
系统的管理员功能模块,对系统的全局的操作,包含对用户信息的操作和跨月数据整合等功能。
1.4论文组织结构
本文从基金报表系统的概念出发,以FAR系统为例,主要从技术的角度结合商业需求阐述了设计和开发一个企业级基金报表系统中所遇到的问题以及可能的解决方案。
下面是本文的组织结构:
第一章:
绪论,介绍了云计算以及基金报表系统的背景知识以及目前的研究发展现状,简单介绍了FAR的主要功能大块。
第二章:
系统的架构,阐述了开发所需的各种相关技术与框架,包括Flex、J2EE、Cairngorm、Cloud、SOA等等。
最后将上述技术整合概述出FAR的系统架构。
第三章:
系统的设计实现,结合实际的商业需求,对几个最主要的功能点进行需求分析,给出具体的设计实现方案。
第四章:
系统实现关键技术的介绍,对几个实现系统的关键技术进行了详细的介绍,包括前后台的交互方式、Excel报表的导出方法、安全与权限控制的手段以及对内存垃圾回收的认识。
第五章:
系统开发中遇到的问题及解决,提出了几个在实际开发设计过程中遇到的问题与困难,包括前台页面加载速度的瓶颈问题等等。
最终将设计与研究之后得出的解决方案从各个可能的角度进行了详细的描述。
1.5本章小结
本章主要从商业背景出发介绍课题背景,阐述了基金报表系统目前的发展现状,详细介绍了Cloud的背景内容,同时结合项目实际,提出了项目开发设计研究的意义。
最后简单介绍了本文的组织结构。
在下一章中将结合本章提出的技术需求介绍本项目在实际开发设计中所采用的主要技术解决方案。
第2章系统的架构
2.1Cloud的系统架构
2.1.1SOA架构
面向服务的体系结构(service-orientedarchitecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
[5]
作为SOA的模型有三个主要的特征,第一:
它将应用中属于不同功能的模块使用一个统一的定义良好的接口联系起来;第二:
接口是采用一种中立的方式定义的,它应该独立于实现服务的系统平台、编程语言和硬件平台;第三:
构建在各种系统中的服务可以以一种统一和通用的方式进行交互。
相对于传统的系统架构,我们之所以使用SOA是因为传统的架构都是把软件写在一个单独的软件体里,即在一个软件包里将所有的应用程序功能都整合在一起。
这样做的结果是实现用来整合程序功能的代码和实现功能本身的代码混合在了一起,与此密切相关的就是一旦更改了一部分的功能本身代码就会导致对上层代码的入侵,换句话说就是单元间的耦合性太大。
对系统的复杂度和后期维护的成本都有较大的影响。
SOA的宗旨就是要把各个功能单元彼此分开,以使这个单元可以独立得成为系统中的一个“组件”,这些组件之间充分解耦,在一个统一接口的调用下不仅是代码的层次更加明晰同时减少了代码的冗余并且最大程度的增加了模块的重用性。
图2.1SOA组建及其工作流程
SOA架构中有三个重要的角色,接下来一一介绍。
服务提供者:
发布自己的服务到服务注册中心,并且当请求到来是进行相应。
服务注册中心:
用来注册已经发布的服务,对其进行分类,并且提供搜索的服务。
服务请求者:
利用服务注册中心查找所需要的服务,然后使用该服务。
一个完整的从发布到实现服务的过程如下:
1.服务提供者将符合接口规范的服务发布注册到注册中心。
2.服务请求者在请求服务时首先要向注册中心查找所需的服务对应的服务提供者是谁。
3.注册中心向服务请求者返回服务提供者的信息。
4.服务使用者向服务提供者请求服务。
5.服务使用者根据服务描述中的信息来调用服务,即绑定服务。
2.1.2Cloud的SOA架构
Cloud的架构是基于SOA的基础上又自行扩展实现的架构。
整个架构分为6个层次和两个切面。
如下图所示:
图2.2Cloud的SOA架构
接下来介绍下这六层结构,这六层之间只有从上向下的流动,一个服务只能从上层向下依赖或对话,各个服务之间又是相对独立的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 私有 架构 基金 报表 系统 开发 硕士学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)