基于私有云架构的基金报表系统开发硕士学位论文(51页).doc

上传人:1595****071 文档编号:37167797 上传时间:2022-08-30 格式:DOC 页数:51 大小:459KB
返回 下载 相关 举报
基于私有云架构的基金报表系统开发硕士学位论文(51页).doc_第1页
第1页 / 共51页
基于私有云架构的基金报表系统开发硕士学位论文(51页).doc_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《基于私有云架构的基金报表系统开发硕士学位论文(51页).doc》由会员分享,可在线阅读,更多相关《基于私有云架构的基金报表系统开发硕士学位论文(51页).doc(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-基于私有云架构的基金报表系统开发硕士学位论文-第 44 页 基于私有云架构的基金报表系统开发 摘要近年来,云计算不论在计算机行业内还是普通人们生活中都已经成了一个炙手可热的词汇,各大IT企业都成为了云计算的拥护者。同样在金融业领域,云计算依然有它应用的强烈需求,将金融业务的在线运作系统迁移到云端已经成为了提升服务效率、加快版本升级、更新业务需求的不二选择。同时在轻量级服务越来越普及的今天,越来越多的企业级应用已经从C/S架构迁移到了B/S的大军中来,在web技术迅速发展的这些年中,涌现了不少成熟的解决方案,如JSP/Servlt、.NET、PHP等,但是绝对不能忽视的是富客户端(RIA)的崛

2、起,它是良好用户体验的优秀解决方案。而Flex又是RIA中的佼佼者,我们可以利用Flex创造出不亚于桌面应用的操作效果。在本文中,作者主要分析了基金报表系统的课题背景,详细阐述了云计算的技术背景,对实现与辅助系统的J2EE后台技术架构进行了详细的介绍,着重笔墨阐述了Flex及其框架Cairngorm的设计运行机制,前后台的衔接与整个云平台的整合。同时结合系统实际的商业需求,将几个主要模块的设计实现进行了描述。接着又介绍了几个开发过程中使用到的技术要点。最后系统地列举出实际中遇到的前端性能瓶颈问题并给出实际的解决方案。由于作者在项目中的任务主要分布在前台所以本文中着重从前台开发的角度介绍项目中的

3、各种问题,对于后台部分对主要的框架等进行了详细的介绍。关键词:Cloud ,Flex,J2EE,Flash Player,松耦合AbstractIn recent years, cloud computing, whether in the computer industry or in the life of common people has become a hot word, and the major IT companies have become proponents of cloud computing. Also in the field of financial indus

4、try, cloud computing is still strong demand for its application, the online operation of financial business systems to migrate to the cloud has become the choice to improve service efficiency, speed up the upgrade, update the business requirements.Today more and more enterprise applications services

5、 are becoming increasingly popular lightweight migration from C/S structure to the force of B/S structure, Web technology developed rapidly these years have emerged many mature solutions like JSP/Servlet、.NET、PHP etc. But which absolutely could not be ignored is the rise of the Rich Internet Applica

6、tion (RIA), it is excellent solution for a good user experience. And Flex is the leader in the RIA, we can use Flex to create the effect of the operation as much as desktop applications. In this article, the author analyzed the subject background of the fund reporting system, elaborated on the backg

7、round of cloud computing technology, and carried out a detailed introduction to the J2EE back-end technology architecture of the auxiliary system and the private cloud, focus on words described the design and operation mechanism of the Flex and its framework Cairngorm, interface between front and ba

8、ck and the integration of the entire cloud platform. Combined with the actual business requirements, design and implementation of several major modules are described. Then introduces the techniques used in several development process. Finally listed several problems encountered in the actual system

9、and give the actual solution one by one. In this article the author introduced from the perspective of the front development focuses on the various issues in the project, and carried out a detailed introduction to the main framework for the background part.Keywords:Cloud ,Flex,J2EE,Flash Player, Loo

10、sely coupled目录摘要iAbstractii1.1 课题背景21.2 云计算概述21.2.1 云计算的概念21.2.2 云计算的特点21.2.3 云计算的研究现状31.2.4 云计算技术在银行中应用需要重视的问题41.3 面向金融企业的一个基金报表系统FAR51.3.1 系统重构的意义51.3.2 系统的组成61.4 论文组织结构61.5 本章小结7第2章 系统的架构82.1 Cloud的系统架构82.1.1 SOA架构82.1.2 Cloud的SOA架构92.1.3 实际应用中的私有云112.1.4 Cloud App工程设计框架的选型112.2 Cloud 的前端实现技术132.

11、2.1 前端技术的选择132.2.2 Flex技术概述142.3 工程后台技术概述212.3.1 J2EE212.4 本章小结22第3章 系统的设计实现233.1 FAR的设计架构233.2 Fund/Assets Maintenance模块的设计243.2.1 Maintenance Main Page的设计243.2.2 Add new fund 功能的设计253.2.3 OOT功能的设计263.2.4 Import 功能的设计273.2.5 Fund Structure功能的设计283.3 Report/Export的设计293.3.1 自定义的报表293.4 Administratio

12、n的设计303.4.1 Start New Month功能的设计303.4.2 App Users功能的设计303.4.3 Exchange rate update323.5 本章小结32第4章 系统实现的关键技术334.1 工程在云端的部署334.2 Flex与Java的数据通信344.3 Excel导出374.4 系统安全性的控制394.4.1 Flex的安全性控制394.4.2 ESF的使用394.5 数据过滤问题的描述与解决404.5.1 问题的描述404.5.2 动态选择过滤条件414.5.3 多重过滤条件的控制424.5.4 过滤条件的保存与加载424.6 本章小结43第5章 前端

13、的性能问题及其解决445.1 前台加载速度瓶颈问题的描述445.2 Flex的内存回收机制445.2.1 垃圾回收的时机455.3 module的应用465.4 RSL的应用475.5 消除Listener的内存消耗495.6 图像绘制初始化的优化495.7 Flex页面延迟加载495.8 在数据库设计上改进前台的加载速度505.9 本章小结51第6章 总结与展望526.1 总结526.2 展望52参考文献54作者简历56致谢57图目录图 2.1 SOA组建及其工作流程9图 2.2Cloud的SOA架构10图 2.3工程选型组合图12图 2.4 Flex结构图17图 2.5 Cairngorm

14、的MVC分层19图 2.6 MVC模式下的Cairngorm组件20图 3.1 FAR的架构图23图 4.1系统部署示意图33图 4.2 云端部署流程图34图 4.3 HttpService请求示例35图 4.4 前后台传输XML格式示例36图 4.5 Flex接收解析XML示例37图 4.6 Flex端接收响应失败示例37图 4.7 Java导出Excel示例38图 4.8 生成Excel报表效果39图 4.9安全沙箱示例39图 4.10 ESF配置示例40图 5.1 Flex AVM 垃圾回收机制示例45图 5.2 Module声明示例47图 5.3 Flex Builder RSL应用界

15、面48图 5.4 RSL效果图49第一章 绪论1.1 课题背景随着全球经济的不断发展也整合,金融行业全球化的竞争格局变得越来越激烈。金融企业的工作效率成为了能否在竞争中取胜的关键因素,公司时时刻刻都在想方设法在每一个环节提高生产的效率,其中有一环对公司的运行状况,客户的信息反馈,将来的运营趋势都起到引导与推动的作用。这就是报表的生成。准确而详实的报表可以帮助使金融从业人员快速得到第一手的信息,通过往期的明细记录,分析出当下的得失优缺,制定出针对下一期的最佳方案。而粗糙且简单的报表只会误导系统使用者,做出错误的判断使后果不堪设想。因此设计并实现出一套优秀健壮的报表系统对当下的金融企业有着举足轻重

16、的意义。1.2 云计算概述1.2.1 云计算的概念通俗地讲,云计算是庞大的服务器集群,通过动态调动资源,为用户提供各种IT服务。云计算的基本原理是,将计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能将资源切换到需要的应用上,根据需求访问计算机和存储系统。11.2.2 云计算的特点云计算的发展非常迅速,大体包含以下7个特点。1超大规模。“云”具有相当大的规模,Google云计算已经拥有100多万台服务器,Amazon,IBM,Yahoo,Microsoft等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予

17、用户前所未有的计算能力。2虚拟化。云计算支持用户在任意位置使用各种终端获取应用服务,所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解,也不用担心应用运行的具体位置,只需要一台笔记本或一个手机,就可以通过网络服务来实现所需要的一切,甚至包括超级计算这样的任务。3高可靠性。“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。4通用性。云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。5高可扩展性。“云”的规模可以动态伸缩,满足应用和用户规模增长的

18、需要。6按需服务。“云”是一个庞大的资源池,按需购买,“云”可以像自来水、电、煤气那样计费。7极其廉价。由于“云”的特殊容错措施,可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率大幅提升。用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。21.2.3 云计算的研究现状作为一项新兴的,颠覆性的技术,云计算技术一经推出便在业内引起广泛响应,主要的IT厂商,如Google、IBM、Amazon、Microsoft和Yahoo等,已经相继开展了研究工作,并

19、推出自己的云计算产品和服务。其中,Amazon的云计算服务总称为Amazon Web Services(AWS。Amazon WEB服务)。包括四种主要的服务:Simple Storage Service(s3,一种简单的存储服务)、Elastic Compute Cloud(EC2,弹性可扩展的云计算服务器)、Simple Queuing Service(一种简单的消息队列)以及处于无限期公测阶段的SimpleDB(简单的数据库管理)。IBM于2007年11月先在上海推出了“蓝云(Blue Cloud)”计划,包含了一系列的云计算产品。2008年5月,IBM宣布在中国无锡太湖新城科教产业园为

20、中国的软件公司建立的IBM中国“云计算中心”正式投入运营。Google于2008年4月推出App Engine云计算平台,它是一个由Python应用服务器群、BigTable(Google的一个内部的数据库系统)数据库访问及Google File System(GFS)数据储存服务组成的平台,能为开发者提供一体化的主机服务器及可自动升级的在线应用服务。Microsoft的Azure Services Platform由两层构成。底层是Windows Azure,提供了一个基于Windows的虚拟计算环境和存储;在底层上,提供了很多针对不同应用的服务,如Live服务、NET服务、SQL服务等。通

21、过这些服务,可以解决以前面临的很多问题。41.2.4 云计算技术在银行中应用需要重视的问题作为一项有着广泛应用前景的新兴技术,在被业内看好的同时也需要解决其投入运营过程中面临的一系列问题,如对用户的不透明性、监管措施等。但随着云计算技术的进一步发展以及云理念的不断深化,这种应用平台在将来必将大规模地普及,届时信息生活必将发生翻天覆地的变化。银行在采用这种新技术带来巨大的发展前景的同时,也应考虑将其与自己所处的行业性质结合起来,确保能够给银行带来真正的收益。利用云计算,云供应商确保了数据传输的安全性。数据是存放在云供应商,这对银行来说是不透明的。随着基于云计算的服务日益发展,云计算服务将由多家服

22、务商共同承担,而这些服务商可能将这些服务层层外包,这样数据会经过层层传递,给银行带来巨大的安全风险。对于银行来说,数据是银行的生命,如果云供应商泄露银行数据的话,不仅会给银行带来经济上的损失,而且还会极大地影响银行的发展前景。因此,如果希望银行采用云计算这种技术,怎样确保银行对供应商保存数据的信任,是云计算这种商业模式急需解决的最主要的问题之一。鉴于银行数据的敏感性或出于对云计算提供商的不信任,作者认为整个银行可建立私有云(private cloud),共同组成一个银行业的云计算中心。利用这种云计算模式,银行可以完全控制云计算方式,如云存储的存储资源的访问可以完全由银行自己控制,而不是云计算服

23、务的提供商,相当于使用银行自己建立的内部云。这毫无疑问是创建了新的产业链,并有效降低整个行业的运营成本。当然银行也可以对外提供服务,银行所有云计算应用都基于这个平台,对于数据保护完全由自己控制,从而有效地避免了采用公共云服务引起的各种风险。其次,监管问题也是云计算技术需要面对的一个问题。如果银行让云供应商提供服务,将由谁负责对供应商进行监管?是不是要引入第三方机构?政府部门应该扮演什么角色?未来云计算市场需要从法律、道德两方面对服务提供商进行监管,这却是迄今为止最难解决的监管难题。31.3 面向金融企业的一个基金报表系统FARFAR(Fund & Assets Reporting)项目是国外某

24、金融企业在内部使用的一个专门用于做基金与资产报表的系统。该系统被用于计算与统计整个公司每个月份各个粒度层面上的基金与资产表现状况,此系统的用户是企业中专业负责统计运营状况的人员与公司全球各个地区的负责人。系统在每个月固定时间对用户开放,供用户输入需要统计的信息,然后在月末产生出各种可以根据用户定制的报表。1.3.1 系统重构的意义在本人接触这个项目前,FAR已经成功在企业内部运作了6年之久,在此之前的版本是使用微软的.net为开发工具进行开发的,此次重构有着许多客观的原因,使这个项目的新开发不单单是一次版本的跃进,更是从多方面多层次进步的考量。首先从商业角度来说,企业对一个已存在的系统随着时间

25、的推移,社会因素的转变,总会有不断新的需求提出,但是在旧平台上的系统因为其原始设计问题,扩展性瓶颈严重,每个扩展动作都会设计较大的改动,开发与测试周期无限延长,对公司的效率产生影响。第二对企业中该系统的使用者来说,老旧的系统在页面显示上界面不美观,刷新跳转过于频繁,业务操作反应过慢等都是急需要改进的问题;其次从技术角度来看,新近崛起的RIA(富客户端)技术是解决用户体验问题的一个绝佳方案,各种富客户端的优点将在下一章中详细介绍。第二,云计算是近些年来业界非常倡导的趋势之一,企业也不失时机得想要将一些系统迁移到云端,对于FAR这种进行重新开发的项目犹是如此,在基于云计算的后台逻辑运作下,系统的总

26、体性能将大幅提升。最后也是最重要的就是设计出一个更具有扩展性的系统,不仅仅做到前后台逻辑的解耦,更要做到在功能与功能、模块与模块之间代码的松耦合、消除冗余,这样做最大的目的就是当新的需求提出或者有Bug出现时开发和测试团队可以以最快的时间解决问题,减少代码的更改量。最终使整个系统的健壮性、可用性、实时性等个方面都得到进步。1.3.2 系统的组成整个系统主要分为3个部分:1.Fund and Assets Maintenance主要功能是提供给用户一个可视化的基金信息描述界面。同时提供新增、维护基金的功能。2.Reports/Export主要功能是提供给用户根据自身需要的条件将符合要求的基金信息

27、以报表的形式导出。3.Administration系统的管理员功能模块,对系统的全局的操作,包含对用户信息的操作和跨月数据整合等功能。1.4 论文组织结构本文从基金报表系统的概念出发,以FAR系统为例,主要从技术的角度结合商业需求阐述了设计和开发一个企业级基金报表系统中所遇到的问题以及可能的解决方案。下面是本文的组织结构:第一章:绪论,介绍了云计算以及基金报表系统的背景知识以及目前的研究发展现状,简单介绍了FAR的主要功能大块。第二章:系统的架构,阐述了开发所需的各种相关技术与框架,包括Flex、J2EE、Cairngorm、Cloud、SOA等等。最后将上述技术整合概述出FAR的系统架构。第

28、三章:系统的设计实现,结合实际的商业需求,对几个最主要的功能点进行需求分析,给出具体的设计实现方案。第四章:系统实现关键技术的介绍,对几个实现系统的关键技术进行了详细的介绍,包括前后台的交互方式、Excel报表的导出方法、安全与权限控制的手段以及对内存垃圾回收的认识。第五章:系统开发中遇到的问题及解决,提出了几个在实际开发设计过程中遇到的问题与困难,包括前台页面加载速度的瓶颈问题等等。最终将设计与研究之后得出的解决方案从各个可能的角度进行了详细的描述。1.5 本章小结本章主要从商业背景出发介绍课题背景,阐述了基金报表系统目前的发展现状,详细介绍了Cloud的背景内容,同时结合项目实际,提出了项

29、目开发设计研究的意义。最后简单介绍了本文的组织结构。在下一章中将结合本章提出的技术需求介绍本项目在实际开发设计中所采用的主要技术解决方案。第2章 系统的架构2.1 Cloud的系统架构2.1.1 SOA架构面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。5作为SOA的模型有三个主要的特征,第一:它将应用中

30、属于不同功能的模块使用一个统一的定义良好的接口联系起来;第二:接口是采用一种中立的方式定义的,它应该独立于实现服务的系统平台、编程语言和硬件平台;第三:构建在各种系统中的服务可以以一种统一和通用的方式进行交互。相对于传统的系统架构,我们之所以使用SOA是因为传统的架构都是把软件写在一个单独的软件体里,即在一个软件包里将所有的应用程序功能都整合在一起。这样做的结果是实现用来整合程序功能的代码和实现功能本身的代码混合在了一起,与此密切相关的就是一旦更改了一部分的功能本身代码就会导致对上层代码的入侵,换句话说就是单元间的耦合性太大。对系统的复杂度和后期维护的成本都有较大的影响。SOA的宗旨就是要把各

31、个功能单元彼此分开,以使这个单元可以独立得成为系统中的一个“组件”,这些组件之间充分解耦,在一个统一接口的调用下不仅是代码的层次更加明晰同时减少了代码的冗余并且最大程度的增加了模块的重用性。图 2.1 SOA组建及其工作流程SOA架构中有三个重要的角色,接下来一一介绍。服务提供者:发布自己的服务到服务注册中心,并且当请求到来是进行相应。服务注册中心:用来注册已经发布的服务,对其进行分类,并且提供搜索的服务。服务请求者:利用服务注册中心查找所需要的服务,然后使用该服务。一个完整的从发布到实现服务的过程如下:1. 服务提供者将符合接口规范的服务发布注册到注册中心。2. 服务请求者在请求服务时首先要

32、向注册中心查找所需的服务对应的服务提供者是谁。3. 注册中心向服务请求者返回服务提供者的信息。4. 服务使用者向服务提供者请求服务。5. 服务使用者根据服务描述中的信息来调用服务,即绑定服务。2.1.2 Cloud的SOA架构Cloud的架构是基于SOA的基础上又自行扩展实现的架构。整个架构分为6个层次和两个切面。如下图所示:图 2.2Cloud的SOA架构接下来介绍下这六层结构,这六层之间只有从上向下的流动,一个服务只能从上层向下依赖或对话,各个服务之间又是相对独立的。服务编排/协调层(Service Orchestration):这是整个架构的顶层,所有的请求都将在这层被整合,主要被用来调

33、用商业服务以完成高层次的商业目标。商业服务层(Business Services):用来实现服务协调层所请求的操作,具体的实现方法是去调用本身系统外或者自身的商业服务,而这些服务往往都是些较为通用的服务,如查询汇率、查询股票信息等。应用服务层(Application Services):主要负责接收商业服务层传递下来的服务请求。并且去真正调用具体的服务。服务适配器层(Service Adapter):当被调用的服务是来自于外部的提供者或者来自先前已经存在的项目功能时就需要使用这个适配器层,使得这些原本可能不符合统一接口的服务适应自身的需求。应用逻辑层(Application Logic):这层

34、实际上是一个功能的具体实现,大多数情况下这层是一个先前就存在的应用逻辑,通过上层适配器的调用使得其的功能被统一接口使用。数据存储层(Data Storage):这层是实际的物理数据存储层,数据类型包括关系数据库、文件、XML、数据仓库等等。除了这六个层级调用的应用层外还有两个切面也是不可或缺的,它们的作用覆盖各个层次。数据服务切面(Data Services):被一个或者多个层用来访问数据,同时拥有创建、操作、验证和映射的功能。安全服务切面(Security Services):包括验证、授权、权限管理、安全编码等功能,在整个结构中对权限的控制是至始至终的。2.1.3 实际应用中的私有云在企业

35、中实际应用的私有云是由公司的Cloud Team来进行开发和维护的,在现有的云中,已经定义了一整套的Cloud Framework,这套SDK中包含了许多非常常见的J2EE技术,公司通过包装将其封装在自己的框架中。这个云与普遍意义上的云有个最大的区别就是它只包含数据的处理但不包含数据的存储。相对于我们熟悉的Hadoop,它只具备类似MapReduce的分布式计算功能但是没有HDFS(Hadoop Distributed File System)的分布式存储功能。当然只要符合云的概念那必须有集群的使用,这也是云的目的之一:用更廉价的服务器集群来创造出更加强大出处理能力。对开发者来说需要使用公司经

36、过包装过的Eclipse版本进行开发,开发的框架应用来SOA的架构,具体将在下一节具体介绍,在编写Service类时必须符合命名的规范,以IDF开头加上被分配的序列号。只有这样才能正确得被部署到公司的云端。2.1.4 Cloud App工程设计框架的选型从简单的意义上讲,任何搭建在Cloud平台的上工程应用最大的目的就是利用Cloud强大的运算处理能力和规模化的存储功能6。Web技术发展到今天,有许多种实现技术都可以胜任搭建Cloud Application的任务。下图给出了部分可选的方案。图 2.3工程选型组合图首先原本我们是可以直接抛开数据库层,因为广义上的云计算都包含云所特有的文件数据系

37、统,如Google的GFS(Google File System)和Hadoop的HDFS等。但是如果所属的云是特定的无数据存储的云那还是需要考虑使用适当数据库作为目标数据源,这个选择是非常多样的,包括Microsoft SQL Server、MySql、DB2、Oracle等都是成熟的选择方案,但是考虑到Unix平台的兼容性与海量数据的存储功能Oracle是我们最后的选择。其次在服务层,包括.NET、PHP、Java等备选方案,不过在这点上的选择是比较明确的,只有Java兼容企业私有云的API,所以毫无悬念的选择Java成为工程后台的工具。第三是信息传递层,为了配合Cloud SOA的架构系

38、统采用HttpService的方案。最后在前端,有包括Adobe Flex、微软的Silver Light等富客户端实现手段,但是从技术的成熟度,最终的呈现效果考虑,我们最终选择了Flex。以上各个技术点将在下个章节中一一介绍。2.2 Cloud 的前端实现技术2.2.1 前端技术的选择如上一节所述,在Cloud的前端技术即客户端层的实现有多种可选的技术方案,如Adobe Flex、Laszlo Systems的OpenLaszlo、微软的Silver Light等,这些技术都有其各自的特色和优势所在,在此我例举Adobe Flex和Laszlo Systems的OpenLaszlo做一个简单

39、的对比。成熟度:成熟度使用框架当前版本以及框架的开发所花费的时间长度来度量。严格的说,OpenLaszlo的开发在Flex之前,尽管它使用的是另一个名称,Laszlo Systems的发行版一直在Adobe之前。Flex SDK 在第4次更替开发时还是 beta 版本,而OpenLaszlo已经有一个统一的发布计划,当前为V4.4,这使 OpenLaszlo略胜于Flex。Web服务支持:在比较客户端开发技术时,Web服务支持是一个重要的考虑因素,因为支持的协议在很大程度上会影响 UI 的反应速度。例如,JavaScript Object Notation (JSON) 和Action Mes

40、sage Format(AMF)消息的有线传输一般比Representational State Transfer (REST) 和基于SOAP的服务要快,因为数据被压缩为二进制格式。这会使用户感觉到性能大大提升,因为数据的检索和处理速度变得更快。这就是说,客户端开发技术支持各种通信协议非常重要。OpenLaszlo 在Web服务支持方面远远落后于Flex,因为它需要配合 OpenLaszlo Java servlet才能支持SOAP和XML-RPC。考虑到它对Ajax的依赖,以SOLO模式运行时,OpenLaszlo以Web服务的XMLHTTPRequest对象为基础构建。不幸的是,与几乎每

41、个服务器端语言都是用的Adobe二进制AMF相比,请求响应时间要慢的多。开发所需的工作量:Flex和OpenLaszlo框架实现其自己的基于XML的对象声明语言。具体来说,Flex 使用MXML声明 ActionScript对象和属性,OpenLaszlo使用LZX声明 JavaScript 对象和属性。MXML和LZX使用相同的基XML对象符号,唯一的不同在于所使用的 DTD结构和XML架构。它们的核心目的是相同的:加快客户端应用程序和UI的开发速度。随着这两项技术的成熟,每种框架的持续开发基本原则保持一致:用更少的时间做更多的工作。换句话说,能够使用MXML做更多的工作意味着需要更少的 A

42、ctionScript代码。类似地,使用LZX标记做更多的工作意味着需要编写的 JavaScript代码更少。这就意味着您需要做的工作更少。大部分情况下,目前使用OpenLaszlo编写应用程序与使用Flex编写应用程序所需的时间是一样的。再加上两个平台之间的相似性,很难判断哪一种更加优秀。社区参与度:像任何开源技术一样,社区参与度是平台应用和发展速度的关键因素。一项技术的社区支持度并非总是通过贡献代码的人数来度量的。实际上,通过 “开源记者”(在博客中发布教程和专业入门文档供该技术新手参考的人)的数量来确定社区参与度更加容易。进一步说,强大的社区往往有大量的质量保证 “分析员” 通过项目的

43、bug 数据库报告 bug。Flex在社区参与度方面取得了胜利。Adobe新闻聚合器(news aggregator)仅在Flex一项上就有2370 feed。此外,从Flex.org开放社区和在线Flex Cookbook(它就像是Flex“代码库”百科全书)可以获得许多资源,这都是社区发布的。综上所述尽管在成熟度上Flex也许还有所欠缺,但是在对Web服务的支持有明显的优势,这对做好Cloud前后台的数据交换有重大的意义,同时在代码的开发工作量上也随着产品的成熟越加快捷简单,最后拥有强大的社区对入门级的RIA开发者来说无疑是最大的帮助,因此在我们的项目中Flex成为了Cloud前端技术的不

44、二选择7。2.2.2 RIA丰富互联网应用程序(英语:Rich Internet applications,简称RIA),又译为丰富性网络应用服务,是一种具有近似于传统桌面应用软件系统功能和特性的网络应用系统。RIA系统最大的特点是将大部分处理任务都从用户界面端移植到客户端,仅保留一些必要数据与服务器端进行信息交互。82.2.3 RIA发展现状当今流行的几种主要RIA技术有Flex,Silverlight和Laszlo技术。Microsoft Silverlight是微软所发展的Web前端应用程式开发解决方案,是微软丰富型互联网应用程式(Rich Internet Application)策略

45、的主要应用程式开发平台之一,以浏览器的外挂元件方式提供Web应用程式中多媒体(含影音串流与音效串流)与高度互动性前端应用程式的解决方案,同时它也是微软UX(用户体验)策略中的一环,也是微软试图将美术设计和程式开发人员的工作明确切分与协同合作发展应用程式的尝试之一。9Laszlo是一个开源的Rich Internet Application开发环境。使用这个平台开发只需要编写LZX的描述语言,运行在JZEE应用服务器上的Laszlo平台会将其编译成Flash传送给客户端展示。因Flash可以在任何支持FlashPlayer的浏览器展示,从而解决了浏览器之间的移植问题。但Laszlo有对中文支持不

46、够和开发工具有限的缺点。10 接下来重点介绍Flex。2.2.4 Adobe FlexAdobe Flex是最初由Macromedia公司在2004年3月发布的,基于其专有的Macromedia Flash平台,它是涵盖了支持RIA(Rich Internet Applications)的开发和部署的一系列技术组合。11 Flex 同时是一个高效、免费的开源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player和 Adobe AIR, 运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex 应用程序,但Adobe

47、 Flash Builder软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。 使用 Flex 创建的 RIA 可运行于使用 Adobe Flash Player 软件的浏览器中,或在浏览器外运行于跨操作系统运行时 Adobe AIR上,它们可以跨所有主要浏览器、在桌面上实现一致的运行。连接到 Internet 的计算机中超过 98% 装有 Flash Player,这是一个企业级客户端运行时,它的高级矢量图形能处理要求最高、数据密集型应用程序,同时达到桌面应用程序的执行速度。通过利用 AIR,Flex 应用程序可以访问本地数据和系统资源。122.2.5 Flex的优缺点对于开发人员来说Flex的开发工具Flash Builder有些类似于.Net所使用的Visual Studio,开发的界面的过程是一个所见即所得的环境,设计时可以选择各种所需的空间拖入设计界面中,并且直接修改空间的可见属性和不可见属性。这就可以让之前有.Net开发经验的程序员快速上手,减少学习技术的时间消耗。除此之外Flex还有以下的优点:1)对于客户端的呈现来说,由于Flex最终的展现形式是flash。所以一旦有了浏览器Flash Player虚拟机的支持将会有异

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁