基于Flex的Web应用系统开发探索
- 格式:doc
- 大小:529.00 KB
- 文档页数:14
Flex技术在企业级系统中的应用【摘要】 flex是基于标准编程模型的高效的ria开发产品集,在客户端可以进行完整的数据处理,与用户的交互更加友好、迅速,可以和企业级应用体系结构很好的整合,增强表现层应用,进一步提升界面的友好程度,减少了用户与系统的交互频度,增强用户体验。
本文将带您走进flex的世界,结合flex技术在我所企业信息化软件项目中的应用去了解它的绚丽与精彩。
【关键词】 flex ria 企业级用户界面 web图形图表1引言:在企业级应用软件项目开发中,开发人员关心最多是系统框架、业务功能的实现,很少去关注易用性方面的问题,而在系统运行期或者维护期,用户体验是非常重要的,对于一个功能很强大,但是存在诸多易用性问题的系统,也会让用户很不满。
ria(rich internet application,富客户端互联网应用)技术,有效解决了这方面的问题,它对表现层进行了大幅度的增强,进一步提升了界面的友好程度,并且减少了用户与系统的远程交互频率。
ria技术有很多种,有flex、sliverlight、javafx等,相对其他ria技术相比,flex有很多优势。
说起flex,大家也许有些陌生,但是如果说到flash,大家应该再熟悉不过了,当前网页flash 游戏、flash动画风靡,它多元化的信息展示、丰富的图形让不少人为之痴狂。
随着网络世界多元化的发展,flash不再仅限于设计,它慢慢的渗透到开发当中。
flex的出现让开发人员尤为兴奋,和flash相比它更倾向于程序开发,不需要熟悉过多设计方面的知识,用相对简单的代码就可以完成绚丽高效的应用。
2 flex概述2.1flex简介flex是一种基于标准编程模型的高效的ria开发产品集,最初由macromedia公司在2004年发布,后被adobe公司冠以商标。
flex 是一个提供开发设计和运行支持的架构,它可以使开发人员创建利用adobe flash player为依托的富客户端互联网应用程序,以满足用户更为直观和极具交互性的在线体验。
OGSA-DAI和Flex开发数据网格应用探讨摘要:OGSA-DAI是一个开源的数据网格中间件,用于简化对数据的访问与集成,支持访问关系数据库、XML数据库和文件目录系统等数据源,但是没有提供表现层解决方案。
探讨了利用OGSA-DAI,结合Flex设计了一个实现多源异构数据库集成的框架。
关键词:OGSA-DAI;Flex;异构数据库0 引言实现对分布式异构关系数据库访问与集成时,常常运用OGSA-DAI(Open Grid Service Architecture Data Access And Integration,开放网格服务体系结构数据访问与集成)来开发。
但是,OGSA-DAI没有提供表现层的解决方案,允许应用开发者自由选择表现层解决方案,并通过Web Services方式与OGSA-DAI 交互。
Flex是目前最流行的RIA(Rich Internet Application,富互联网应用程序)解决方案之一,相比于传统网络应用,拥有更加卓越的交互能力和绚丽的表现效果。
因此采用OGSA-DAI结合Flex,充分发挥两者的优势,可以大大提高开发效率。
1 OGSA-DAI和Flex特点分析1.1 FlexFlex的开发模式是基于事件驱动的,为程序开发人员提供了丰富的数据显示或与用户交互的组件库。
Flex组件部署简单、安全性高、扩展灵活、交互表现丰富、编程容易,使程序员从繁重的界面调试中得到解脱,加快了Web应用系统的开发速度。
1.2 OGSA-DAI利用OGSA-DAI可以有效地屏蔽底层平台的异构性,实现异构数据库的统一访问,具体特点有:①可配置性,即实现数据源的“即插即用”;②可扩展性,以提高数据访问的透明性,便于维护和更新;③全局数据库视图。
要求将网格环境下的多个异构数据库的共享信息集成为一个全局数据库视图,用户访问多个异构数据库就如访问单个数据库一样,实现分布式透明访问;④统一的查询模式。
基于Flex+J2EE技术的操作系统精品课程网的设计与实现摘要网站建设是Internets应用的重要组成部分。
因此教育部为大力发展信息化建设,提高教学质量,把精品课程建设定为《质量与工程》的先期启动项目。
而《计算机操作系统》课程是我校软件学院的专业核心课程。
因而开发一个操作系统精品课程网站是刻不容缓的。
系统是基于B/S的开发模式。
而客户端视图层采用最为流行的RIA富客户端技术Flex,具有面美观,人性化,交换性强等特点;在后台的业务逻辑层使用的是以Java语言为支持的J2EE技术,由于Java语言具有面向对象和良好的跨平台性等特点,使的系统的分析设计和后期维护更加简单;同时,后台数据库使用了SQL2000作为数据库管理软件,使系统数据的安全性得到了有效的保证。
系统主要实现的功能有,操作系统课程信息管理;教学资源管理,包括教师后台教学资源的上传,学生和游客资源的下载等;在线测试,包括管理题库的录入,和学生按照多种方式进行在线测试等。
本文简要介绍了操作系统精品课程网站系统所用到的主要的技术,如:MVC 的分层思想,Flex/Flash技术,Flex和后台Java的通信技术,面向对象分析设计技术等;同时,比较详细的介绍了使用UML统一建模语言对系统进行分析设计的过程;并对系统中的关键模块的实现进行了详细的描述;最后对这个系统的开发进行了总结。
【关键字】操作系统精品课程网、Flex、在线测试、面向对象AbstractSite construction is an important part of the application Internets. Therefore, the Ministry of Education to develop information technology to improve teaching quality, the fine course construction as the "quality and engineering," up-front to start the project. The "computer operating system" course is my school School Of Software professional core curriculum. Thus, development of a course Web site is operating fine without further delay.System is based on B / S of the development mode. The client-side view of layer of the most popular RIA rich-client technology, Flex, with a face beautiful, humane, and strong characteristics of the exchange; in the background of the business logic tier user Java language support based on J2EE technology, due to Java language with the object-oriented and a good cross-platform characteristics, etc., so that systems analysis and design and post-maintenance of a more simple; same time, the back-end database using SQL2000 as the database management software, allowing the system security of data has been effectively guaranteed. System is mainly to achieve the functions, operating systems courses information management; teaching resources management, including teachers, teaching resources and background of the upload, download resources, students and visitors, etc.; online testing, including the management of item bank of the entry, and students in a variety of ways in accordance with On-line testing.This paper briefly describes the operating system, network system used in fine course the main technology, such as: MVC hierarchical thinking, Flex / Flash technology, Flex, and Java background in communications technology, object-oriented analysis and design technology; next, it more detailedly introduces the use of UML Unified Modeling Language for systems analysis and design process; key modules and systems implementation of a detailed description; Finally, the development of this system are summarized.Key Words:The operated System Quality Course Website、Flex、Test Online、OO目录第一章绪论 (1)1.1 国内精品课程网站的发展趋势 (1)1.2 精品课程网站的特点 (1)1.3 精品课程网站的意义 (2)1.4 论文组织 (2)第二章系统开发相关技术概述 (4)2.1 B/S模式 (4)2.2Flex技术简介 (6)2.2.1 RIA 技术介绍 (6)2.2.2 Flex/Flash 技术 (6)2.3MVC模式 (9)2.4 JavaBean技术 (11)2.5 Servlet技术 (11)2.6FileUpload文件上传组件 (13)2.7 面向对象的分析与设计 (14)第三章系统分析与设计 (16)3.1功能分析 (16)3.2 系统业务类的分析与设计 (20)3.2.1系统的业务类 (20)3.2.2系统的数据结构表 (21)3.3 系统设计 (25)3.3.1 系统体系结构设计 (25)3.3.2系统网络结构设计 (27)3.3.3学生在线测试活动图 (28)第四章系统关键技术的实现 (30)4.1系统主体架构的实现 (30)4.1.1系统设计架构和工作机制 (30)4.1.2 系统服务器端包中的类和作用 (34)4.2系统主界面的实现 (36)4.3 系统中关键技术的实现 (37)4.3.1数据库的链接 (37)4.3.2系统分页技术的实现 (40)4.3.3自动组题测试的实现 (40)4.3.4 学生错题测试 (43)4.3.5错题统计 (44)4.3.6管理员添加题目 (48)4.3.7 文件上传技术的实现 (49)第五章总结 (51)5.1个人总结 (51)5.2 系统总结 (52)参考文献 (54)致谢 (56)第一章绪论1.1 国内精品课程网站的发展趋势为全面提高教育教学质量, 造就数以千万计的专门人才和一大批拔尖创新人才, 提升我国高等教育的综合实力和国际竞争能力, 教育部决定在全国高等学校中启动高等学校教学质量与教学改革工程精品课程建设工作(简称精品课程建设),并把它作为了《质量与工程》的先期启动项目。
基于Flex和Spring的应用开发架构研究摘要:传统的java ee应用程序使用采用某种mvc框架作为前端用户界面,随着技术的发展,使用者对用户体验方面有了更高的要求,flex作为富客户端技术在web技术中的应用,在一定程度上提升了用户交互性和用户体验度,为使用者提供了更酷的界面,更短的响应时间及接近于桌面程序的体验。
本文主要讨论如何将flex 技术集成至一个现有的基于spring的java ee应用程序中,阐述了flex技术在java ee应用程序中的实现解决方案。
关键词:java ee;flex;web应用程序;开发框架中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2012) 17-0000-021 引言flex 是一个高效、免费的开源框架,可用于构建具有表现力的web 应用程序,这些应用程序利用 adobe flash player和 adobe air,运行时跨浏览器、桌面和操作系统实现一致的部署。
java ee 是基于组件模型的、分层的、可用于分布式环境下的开发与部署企业级应用程序的一系列服务和规范的集合。
本文结合已有的基于spring的java ee框架应用程序的基础上,对flex开发环境进行配置,使用flex进行程序开发。
2 java ee应用程序加入flex支持现有一个现有的java ee应用程序,程序结构如图1所示此web应用程序是典型的java ee应用的程序。
传统程序交互界面一般采用html的形式,用户在进行操作时,每次点击相应该的链接都需要重新的刷新界面。
如采用flex作为与用户交互的界面,将会给用户带来更好的体验。
本文以系统中权限管理模块中的“资源查询”为例,对现有的框架整合flex应用进行阐述。
2.1 ssh框架概述如图1中所示,按照分层架构的形式对资源进行划分, action 包中存放控制器类,service中存放业务接口类,在impl中存放业务实现类,utils包中存放实用程序类,在vo包中存放实体类;其中,applicationcontext-dao.xml为spring的配置文件,struts.xml为struts2的配置文件。
基于Flex的J2EE—MVC模式改进研究摘要:在介绍Flex相关技术的基础上,分析了J2EEMVC在表现层上的不足,给出了用Flex改进J2EEMVC模式的新方法,并对Flex 作为J2EEMVC表现层的特点进行了解析。
关键词:Flex;J2EEMVC;RIA传统的Web应用程序开发基于浏览器、服务器的模式,开发的侧重点在于能够快速推向市场,但这往往是通过牺牲用户的易用性和更高的全方位体验换来的。
以往页面开发一般用HTML、JSP页面等作为其表现层,为了使页面更加美观,得到更好的应用效果,通常需借助美工人员和其它软件来实现。
程序员不能很好地用代码编写出丰富、美观、实用的页面效果,而富互联网应用(RichInternetApplications,缩写为RIA)的出现很好地解决了这个问题。
Flex的RIA程序将桌面应用程序的交互式用户体验与传统的Web应用的部署灵活性与成本分析很好地结合起来,既确保了集中部署的快速转换模型,又为实现易用性提供了强大的支持。
1Flex技术Flex是Adobe公司在其著名的Flash平台上,用ActionScript语言开发的一套软件开发架构,用于实现富互联网应用。
1.1Flex组成部分Flex是一种全新的、基于Flash的、解决表示层架构的技术,主要由MXML、ActionScript、Flex类库以及一些运行时的服务组成,如图1所示。
MXML和XML、HTML一样是标记语言,它可编写反映内容与功能的用户界面。
MXML可对表示逻辑层与用户界面和服务器端数据绑定提供声明对象,将表示层与业务逻辑的问题彻底分开,以最大程度地提高开发人员的生产效率及应用程序的重复使用率。
ActionScript是一种功能强大的面向对象的强类型编程语言,提供了创建效果丰富的Web应用程序所需要的功能和灵活性。
与Javascript类似,ActionScript是一种脚本语言,用来操作MXML组件。
基于Flex技术的信息展示平台应用研究摘要:提出了一种基于Flex技术的信息展示平台设计方案。
Flex技术具有运行时跨平台、数据模型丰富、与Flash影片剪辑结合紧密等优点。
该平台面向数据操作人员和信息展示群体,分别设计开发了两大模块,即数据录入模块和信息展示模块,集功能性和展示性于一体,使信息展示平台更加系统化。
关键词:Flex技术;AIR技术;富互联网应用系统0引言随着数字媒体技术的不断发展,互动类展示平台的交互形式也多种多样。
设计一个交互平台并不难,但要设计出一个能让用户快速掌握浏览规则并能够沉浸其中,非常轻松自如地掌握信息展示内容的平台,这并不是一件容易的事[1]。
互动展示平台不仅仅要满足其基本的功能性需求,最关键的一点就是要具备足够的吸引力吸引用户浏览和阅读,同时操作简单,方便快速上手。
1Flex技术Flex技术是目前最流行的RIA(Rich Internet Application,富互联网应用系统)开发技术之一。
Flex将基于标准语言和各种可扩展用户界面及数据访问组件结合起来,使开发人员能够快速构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序[2]。
Flex是一个高效、免费的开源框架,可用于构建具有表现力的Web应用程序。
这些应用程序运行在Adobe Flash Player和Adobe AIR上,运行时跨浏览器、桌面和操作系统,实现一致的部署。
使用Flex可以制作精美的动画效果、丰富的交互式效果,具有丰富的数据模型和用户交互体验。
1.1Flex技术框架Flex技术框架主要包括FlexSDK、MXML、ActionScript三部分。
(1)FlexSDK。
这是Flex的软件开发工具包,它包括Flex的基础类库和编译器,其主要作用是负责将MXML和ActionScript有机结合起来,生成客户端浏览器就可以识别的SWF文件,其功能十分强大[3]。
(2)MXML。
这种框架是通过基于XML语言来实现的,通过该语言程序来描述浏览器的应用程序界面,MXML标签与ActionScript类或者类中的属性是相对应的。
Flex3企业级Web应用系统设计与实现1 Flex3企业级Web应用系统设计与实现姜天格企业级Web应用系统需要多人团队并行开发,如何能够适应这种开发模式是设计系统架构的重点。
设计良好的系统架构应该像拆积木那样能够拆分成为不同的部分,这些部分功能上相对独立,便于多人开发而不会相互影响。
同时,又能够像搭积木那样方便地组合,完成复杂的功能。
本书从企业级Web应用系统设计中实际需要解决的独立技术问题出发,提出问题,分析问题,解决问题。
然后又将独立的技术要点结合起来,搭建企业级Web应用系统的开发框架雏形。
本书的实例采用Flex2,AmfPHP,PHP,MySQL技术。
本书适合有Web应用系统开发经验的系统设计人员和软件工程师参考第1章接触Flex技术Flex技术作为开发Web应用的利器,近年来越来越被重视。
在本章中,我们将从Web应用发展的角度,阐述Flex技术在其中发挥的作用。
同时说明Flex技术中一些重要的概念。
1.1 Flex与Web应用的发展互联网的普及不过短短十几年的光景,其由最初的浏览静态信息快速发展到动态搜索和多媒体应用。
随着网络软硬件技术的进步,大多数的数字信息化应用可以通过网络模式来实现。
在网络上运行着的各种网络应用程序,我们可以统称其为Web应用。
下面从使用者(用户)和开发者两个群体的角度,阐述Web应用的发展方向。
1.1.1 用户对Web应用的期待通过网络获取信息,是目前大多数网民上网的主要目的。
随着网络技术的进步,获取信息已经不是问题,我们开始关注网络"体验",要让上网的过程成为一种享受,特别是在视觉和操作方面。
如何提供更具魅力的Web应用视觉效果,如何让操作更加人性化,更加有趣味性,都是需要改进的地方。
用户对网络生活充满了期待,我们可以大胆地想象:随着科技的进步,未来的Web应用可以提供给人们日常生活所需要的绝大部分内容。
而且,我们可以从Web应用中得到视觉、听觉、味觉、嗅觉等全方位的感官体验。
基于Flex和J2EE架构的数据发布系统的设计与实现摘要:提出了开发基于Flex和J2EE架构的数据发布系统,应用Flex作为展现层实现,应用Hibernate作为持久层实现,结合Spring技术作为业务层实现,进行框架整合,从而设计了一套松耦合、可扩展的RIA数据发布系统,初步解决了当前数据发布中存在的问题。
关键词:RIA;数据发布;Flex;Spring框架;Hibernate框架为了解决Web应用程序中人机界面单调、交互性弱、开发效率低、用户体验差等一系列问题,产生了富因特网(Rich Internet Applications)技术,RIA程序是将桌面应用程序的用户交互体验与传统的Web应用的部署灵活性和成本分析结合起来的网络应用程序。
RIA中提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型。
作为最完善的RIA系统开发技术,Adobe Flex提供了一整套的RIA组件框架和运行时数据处理服务来构建复杂的网络应用程序,利用它可以开发出具有良好的软件体系结构、很好的兼容性和更具吸引力的用户体验的软件。
本文根据Web应用的经典分层理论,应用Flex 作为展现层实现,应用Hibernate作为持久层实现,并结合Spring技术作为业务层实现,进行框架整合,设计出一套足够灵活、松散耦合、可扩展性强、高效的数据发布系统。
1系统需求分析系统需求分析是系统项目成功的基础,需要按照软件工程方法进行全面合理的需求分析。
数据发布系统有着自身的特点和需求,现进行分析设计。
1.1系统流程分析系统参与者有系统管理员、数据管理员、普通用户3种,图1为参与者进入系统后的活动图。
图1系统活动图1.2系统功能性需求数据发布系统主要由3个功能模块组成:数据发布模块、用户管理模块、系统管理模块。
基于ApacheFlex的企业项目管理应用【摘要】本文介绍了基于Apache Flex的企业项目管理应用的设计与实现。
在文章从概述、研究背景和研究意义三个方面展开。
在文章分别介绍了Apache Flex简介、企业项目管理应用概述、应用架构设计、功能模块介绍和技术实现细节。
最后在对文章进行总结并展望未来的发展,并举例说明实际应用情况。
本文从理论到实践,全面探讨了基于Apache Flex的企业项目管理应用的设计和实现过程,为相关领域的研究和应用提供了有价值的参考和指导。
【关键词】Apache Flex, 企业项目管理应用, 应用架构设计, 功能模块介绍, 技术实现细节, 总结, 展望, 实际应用情况, 引言, 研究背景, 研究意义, 正文.1. 引言1.1 概述企业项目管理应用是一种用于提高企业项目管理效率和质量的软件应用程序。
通过这种应用程序,企业能够更好地组织和管理各种项目,包括人力资源、时间安排、成本控制、沟通协作等方面。
这样可以帮助企业更好地把握项目进度,及时发现和解决问题,从而提高项目的成功率和效益。
基于Apache Flex的企业项目管理应用是一种利用Flex技术开发的企业项目管理软件。
Apache Flex是一个开源的应用程序框架,它提供了一套基于Flash平台的工具和组件,可以用来构建富互联网应用程序。
通过结合Apache Flex和企业项目管理的需求,开发出的应用程序具有良好的用户界面、良好的交互体验和强大的功能性,能够满足企业项目管理的各种需求。
在本文中,将详细介绍基于Apache Flex的企业项目管理应用的概述、应用架构设计、功能模块介绍、技术实现细节等内容,以期帮助读者更好地了解和应用这一领域的技术和应用。
1.2 研究背景企业项目管理是企业管理中一项非常重要的工作,它关系到企业的整体运营和发展。
随着信息化技术的不断发展,企业项目管理应用也变得越来越重要。
传统的项目管理方式已经不能满足需求,因此需要借助现代化的技术手段进行管理。
基于flex和arcgis server的webgis设计与实现
要基于flex和arcgis server来设计和实现webgis,主要包括以下几个步骤:
1. 确定需求:确定webgis的基本功能和用户需求,包括地图浏览、查询、分析、可视化等。
2. 配置arcgis server:将arcgis server安装在服务器上,配置服务、数据源等。
确保服务能够正常发布和使用。
3. 开发flex应用:使用flex开发webgis应用程序,包括界面设计、地图控件、交互操作等。
4. 存储和管理数据:确定数据存储方式和数据管理方式,包括数据库、文件存储等。
确保数据的安全和可靠性。
5. 服务发布和调用:将arcgis server发布的服务通过flex应用进行调用,并进行相应的数据操作和处理。
6. 调试和测试:对webgis进行调试和测试,确保应用程序能够正常运行,并能够满足用户需求。
7. 优化和维护:定期对webgis进行优化和维护,包括性能优化、安全维护等,确保webgis的长期稳定运行。
在以上步骤中,需要注意的是,灵活运用arcgis server提供的各种功能和API,结合flex的优势,选取合适的技术和工具进
行开发和实现。
同时,保持良好的代码和文档管理,以方便后期的维护和升级。
浅谈基于Flex的RIA技术与WebGIS发展趋势摘要:随着计算机与网络的发展,如何利用信息化手段,更高效的处理各种地理信息数据变得更加重要。
越来越多的人们通过互联网从地理信息系统服务系统获取信息,这种web应用已经逐步取代了传统的桌面应用。
但是以往的web应用往往效率过低,因此基于以上要求,提出一种基于flex的ria技术开发的地理信息服务系统方案。
关键字:webgis;ria;flex;地理信息系统随着计算机和网络的发展,特别是随着智能手机的发展,地理信息系统已经被更多的普通民众所接受,人们也在享受着地理信息系统带来的便利。
近年来传统的桌面地理信息系统已经逐步被更方便,人机交互体验更好的,基于浏览器的webgis所取代。
不幸的是,虽然这种新型地理信息系统很方便,但是传统的webgis的发展已经远远落后于人们对应用程序复杂性的需求,因此一种新的基于网络的地理信息系统改进方案因运而生。
一、系统技术介绍(一)webgis和riawebgis是指运用在互联网上的地理信息系统,即internet技术与gis相结合的产物。
一般由多主机,多数据库和多个客户端以分布式连接在internet上而组成。
webgis的应用因网络技术的不断发展取得了很大的进步,但传统html页面形式的用户界面,使得客户端的数据处理能力较差,图形显示与交互功能较弱,用户体验不佳。
ria(富互联网应用程序)是具有高度互动性、丰富用户体验且功能强大的客户端技术。
它结合了桌面应用程序的反应快、交互性强的优点与web应用程序的传播范围广及易传播的特性,简化并改进了web应用程序的用户交互,提升了用户体验。
ria技术给webgis 发展带来了新的活力。
目前,ria领域比较成熟的产品有microsoft 公司的smart client、ibm公司的openlaszlo,以及adobe公司的flex等,本文简述用flex技术来开发webgis。
(二)flexflex是由adobe公司发布的ria应用程序框架,它拥有丰富的用户界面组件,其开发模型由mxml模型描述语言,actionscript3脚本语言,以及扩展类库组成。
《电信交换》2009年第3期技术与应用基于Flex的Web应用系统开发探索胡丹瑞(电信科学技术第十研究所陕西西安710061)摘要:介绍了Flex的基本概况。
从整体架构、服务器端、与服务器端通信、配置文件和部署等五个环节,阐述了如何搭建基于Flex的Web应用系统。
对Flex的客户端技术要点做了的说明。
在Web系统的前台开发方面将Flex与传统开发模式作了比较。
关键词:Flex ActionScript SWF Web系统RIA 随着网络的普及和互联网的发展,很多信息人们都能从网上得到,获取信息已经不是问题。
但是,如何提供更具魅力的Web 应用视觉效果,如何使操作更加人性化等都存在有待探索和改进的地方。
一、Flex简介Flex技术是目前最流行的RIA(Rich Internet Application,富互联网应用系统)开发技术之一,它是开发Web应用的有效工具[1]。
在传统的开发模式中,用PHP、ASP、JSP等技术来开发Web应用,需要依靠浏览器的动态解释才能够正常显示和执行,这样的开发方式经常会给代码调试带来难度。
在开发过程中,界面外观的调试非常耗时耗力,往往同一代码在不同的浏览器或同一浏览器的不同版本下会有不同的外观和不同的动作效果[2]。
Flex便是人们所期待的能够解决上述问题的方法之一。
1.Flex框架结构Flex框架的基本模型如图1所示。
其基本原理是:通过Flex 编译器Flex Builder x.0将MXML文件编译成SWF文件[3],然后由FlashPlayer执行该SWF文件。
图1 Flex框架结构图从图1中可以看出Flex应用是多层结构。
Flex编译器可以把MXML、ActionScript以及一些Flex类库编译成SWF文件,由FlashPlayer在客户端执行SWF文件,实现对应用的访问。
在企业级应用当中,Flex采用N层架构和面向服务的应用程序体系结构,在使用模型/视图/控制器(MVC)设计模式时,可以将表示逻辑从业务逻辑中分离出来,控制器负责处理用户交互逻辑,服务器端业务逻辑控制器负责业务逻辑的处理。
2.Flex技术元素(1)MXML 基于XML描述应用程序界面的语言;(2)ActionScript 符合ECMA(欧洲计算机制造商协会)标准的脚本语言,负责处理业务逻辑和业务建模;(3)Flex SDK Flex的基础类库;(4)通信服务Flex支持Adobe公司自定义的通信协议AMF,它能够将Flash/Flex对象快速序列化、反序列化,采用二进制压缩传输数据,具有数据安全性高、传输快的优点。
二、搭建基于Flex的Web应用系统Flex主要用于前端用户交互的解决方案框架,当复杂业务逻辑的信息系统进行开发时,服务端一般会选用比较成熟的架构,Flex可以方便地实现与服务端的交互。
1.Web应用的整体框架图2所示为Web应用的整体框架,系统可分为客户端、服务器端。
Flex程序在浏览器中运行,由浏览器插件FlashPlayer 负责解释执行。
Flex主要承担着客户端的展现,因此在某种程度上可以说Flex是客户端技术。
图2 Web应用框架图2.服务器端服务器端可采用分层设计模式,分为控制层、业务层、数据层和数据实体层等。
这里可以采用Spring和Hibernate结合的方法来进行开发。
3.Flex与服务端的通信图2中的BlazeDS是Adobe公司的一款数据服务产品,它能够提供高级的与服务端通信的方式,其中有3种基本通信方式如表1所示。
表1 BlazeDS与服务端通信的3种基本方式在此采用第一种通信方式,使Flex通过BlazeDS直接调用服务端的Java类,以实现用户交互层和业务逻辑层的无缝连接。
4.配置文件Flex与服务器端的通信一般需要4个配置文件的支持。
在普通Web应用中配置其中的两个配置文件就可以了,它们是:remoting-config.xml,描述远程调用Java类的服务配置文件;services-config.xml,描述服务基本设置的配置文件。
(1)remoting-config.xml中需要配置的具体项有:<?xml version="1.0" encoding="UTF-8"?><service id="remoting-service"class="flex.messaging.services.RemotingService"><adapters><adapter-definition id="java-object"class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/></adapters>//定义默认的消息通道<default-channels><channel ref="my-amf"/></default-channels>//定义id为CatalogManager的目标,它指向的源文件是com.flexbbs.dao.CatalogDAO<destination id="CatalogManager"><properties><source>com.flexbbs.dao.CatalogDAO</source> </properties></destination></service>(2)services-config.xml文件中需要配置的具体项有:<?xml version="1.0" encoding="UTF-8"?><services-config><services>//加载描述远程调用Java类的服务配置文件remoting-config.xml<service-include file-path="remoting-config.xml" /> //定义默认消息通道<default-channels><channel ref="my-amf"/></default-channels></services><channels>//定义一个id为my-amf的消息通道,它的类型是AMFChannel<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">//访问目标地址<endpointurl="http://{}:{server.port}/{context.root}/messagebroke r/amf" class="flex.messaging.endpoints.AMFEndpoint"/><properties>//开启轮检机制<polling-enabled>true</polling-enabled></properties></channel-definition><channel-definition id="my-streaming-amf"class="mx.messaging.channels.StreamingAMFChannel"><endpointurl="http://{}:{server.port}/{context.root}/messagebroke r/streamingamf"class="flex.messaging.endpoints.StreamingAMFEndpoint"/></channel-definition></channels>//配置Tomcat服务器的登录安全机制<security><login-commandclass="flex.messaging.security.TomcatLoginCommand"server="Tomcat"/></security><system><redeploy><enabled>true</enabled><watch-interval>20</watch-interval><watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file><watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file><touch-file>{context.root}/WEB-INF/web.xml</touch-file></redeploy></system></services-config>5.部署Flex应用可以运行在任何J2EE服务器上,例如IBM公司的Websphere、BEA公司的Weblogic、Adobe公司的JRun以及开源社区的JBoss、Tomcat等服务器。
在此选用Tomcat服务器,使用oracle10g进行数据存储,使用Flex技术与用户交互。
其中,通过运行在Tomcat服务器上的BlazeDS和Java代码处理系统的逻辑。
三、Flex客户端技术客户端的开发是Flex开发企业级Web应用系统的一大强项,其开发要点如下:1.模块化的开发在Flex中可以针对每个页面建立一些MXML Component文件,再将若干MXML Component文件组织成一个MXML Module 文件,最后若干MXML Module文件可以包含在作为主界面的Application应用中。