基于flex和j2ee多层架构的ria教学质量评价系统的研究与实现.docx
- 文档编号:17271568
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:94
- 大小:821.51KB
基于flex和j2ee多层架构的ria教学质量评价系统的研究与实现.docx
《基于flex和j2ee多层架构的ria教学质量评价系统的研究与实现.docx》由会员分享,可在线阅读,更多相关《基于flex和j2ee多层架构的ria教学质量评价系统的研究与实现.docx(94页珍藏版)》请在冰点文库上搜索。
基于flex和j2ee多层架构的ria教学质量评价系统的研究与实现
目录
摘要错误!
未定义书签。
Abstract错误!
未定义书签。
目录I
第一章绪论1
1.1选题背景1
1.2研究内容和意义2
1.3论文的结构组织3
第二章RIA与FLEX技术5
2.1什么是RIA5
2.2RIA的优势6
2.3RIA的技术特点7
2.4RIA技术解决方案8
2.5FLEX技术8
2.5.1Flex技术的构成9
2.5.2Flex的相关服务10
2.5.3Flex程序运行机制11
2.5.4FlexMVC设计模式介绍12
第三章J2EE框架技术14
3.1Spring框架技术分析14
3.1.1Spring框架技术介绍14
3.1.2Spring关键技术16
3.2HIBERNATE持久化技术18
3.2.1Hibernate的产生18
3.2.2Hibernate原理19
3.2.3HibernateAPI的核心接口22
3.2.4Hibernate的工作过程23
第四章Flex技术与J2EE的集成应用24
4.1Flex访问后台系统的方法24
4.2Flex技术与J2EE的集成应用24
4.3Flex与Spring的整合26
4.3.1Flex和Spring整合的步骤26
4.3.2基于Flex和Spring框架的工作流程设计29
第五章教学质量评价指标的研究与设计32
5.1课程教学质量评价的相关理论32
5.1.1现代教育评价理论32
5.1.2模糊数学理论33
5.1.3教育统计学理论37
5.2国内外课程教学质量评价方法研究现状39
5.3教学质量评价指标体系与权重的设计41
5.3.1测评指标体系的设计41
5.3.2评估指标权重的确定43
5.4模糊综合评判在教学质量评价中的应用43
第六章教学质量评价系统的分析与设计47
6.1系统的功能模型分析47
6.1.1系统各模块及其功能47
6.1.2评价系统用例分析48
6.1.3系统活动流程分析51
6.1.4评价系统时序图53
6.2数据库设计56
6.2.1数据库需求分析56
6.2.2数据库概要设计56
第七章基于FLEX+J2EE的教学质量评价系统的实现58
7.1系统实现工具与开发平台58
7.2基于Flex和J2EE多层架构的系统体系结构设计58
7.2.1Flex实现表示层59
7.2.2Spring实现业务层63
7.2.3Hibernate实现数据持久层67
7.3基于Flex+Spring+Hibernate框架的系统开发流程68
7.4系统界面73
7.5系统的特点与性能分析75
7.5.1系统特点75
7.5.2系统性能分析77
第八章总结和展望79
8.1总结79
8.1.1论文所作的工作79
8.1.2开发中存在的问题及需要改进的地方79
8.2展望80
参考文献81
致谢83
攻硕期间取得的研究成果84
第一章绪论
1.1选题背景
随着网络技术的高速发展,Internet已经日益成为应用程序部署运行的默认平台。
传统的B/S、C/S模式系统逐渐暴露出功能单一、接口专用、不易部署、不易升级、安全性低等缺点,制约了Internet技术的发展。
目前,提高网络资源的利用率,改善用户的操作体验成为网络领域的最新发展趋势和研究热点。
为了提高用户体验,出现了一种新类型的Internet应用程序。
那就是RichInternetApplications(RIA)。
RIA将桌面型计算机软件应用的最佳用户界面功能性与web应用程序的普遍采纳和低成本部署以及互动多媒体通信的长处集于一体,最终实现一种可以提供更直观、响应性和有效的用户体验应用程序。
AdobeFlex就是一套完整的综合性RIA技术解决方案。
富因特网技术(RichInternetApplication简称RIA)是一种具有高度互动性和丰富用户体验的网络应用程序技术。
RIA兼具桌面应用程序和Web应用程序的特点,RIA具有的桌面应用程序的特点包括:
在消息确认和格式编排方面提供互动的用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性(如拖放以及在线和离线操作能力)。
RIA具有的Web应用程序的特点包括:
立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。
RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
基于富因特网技术的应用系统,不再是基于浏览器——服务器(B/S)结构的网络模型,而是采用基于SmartClient技术,它整合了FatClient/ThinClient两者的技术优点,充分利用客户端本地资源,使数据处理过程对于服务器端的依赖性大大减少,对系统平台的依赖性更小,用户分布更加灵活、处理逻辑更加集中,在结构上为进一步提高系统的可重用性、安全性、可扩展性和维护性创造了良好的条件。
另外,构建基于Web的应用系统的需求越来越复杂,开发周期越来越紧迫。
对于复杂多变的市场环境,开发伸缩性强、扩展性好、重用性高和易维护、易管理的Web应用开发框架也是当前Web技术发展的热点之一。
Spring是一个解决了许多在J2EE开发中常见问题的强大开源框架。
它提供了管理业务对象的一致方法并且鼓励对接口编程而不是对类编程的良好习惯。
Spring通过IoC依赖注入、AOP应用、面向接口编程,来降低业务组件之间的耦合度,增强系统扩展性。
Spring由一系列模块组成,比如反转控制容器,面向切面,MVC模型,持久层,数据访问对象和远程调用。
这一系列的模块之间相互关联很少,很多模块都可以独立使用。
开发人员可以选择一个模块,一些模块,或者更多的Spring模块进行开发。
Hibernate作为一种开放源代码的对象关系映射框架,实现了对JDBC的轻量级对象封装,恰好满足了这个时代潮流的需求。
Hibernate是按照LGPL许可证(LesserGeneralPublicLicense宽通用公共许可证)发布的开放式源代码应用程序,它是用于Java的超高性能的对象/关系持久性和查询服务。
应用Hibernate可以使得Java程序员可以方便的用对象编程的思想将持久性对象映射到关系数据库,而不必花费大量的开发时间去更新和维护复杂的数据持久层,降低了J2EE架构应用软件开发的难度和复杂度,提高Java应用软件的开发效率,进而使Java的企业级应用开发更加容易、灵活、强大。
1.2研究内容和意义
在项目开发中,很多开发者对使用框架的体会很深。
在实际应用中使用成熟的框架,会减少重复开发工作量、缩短开发时间、降低开发成本,增强程序的可维护型和可扩展性。
若将应用分层,然后按层来选择框架,让框架技术的优点发挥在每一层中,即用Flex来作表示层,用Spring来架构业务层,而Hibernate用管理数据持久层,然后把这些框架无缝地整合起来,应用到项目开发中来。
论文工作在于阐述和分析Flex和J2EE框架(Spring,Hibernate)技术,在此基础上对论文的背景项目教学质量评价系统为实例讲解框架的运用和相关的技术问题的解决方案,使其形成一个具有一定集成度的软件开发架构并在相关方面作一些创新,延伸出一些新的特性。
这样将减少开发过程中各个领域间的整合所需工作量,降低开发的风险。
论文结合应用系统多层次体系结构发展的现状,对Flex、Spring和Hibernate框架进行深入分析。
Flex提供了一种高效的开发模型,能够很容易地与过去很多年积累下来的标准及最佳实践相集成。
Flex开发模型使用MXML来设计和布局用户界面,ActionScript来创建客户端逻辑。
Hibernate是一个对象/关系数据库映射工具,通过Hibernate的使用,能够很好地解决面向对象编程语言与关系数据库一起使用可能带来的种种麻烦,使得程序设计人员可以减少对关系数据模型的依赖,致力于业务逻辑的开发。
Spring框架的使用将J2EE层次结构中的业务层分离为业务逻辑层和数据持久层,这样业务逻辑便交给Spring处理,而数据访问则交给Hibernate处理,使得层次结构更加清晰,便于系统的维护和扩展。
我们以J2EE体系的Web开发方法为探讨的基线。
根据Web应用的经典分层理论,对持久层的设计进行了分析,引入了Hibernate框架技术;然后,应用Flex作为表示层实现,应用Hibernate作为持久层实现,并结合Spring技术作为业务层实现,进行框架整合,从而设计出了一套足够灵活、松散耦合、可扩展且高效的Web开发框架;最后,详细论述了该架构在网络教学质量评价系统中的应用。
通过实践表明,应用这种系统框架可以提高系统开发的效率,同时满足系统扩展性和可维护性的要求。
1.3论文的结构组织
文章共分为八部分:
第一章绪论,首先阐述了研究背景、内容和意义。
第二章RIA与Flex技术,详细阐述了RIA的概念,优势,技术特点与体结构,以及RIA的可用技术介绍。
并对Flex的技术构成,Flex的相关服务和运行机制作了详细分析。
第三章J2EE框架技术,分析了J2EE架构中的Spring和Hibernate框架技术。
对Spring框架技术,我们主要分析了它的关键技术IOC和AOP技术。
在Hibernate部分介绍了Hibernate的产生,对Hibernate的工作原理,核心接口和工作过程进行了分析。
第四章Flex技术与J2EE的集成应用,首先介绍了Flex访问后台系统的的策略,分析了Flex技术与J2EE的集成应用原理,最后着重介绍了Flex与Spring的整合过程。
第五章教学质量评价指标的研究与设计,主要介绍了教学质量评价的相关理论(模糊数学理论,现代教育评价理论,教育统计学理论),国内外课程教学质量评价方法研究现状,教学质量评价指标体系与权重的设计方法,重点介绍了模糊综合评判在教学质量评价中的应用。
第六章教学质量评价系统的分析与设计,对系统地功能模型,数据库进行了分析与设计。
第七章基于Flex与J2EE的教学质量评价系统的实现,首先介绍了系统开发工具与平台,然后详细阐述了系统地体系结构与实现过程,最后,分析了系统的特点与性能。
第八章总结和展望,对全文进行了总结,并提出下一步需要探索和研究的目标。
第二章RIA与FLEX技术
Internet已经日益成为应用程序部署运行的默认平台。
用户对应用程序复杂性要求日增,但现在的Web应用程序对完成复杂应用方面却始终跟不上步伐。
用户与今天中等复杂程度的Web应用程序交互时,其体验并不能令人满意。
Web模型是基于页面的模型,缺少客户端智能机制。
而且,它几乎无法完成复杂的用户交互。
这样的技术使得Web应用程序难以使用,支持成本高,并且在很多方面无法发挥效应。
为了提高用户体验,出现了一种新类型的Internet应用程序。
那就是RichInternetApplications(RIA)。
这些应用程序结合了桌面应用程序的反应快、交互性强的优点与Web应用程序的传播范围广及容易传播的特性。
RIA简化并改进了Web应用程序的用户交互。
这样,用户开发的应用程序可以提供更丰富、更具有交互性和响应性的用户体验。
2.1什么是RIA
RIA是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。
RIA中的RichClient(丰富客户端)提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。
结合了声音、视频和实时对话的综合通信技术使RIA具有前所未有的网上用户体验[1]。
RIA中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。
结合了声音、视频和实时对话的综合通信技术使富因特网应用程序(RIA)具有前所未有的网上用户体验[2]。
“富”的概念包含两方面,分别是数据模型的丰富和用户界面的丰富。
数据中的“富”意思是用户界面可以显示和操作更为复杂的嵌入在客户端的数据模型,它可以操作客户端的计算和非同步的发送接收数据。
这种模式相对于传统的HTML页面的优点是程序运行于客户端并且程序更多的是和用户进行交互,同时更少的和服务器进行交互。
平衡客户端和服务器端的复杂的数据模型可以让你有更大的空间去创建更高效和更具有交互性的网络应用程序。
“富”同样也描述了全面提升的用户界面,HTML只给用户提供了非常有限的界面控制元素,而富因特网应用程序(RIA)的用户界面提供了灵活多样的界面控制元素,这些控制元素可以很好的与数据模型相结合。
传统的因特网模型使用线性的设计,提供给用户一些选择,然后用户发送选择结果给服务器,这种单一的模式不符合应用程序的灵活交互的要求和用户的意愿。
频繁的服务器请求和页面刷新有很多的缺点包括页面打开缓慢和降低网络带宽。
如果采用富客户界面,可以从以前的服务器响应影响整个界面,转移到只有收到请求的应用程序部分才会做出相应的变化。
这本质上意味着界面被分解成许多独立的模块,这些模块都会对收到的信息做出相应的反应,有些会和服务器端进行交互,有些是这些模块之间的通信。
图2.1就是RIA的应用程序模型:
图2.1.RIA的应用程序模型
2.2RIA的优势
RIA具有的桌面应用程序的特点包括:
在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(draganddrop)以及在线和离线操作能力。
RIA具有的Web应用程序的特点包括如:
立即布署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。
RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
对于企业来说,部署RIA的好处在于:
1)RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。
通过RichClient技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序[2]。
2)RIA可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。
2.3RIA的技术特点
RIA利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速度快和图形丰富的用户界面。
除了提供一个具有各种控件(滑标、日期选择器、窗口、选项卡、微调控制器和标尺等)的界面之外,RIA一般还允许使用SVG(ScalableVectorGraphics,可伸缩向量图)或其他技术来随时构建图形。
一些RIA技术甚至能够提供全活动的动画来对数据变化作出响应[3]。
此外,利用RIA技术,数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。
对于无线设备和需要偶尔连接的设备来说,将来的趋势肯定是向富客户端的方向发展,并且会逐渐远离基于文本的Web客户端。
那些运行在膝上设备上的应用系统,可以被设计成以离线方式工作,或者至少当连接丢失的时候能基本上以离线的方式工作。
不像传统J2EE程序那样,客户端的请求会导致系统生成一个页面再返回客户端,一个RIA可以支持更小的单元或组件,这些组件从小到一个投票问题到一个完整的视图或界面,富客户模型将界面分解成许多的既可以和用户直接交互又可以和服务器进行通信的小单元模块。
这种将应用程序的设计从以一个个相对独立的页面为中心转移到以组件为中心的转变将会使客户层的设计提升到一个新的层次,并且会使客户层变得更加灵活。
富客户层不再成为服务器响应的最终端,这同时也使程序的性能得以提高,用户使用的感觉就好像程序不需要和服务器进行通信或者只是偶尔才需要进行通信。
最后一个RIA模型的特点是事件模型。
不像传统的模型那样,服务器收到请求后由上至下的创建客户端界面,不用预测事件的顺序。
既然每个组件都是独立的,就没有必要因为一个请求而做出影响整个视图的反应。
要使每个组件都具有向服务器传送信息的能力需要每个组件知道如何处理服务器传递回来的信息。
在RIA中,客户端和服务器端交互数据是不同步的,这样就可以控制组件创建信息发送给服务器和处理服务器的响应,可以为更零散的控制去藕合分离程序功能并且组建面向服务的程序结构。
2.4RIA技术解决方案
当前,有不少RIA的产品和方案可供我们选择,使用AdobeFlex可以创建被广泛支持的丰富互联网应用程序,由FlashPlayer的虚拟机解释执行,ActionScript代码被编译成字节码以SWF格式存在,为了获得更高的执行性能,FlashPlayer的JIT编译器再将SWF字节码转化为本地的机器码。
Flex3于2007年发布,尽管更早的Flex版本于2004年就有了,但那时的版本不支持JIT编译。
Java程序员则可以创建Javaapplets,这种解决方案早在1995年就有了。
WPF(WindowsPresentationFoundation)是在2006年11月作为.NET3.0其中的一部分发布,WPF可用来创建Internet和桌面应用程序。
还有AJAX,随着主流浏览器对XMLHttpRequestAPI的支持,AJAX发展得很快,也是目前创建RIA的解决方案之一。
2.5FLEX技术
正如前面所说,RIA(RichInternetApplication)一词由Macromedia(已并入Adobe)早在2001提出,而MacromediaFlex则正是为了满足希望进行RIA开发的程序员的需求而推出的表示服务器和应用程序框架。
2005年Adobe收购Macromedia,同年10月推出AdobeFlex2.0Alpha,2006年6月28日Flex2.0正式版推出,全新的Flex2引入新版的ActionScript3.0语言,并需要FlashPlayer9或以上版本作为运行时环境。
Flex框架是基于组件的开发框架,用于交付可由FlashPlayer运行的丰富互联网应用程序。
Flex将基于标准的语言和各种可扩展用户界面及数据访问组件结合起来,使开发人员能够快速构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序。
使用Flex构建的应用程序能够在所有常见桌面平台上运行,支持对应用程序外观进行完全自定义,并支持各种连接到后端数据和服务的方法。
AdobeFlex2可以在企业内部或在Web上创建并交付丰富互联网应用程序(RIA),是一套完整、强大的RIA开发解决方案。
它使企业能够创建个性化的丰富多媒体应用程序,极大地提高用户的体验,彻底革新与Web的交互关系[9]。
正是由于Flex这种良好的开发框架,加上FlashPlayer目前在互联网上有着非常高的普及率,因此我们在本文中最终选定以Flex作为技术开发平台,来进行丰富互联网应用程序相关的应用与研究。
2.5.1Flex技术的构成
Flex技术主要包括两个部分的内容:
应用程序服务器:
Flex使用现有的应用程序服务器(如J2EE和.NET),提供与JSP、ASP和XLST编程工具非常相似的开发模型。
Flex表示层服务器(FlexPresentationServer),分为两个区域:
客户端应用程序框架和服务器端运行时服务,如图2.2[4]。
①客户端应用程序框架
MXML:
MXML是一种标记语言,它是基于XML的一种实现。
开发人员可使用MXML来声明程序中所使用的标签结构的定义,从而构建Flex应用程序的用户界面布局,同时,MXML也可以用于定义应用程序中的非可视化组件。
每个Flex应用程序至少包含有一个MXML文件。
ActionScript:
ActionScript类似于JavaScript,是一种脚本语言。
开发人员可以使用ActionScript为应用程序添加动态行为。
MXML与ActionScript之间有着密切联系,MXML标签与ActionScript类或者类中的属性是相互对应的,当编译Flex应用程序时,Flex编译器会解析MXML标签,并生成相应的ActionScript类,然后这些类被编译为SWF文件,并最终运行于客户端浏览器的FlashPlayer中。
Flex类库:
Flex类库中包含了创建Flex应用程序所需的所有组件,例如,数据显示控件、布局规划容器、获取用户输入数据的控件(文本框,复选框等)、数据验证控件等等。
基于Flex组件的开发模型,开发人员可在程序中加入预建的组件、创建新组件或是将预建的组件加入复合组件中.大大的提高的开发速度和效率。
②服务器端运行时服务:
服务器端运行时服务用Flex应用程序的编译及缓存、企业资源整合及部署运行时的需要等。
它与用于Web服务、数据和应用程序集成、安全和其他资源的平台整合到一起。
Flex服务器端运行时服务支持符合J2EE标准的应用服务器,包括IBM的WebSphere,BEA的WebLogic,以及Macromedia的JRun及Apache的Tomcat等。
2.5.2Flex的相关服务
Flex的相关服务有[5][6]:
(1)服务器端的Web服务代理,它通过支持应用程序生成域以外的Web服务扩展本地的Flash模型,提供客户端和企业数据源之间的交互[7]。
(2)服务器端的Java对象访问,允许用户调用本地或远程对象中的方法,可用于应用程序、数据及目录集成。
(3)共享式会话支持,Flex应用程序会话可与HTML和Flash应用环境中共享。
(5)支持验证机制,可用于J2EE及单点登录服务。
(6)FlashPlayer检测及更新服务,根据需要部署Flash客户端,以利用其安全及性能特点。
(7)延迟实例化与性能优化,按要求或在开发人员的控制下载入,而不是同时装载,它提供几种运行时选择来节省起动时间。
2.5.3Flex程序运行机制
如图2.3所示,在设计阶段,开发人员将通过开发工具(如Eclipse或FlexBuilder)进行表现页面MXML与ActionScript代码的编写,其中MXML主要负责页面的显示功能,ActionScript负责部分业务和数据服务的交互功能。
在编译阶段,所有与Flex应用程序有关的组件,包括MXML,ActionScript,CSS样式表,以及图像资源,最终被编译并合并成SWF文件,使之能运行于F
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 flex j2ee 多层 架构 ria 教学质量 评价 系统 研究 实现