预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

http://www.paper.edu.cn 基于Flex技术和J2EE构建RIA的研究与应用 吴波,徐波 武汉理工大学计算机学院,武汉(430070) Email:kongbowoo@163.com 摘要:文章介绍了RIA的特性和结构及构建RIA各种不同技术;其次介绍了Flex的组成、 技术架构和运行机制,并介绍了如何将Flex技术同J2EE集成构建RIA;最后用一个具体的 实例来说明其应用。 关键词:RIA(RichInternetApplication),J2EE,Flex 中图分类号:TP393.09 1.引言 随着互联网的迅速发展,用户需要通过浏览器完成复杂程度更高的交互。由于目前多数 应用程序限于技术发展的约束,用户界面只能是基于页面的模型,而缺少客户端智能的情况 下运行,这种情况造成应用程序无法完成复杂的事务处理和交互。为了提高用户体验,实现 更为复杂的交互,出现了一种新的互联网应用程序,这就是富互联网应用程序(RichInternet Application,缩写为RIA)。RIA是一种运行于传统浏览器中的应用程序,它能够充分结合 桌面应用程序的反应快捷、交互性强的优点,以及Web应用程序的传播范围广和易于传播 的特性[1]。例如,RIA可在消息确认和编排方面提供交互用户界面,在无刷新页面中提供快 捷的界面响应速度,以及提供通用的用户界面特性及在线和离线操作能力,这些都是RIA 具有的桌面应用程序的特点。RIA还具有用户友好性、交互性、跨平台兼容性、一次加载多 次使用、客户端数据缓存、高效的网络数据信息传输等特点,这些特点是RIA传承和发扬 Web应用程序的重要体现。 2.RIA概念及Flex技术 如图1所示,RIA应用程序模型由5个层组成,由底至上包括:资源层、集成层、业务 层、表示层和客户层[3]。资源层中包含数据库,外部系统和传统资源;集成层连接到数据资 源和传统系统;业务层实现业务逻辑和连接业务对象。表示层包括ASP、JSP、Servlet、Flex 和其他UI元素;其中RIA中的客户层是一个富客户端,它能够提供可承载已编译客户端应 用程序(以文件形式,用HTTP传递)的运行环境。客户端应用程序使用异步客户/服务器架构 连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型, 这种模型由所使用的Web服务所驱动。 RIA开发技术包括微软的WPF(WindowsPresentationFoundation),Mozilla的开放源码 项目Laszlo,Adobe的Flex技术等。Flex是最早用于开发RIA的技术,伴随着Adobe收购 Macromedia后的不断努力,Flex已经在RIA开发市场中占据了较大市场份额,成为了目前 构建RIA的主力。Flex是为满足希望开发RIA的企业级程序员的需求而推出的表示服务器 和应用程序框架,它可以运行于J2EE和.NET平台。Flex技术提供基于标准的、声明性的 编程方法和流程,并提供运行时服务,用于开发和部署RIA应用程序的表示层。Flex开发 人员使用直观的基于XML的MXML语言来定义丰富的用户界面。MXML语言由Flex服务 器翻译成SWF格式的客户端应用程序,在FlashPlayer中运行。同时,还可以使用ActionScript 语言构建部分业务和交互逻辑。 -1- http://www.paper.edu.cn 图1RIA层次结构图 2.1Flex技术的构成 Flex技术主要包括两个部分的内容: (1)应用程序服务器:Flex使用现有的应用程序服务器(如J2EE和.NET),提供与JSP、 ASP和XLST编程工具非常相似的开发模型。 (2)Flex表现层服务器(FlexPresentationServer),分为两个区域:客户端应用程序框架 和服务器端运行时服务[2]。 ①客户端应用程序框架 zMXML MXML是一种标记语言,它是基于XML的一种实现。开发人员可使用MXML来声明 程序中所使用的标签结构的定义,从而构建Flex应用程序的用户界面布局,同时,MXML 也可以用于定义应用程序中的非可视化组件。每个Flex应用程序至少包含有一个MXML文 件。 zActionScript ActionScript类似于JavaScript,是一种脚本语言。开发人员可以使用ActionScript为应 用程序添加动态行为。MXML与ActionScript之间有着密切联系,MXML标签与ActionScript 类或者类中的属性是相互对应的,当编译Flex应用程序时,Flex编译器会解析MXML标签, 并生成相应的ActionScript类,然后这些类被编译为SWF文件,并最终运行于客户端浏览 器的F