Flex技术

2024-09-23

Flex技术(精选11篇)

Flex技术 篇1

在网络开发方面, 各种技术甚嚣尘上, 构成了丰富的网络应用, 令我们目不暇接。亲兄弟Flex与Flash各有什么特长?在RIA开发中, Flex与Silverlight、Java FX谁胜谁负?Flex与AJAX谁优谁劣?Flex与HTML5谁前景光明?Flex开发平台如何发展?下面请听主持人和各位嘉宾娓娓道来。

●Flex与Flash

刘树明:Flash技术曾经掀起过一阵应用潮流。在网页制作方面, 它大量代替GIF动画、多媒体动画MTV, 教师经常用到的多媒体课件制作也广泛使用Flash技术。作为矢量动画的杰出代表, Flash在同样的甚至是更优的画面效果下能够做到作品的体积更小。

作为网页制作三剑客之一, Flash的知名度远超Flex。我第一次接触Flex应该是在2006年, 一位同事在56网上看到一个比较好的视频, 想要将它下载下来用在自己的课件里面。我下载下来后惊奇地发现, 得到的palyer.swf仅仅是一个播放器, 并不是当时常见的Flash MTV影片。这就是Flex的一个应用。

邱元阳:从最终效果上看, Flex与Flash似乎是异曲同工, 因而容易让人以为它们两者可以互相代替。实际上, 它们在功能和作用上的关系并不是表面上看来这么简单的。

如果简单地说, Flex是面向开发者 (Developers) 的工具, 有很多的组件和框架可以应用, 可以开发企业级的网络应用;而Flash是面向设计者 (Designer) 的工具, 主要做动画和小程序。两者既有交集, 也可以互相配合。

Flash也可以完全使用Action Script脚本语言来写成独立的程序文件, 即脚本文件或类文件;Flxe则常常是以脚本的形式写在.mxml文件中。

从开发者的角度看, Flex是Macromedia发布的Presentation Server (展现服务) , 它是Java Web Container或者.net Server的一个应用, 根据.mxml文件 (纯粹的xml描述文件) 和Action Script产生相应的.swf文件, 传送到客户端, 由客户端的Flash Player或者Shockwave Player解释执行, 给用户以丰富的体验。

Flash适合单兵作战, 对程序员的要求比较低, 在独立程序和小的项目上, 运用Flash是完全可以做到Flex的效果的, 但它的时间轴和写程序的方式与开发人员格格不入。Flex主要面向专业程序员团队开发, 专业性较高, 适合一些大型项目的开发, 如大型无客户端 (网页式) 的Flash网络游戏, 因为这样的项目一般都是多人开发, 而且具有合理的结构性, 便于后续修改。

刘宗凡:Flash适合强交互、强效果、少数据展示、少图文混排、偏展示/工具属性的应用程序。例如, Flash交互广告展示、页游 (Flash Game) 等。而Flex适合较强交互、适当效果、多数据展示、少图文混排、偏工具属性的应用程序。例如, 图片在线修改、企业内部系统、ERP系统、金融系统等。

Flex一般只用于开发程序部分, 需要程序员和美工协同工作。而在Flash的项目中, 这些一般都没有分工。

从表现形式来看, Flash和Flex区别不大, 但是它们的数据来源不相同。Flash需要展示的数据是直接嵌入到作品里面的;Flex的数据来源于后台服务器, 这点有点类似于普通的照相机和一次性照相机的工作方式。

●Flex与RIA

刘树明:Flex作为RIA应用的突出代表, 无需刷新网页便可自动通过后台多次重复连接服务器进行交换数据, 给用户带来良好的使用体验。请两位老师给大家谈谈关于Flex和RIA的各种有关知识。

邱元阳:RIA (Rich Internet Application) 即富互联网应用。RIA首先应该是一个网络应用程序, 其次它还要具有桌面应用程序的特征和功能。RIA应用既能在浏览器上运行, 又能保持程序原来的功能和特征 (富互联网客户端应用) 。

在企业应用由Intranet转向Internet时, 就不再满足于简单的表单和表格界面, 而越来越倡导用户体验, 于是RIA的需求应运而生。

无论是B2B网站中的产品展示, 还是SNS网站上的交友游戏, 无论是娱乐网站上的Web游戏, 还是教育网站上的交互设计, RIA技术都已在散发着炫目的光辉和迷人的魅力, 给我们带来无与伦比的用户体验。

刘宗凡:在RIA的开发应用中, Adobe公司的Flex、微软公司的Silverlight和Java阵营的Java FX三足鼎立。Flash由于Flex SDK的支撑, 很早就从单纯的动画展示转入RIA领域, 而且由于Flash的普及 (Flash播放器是下载次数最多的独立软件) , Flex目前应该是三大技术体系中市场份额最大、应用最广泛的技术;Silverlight是微软推出的跨浏览器和跨平台的插件, 能在微软的.NET上交付炫目的多媒体体验和有丰富交互功能的Web应用, 已经对Flex有了很大的冲击;Java FX是未被收购前的Sun公司在2007年推出的用来对抗Flex和Silverlight的桌面应用。Java FX Script可以让用户利用JRE“一次编写, 处处运行”的优势, 在现有知识的技术上创建跨设备的应用;Flex产品能帮助应用程序开发者利用强大的Flash运行时创建数据驱动的RIA, 而且开发者还可以用Flash和Flex构建器一起为基于Flex的应用增加富交互元素。

目前来看, 这三种技术各有优势, Flex先入为主, 目前已经有了一个很大的市场, 但是Silverlight的先天优势是有Windows平台的支持, 而Java FX作为后起之秀, 尽管目前应用不是很广泛, 但其优势是它的开源策略, 相信前景依然非常广阔。

●Flex与AJAX

刘树明:我们知道, AJAX也是一种免刷新整个页面而获得服务器端更新数据的技术, 它主要是采用Java Script的XMLHttp Request对象来直接与服务器进行通信。通过这个对象, Java Script可在不重载页面的情况与Web服务器交换数据。那么AJAX与Flex各有些什么优缺点呢?

刘宗凡:AJAX (Asynchronous Java Script And XML, 异步Java Script及XML) 是一种用于创建更好、更快以及交互性更强的Web应用程序的技术。与Flex类似, 它也是需要客户端支持的一种技术, 但它不需要一个专门的播放器, 只需要客户端浏览器的Java Script支持。Java Script、XML、HTML、CSS在AJAX中使用的Web标准已被良好定义, 并被所有的主流浏览器支持。AJAX应用程序独立于浏览器和平台, 桌面应用程序有诸多优势, 它们能够涉及广大的用户, 更易安装及维护, 也更易开发。为了正确地浏览AJAX应用, CSS是AJAX开发人员所需要的一种重要武器。CSS提供了从内容中分离应用样式和设计的机制。虽然CSS在AJAX应用中扮演至关重要的角色, 但它也是构建跨浏览器应用的一大阻碍, 因为不同的浏览器厂商支持各种不同的CSS级别。

AJAX的优点是它不需要任何浏览器插件, 而且它的应用范围也不会局限于像Flex这样的播放器窗口, 页面上的所有div元素都可以接受AJAX从服务器上拉取的数据。但是它需要用户允许Java Script在浏览器上执行, 而且需要考虑各种浏览器的兼容性, 就像DHTML应用程序那样, AJAX应用程序必须在众多不同的浏览器和平台上经过严格的测试。

邱元阳:随着AJAX的成熟, 一些简化AJAX使用方法的程序库也相继问世。最为典型的是雅虎的YUI (Yahoo!UI Library) 。YUI是一个开放源代码的Java Script函数库, 为了能建立一个高度互动的网页, 它采用了AJAX、DHTML和DOM等技术, 也包含了许多CSS资源。它使用授权为BSD许可证。通过YUI函数库, 我们可以很轻松地实现动画、连线工具、资料源、元素、DOM、即拖即放、事件响应等类似桌面应用程序的一些操作, 同时它还提供自动完成、按钮、月历、容器、资料表、记录器、表单、滑块、分页视图、树状检视等控件, 并提供七种基本线框外带附加组件, 支援超过1000种不同网页布局。

大量的AJAX应用, 会给客户端的浏览器带来比较大的负荷, 而且因为要考虑到各种浏览器的兼容性要求, Web应用开发商通常需要花好几倍的人力成本来协调浏览器兼容。这就是为什么澳大利亚电子产品经销商Kogan, 对于在他的网站上使用IE7以下版本的浏览器购物者多收取6.8%的款项的重要原因了。

刘树明:相对于Flex来说, AJAX确实是有优点也有缺点。不过现在使用YUI的站点也越来越多了, Moodle从2.0版本起, 就在它的各种组件中大量应用了YUI的技术。Java Script对于牛人来说, 可以写出非常牛的程序。一个法国程序员Fabrice Bellard曾经就用纯Java Script写出了一个在Web上面运行的Linux系统, 不但能模拟PC机的CPU、内存, 连C语言编译器等系统软件都一应俱全。但是对于普通的程序员来说, 也许Flex技术是更好的选择。

●Flex与HTML5

刘树明:尽管Flex功能非常强大, 而且目前暂时应用比较广, 但是它毕竟还是需要相关播放器组件的支持。随着HTML5技术的产生, Flex技术是否会面临淘汰的危险呢?

邱元阳:作为新兴的Web技术, HTML5走上了风口浪尖, 为众人所景仰。

HTML5已经成为一种趋势, 在它的胁迫下, 浏览器的包容性越来越大。也许有一天, 我们的浏览器不需要再安装Activex, 不需要Flash Player支持, 不需要下载Applet、Silverlight等任何插件, 而所有的动画和交互效果都能实现了。这个希望就可能寄托在HTML5和CSS3身上。

尽管HTML5和CSS3来势汹汹, 但是因为Flash有着广泛而根深蒂固的应用基础, Flex仍然大有可为。如果AJAX技术和Flex技术配合形成前端组件体系, 将大大提高开发效率, 改进用户体验。

Flex的核心价值在表现层, 它有着基于组件的表现层快速开发模式。可以说, Flex在表现层的作用暂时无可替代。一个是Web应用, 一个是B/S架构, 两者在功能和作用上并没有可以完全替代的关系。而且, 连Adobe都在积极推动HTML5, 它也未必会造成Flex和Flash的消亡。

刘宗凡:HTML5和CSS3适合较强交互、适当效果、多数据展示、多图文混排、偏应用属性的应用程序。例如, Google系网站、各种传统意义的网站、SNS系网站等, 在手机等移动终端Web网络应用方面也得到了普遍应用。

但是在PC机的RIA应用方面, Flex现在并不过时。首先, Flex所需的Flash播放器在PC机上非常普及, 采用Flex技术的Web应用几乎不存在使用障碍;其次, 在一些比较流行的应用技术上, Flex积累了很多的开源项目, 开发人员在面临架构一个新项目的时候, 如果他们采用Flex技术实现, 可以在现有的开源项目的基础上轻易完成, 节省大量的人力物力。所以在相当的一段时间内, 我觉得Flex技术还是会有很广阔的应用空间。但是HTML5这种新技术走向前台是难以阻挡的, 未来可能是相当一段时间内, 会呈现以Flex为代表的RIA技术和HTML5技术并存的局面。

●开发平台与技术

刘树明:随着人力成本占项目开发总成本的比例越来越大, 开发平台和开发技术的选择对于项目开发和项目管理越来越重要了, 相比其他的RIA技术, Flex在开发方面有什么特点呢?

刘宗凡:Flash主要基于Flex SDK进行开发, 这是一个可视化开发界面, 可以通过拖拽方式开发, 提高开发效率。

Silverlight主要的开发平台是微软的.NET平台。近年来, 微软貌似对这项技术非常重视, 投入很多的人力物力, 使Silverlight不但从Silverlight 1到Silverlight 5更新速度很快, .NET平台也更新换代非常快, 功能越来越先进。Visual Studio 2010中新增了更为强大的Silverlight开发功能, 包括了可完整编辑的设计接口、拖放式数据系结、自动绑定控件、数据源选择、与Expression Blend样式资源整合、Silverlight项目支持和完整的Inteli Sense。

Java FX的集成开发环境类似于J2EE, 使用得比较多的是Netbeans和Eclipse, 在这些集成环境下面, 程序员也可以使用和VB或Delphi非常相像的可视化编辑器。

在过去几年中, Flex/Action Script社区创建了大量开源的开发支持工具:

RIATest是面向Flex的GUI自动化测试工具, 它支持Windows以及Max OS X。

Flexcover是面向Flex、AIR以及Action Script 3的开源代码覆盖率检测工具。

Alcon是轻量级的调试工具, 支持Action Script3、Flex及AIR开发。

Fluint (Flex unit and integration的简称) 是面向Flex 2/3应用的测试框架。

Arthropod是面向Flex和AIR开发的调试工具, 凭借Arthropod, 开发者可以在运行期轻松调试应用。

De Monster Debugger是面向Adobe Flash、Flex及AIR项目的开源、轻量级但功能完善的调试器, 它完全使用Adobe AIR开发。

ASTUce是衰退测试框架, 其灵感来源于x Unit架构, 如JUnit。它支持对Action Script 3的单元测试。

As Unit是面向Action Script 3的开源的单元测试框架。As Unit2.x已经完全集成了Flash IDE。

Flex Monkey是面向Flex应用的测试框架, 它可以对Flex UI功能进行捕获、重放以及确认, 可以记录并回放Flex UI的交互并生成Action Script测试脚本, 这些脚本可以轻松集成到持续集成过程中。

邱元阳:Flex开发过程通常使用已经含有Flex 4 SDK的Adobe Flash Builder, Flash Builder环境下所有的Flex开发都基于Flex SDK框架, 该框架为你提供可重复使用、可扩展的UI组件、数据获取服务和事件处理模块等。它包含对智能编码、调试及可视设计的支持, 提供功能强大的测试工具, 这些工具可以提高开发速度并创建出性能更高的应用程序。

Flex还有一些应用框架可以提高编程生产率及改善产品质量, 2008年推出的一些Flex/Action Script框架对于Flex使用率的提升功不可没。他们是Cairngorm、Pure MVC、Model-Glue:Flex、Foundry、Guasax Flex Framework、ARP、Flest Framework、Easy MVC以及Adobe FAST。从那以后涌现出了越来越多的框架, 这些框架丰富了Flex开发生态圈:

Ruboss这个Flex框架集成了Ruby on Rails和Merb。它还有一个RESTful接口以与Adobe AIR的嵌入式SQLite数据库进行通信。Ruboss框架与Rails和Merb应用的关系就好像是Adobe Live Cycle Data Services ES与J2EE应用的关系一样。

Mate Flex框架发布于2008年, 其目的是简化事件驱动的Flex应用开发。Swiz是面向Flex的Io C框架。它并没有太多的强制要求, 如目录结构或是样板代码等, 这一点与其他框架如JEE大不相同.Prana是又一个面向Action Script的Io C框架, 它基于Spring框架的XML方式进行开发。

Jump Ship是个Action Script MVC框架, 包含了标准的数据模型以进行自动化的数据分类、枚举以及搜索。它反对在框架中使用单例模式, 而单例模式在现代的软件框架中得到了广泛的应用。

GAIA是面向Adobe Flash的前端Action Script框架, 支持Flex Builder.Razor是个Action Script组件框架, 对常用的Flex组件提供了另一种选择.Flight Framework是又一个Action Script框架, 支持MVC及其他设计模式。

刘树明:从本质上来说Flex仍是客户端技术。利用Flex技术, 还可以构建RIA电子商务网站, 实现HTTP的断点续传, Web方式下的在线音视频, Web方式下的图形化拖拽操作和动态图表等。目前也有基于Flex技术的网络硬盘, 甚至能实现仿真实验网络平台。国内外的一些大型的网站, 如Slideshare、Youtube、豆丁、优酷等, 在知识管理的核心技术上都采用了Flex。也有一些网站的应用并不是采用单一技术, 而是采用多种技术的组合, 如WEBQQ, 其客户端主要是采用AJAX, 服务器端通讯的接口又是采用Flex (也许是因为需要加密数据接口的用意) 。随着技术的发展, 更先进的技术可能会替代类似Flex的RIA技术, 也可能是与之长期并存。

Flex技术 篇2

本教程将学习:

一、使用MXML去创建行为,

二、在不同的组件间调用效果。

三、创建合成效果。

一、使用MXML去创建行为。

下面我们将制作一个当用户点击按钮时按钮会发光的效果。

1.在Source模式下,在后输入下面的代码,定义一个发光效果。

2.在Design模式下,从Componsents面板中拖一个按钮到应用程序中,并设置按钮的属性如下:

ID:myButton

Label:View

X:40

Y:60

3.在属性面板中,点击View by Category视图按钮。并找出Effects类型的属性。

4.将mouseUpEffect赋值为发光效果。如下:

mouseUpEffect:{buttonGlow}

在Source模式下,标签代码如下:

5.保存文件。

6.点击工具栏上的Run按钮编译应用程序。

浏览器会运行你的Flex应用程序。点击View按钮。View按钮就会执行标签的发光效果。

二、在不同的组件间调用效果

下面我们将制作一个当用户点击按钮时Label组件将出现一组从模糊到清晰的数字。

1.在Design模式中,从Components面板中拖一个Label组件到应用程序中,并设置Label属性如下:

ID:myLabel

Text:4815162342

X:40

Y:100

2.转换到Source模式中,定义模糊效果,在标签下输入如下代码:

3.在标签中指定Label组件为模糊效果的目标组件:

4.在标签中指定click事件为模糊效果:

5.在标签中,设置visible属性为false来隐藏Label组件:

6.当用户在点击View按钮时,设置Label组件的visible属性为true来显示Label组件:

完整的代码如下:

7.保存文件,

8.点击工具栏上的Run按钮编译应用程序。

浏览器会运行你的Flex应用程序。点击View按钮后就会有一组数字从模糊变为清晰。

三、创建合成效果

下面我们将制作一个当用户点击按钮时Label组件将出现一组从模糊到清晰的数字并且Label组件从上向下移动20px的位置。

1.在Source模式下,在标签前输入如下代码:

2.将全句标签剪切到前。将成为

的子标签。

3.标签中,选择target=”{myLabel}”,并剪切到中,如下:

4.定义移动效果。在标签后输入如下代码:

Label组件将在2秒中下移20px的位置。

完整的标签如下:

5.在标签中,改变click事件的效果设定为BlurMoveShow,代码如下:

6.保存文件。

7.点击工具栏上的Run按钮编译应用程序。

Flex技术 篇3

关键词:主机角度编码器 多用途控制器(FCM-20) 高压共轨液压驱动系统 高压共轨燃油系统 智能化燃烧控制

A部分为传统部分在电喷主机被取消部分 传统型号RTA主机

B部分是替代传统部分 电喷及电控主机

从简图可以看出,电喷及电控柴油机采用新型技术,把过去传统型号RTA柴油机的凸轮轴、启动空气分配器、燃油高压油泵、机械VIT等,由主机角度编码器、WECS-9520系统及各缸的FCM-20控制、高压共轨液压驱动系统、高压共轨燃油系统、智能化燃烧控制来替代。

一. RT-flex工作原理

单缸控制主要有WECS-9520系统的FCM-20模块提供燃油喷射定时控制,启动阀定时控制,排气阀定时控制气缸注油控制。信号来源由曲轴转角发送器,外部油门指令等提供,通过数据总线,输入给WECS-9520,WECS-9520给出控制信号,控制燃油喷射定时控制,启动阀定时控制,排气阀定时控制,多点气缸注油控制。

二.网络和通信及控制

WECS-9520系统主要由多个FCM-20模块组成,每个FCM-20模块可以互换,只是外部接线有所不同。控制系统采用CANopen.MoudBUS进行内外通信,把每个缸的FCM-20模块联络起来,组成WECS-9520系统。网络采用A网和B网进行沉余,模块沉余采用热线备份(如图E90为备用模块和系统处于热线连接,但不参与控制),控制系统采用了自诊断,自识别,程序自动激活,更新备用模块后,应用程序自动导入,提高了可靠性和维护方便。WECS-9520系统只是柴油机内部控制,不包括主机遥控、安保、调速器功能,只有应急停车的执行由WECS-9520执行。

控制核心之:

喷油控制(ICU):

智能化燃烧控制

1)智能化燃烧控制目的

-在相同情况下实现最小燃油消耗;

-减小维护和保养费用;

-减小船员维护保养工作量及技术管理难度;

-更安全更方便和最低费用消耗;

-燃油消耗可以节油3克/千瓦;

-可以根据燃油品质进行补偿;

-能够自动调节压缩压力和燃烧压力;

-可以设置IMO排量数值及控制。

2)如何实现智能化燃烧控制

为了达到低排放和提高柴油机使用寿命,必须采用闭环控制(也就是智能化控制)

3)瓦锡兰公司还提供一套时时分析系统(flex-view),对主机缸套状态进行分析,结合人机对话界面,随时调整主机工作状态,进行主机智能化控制提供数据。

4)没有智能化控制与闭环智能控制数据对比:

采用电喷和智能化控制,提高了单缸压缩压力和燃烧压力,排放值可以通过人机对话节目设定。同时各缸热负荷和机械平衡度大大提高,从而提高燃烧效率,减小机械负荷,提高柴油机寿命,由于燃烧效率提高,达到更低碳,能够满足国际海事组织和各国政府机构对于排放标准要求。

小结:瓦锡兰RT-flex柴油机电喷系统特点

1)柴油机内部控制系统由WECS-9520系统控制;

2)柴油机外部控制:柴油机安保、电子调速器、报警系统不是属于WECS-9520系统(可以选择不同厂家产品),外部控制设备通过通信方式进行,如燃油油门指令等,WECS-9520只负责柴油机内部控制。

3)通信系统主要由CANopen System Bus, CANopen Module Bus,ModBus,SSI Bus 方式进行内外通信。为了提高通信速度,曲柄转角发器的信号通过SSI Bus 数据总线发送给WECS-9520系统。

4)柴油机排放标准(IMO),压缩压力和燃烧压力,应急鼓风机启停请求压力,柴油机的VIT,柴油机的排气阀控制等都可以通过人机对话界面对参数可方便进行调整,减小过去传统的机械式调整方法和人为误差。

5)由于采用光电式曲柄转角发送器,使得柴油机曲柄和活塞的位置更精准。为柴油机性能提高提供了基础。

60燃油系统和液压控制系统采用了高压共轨技术,使得喷油更精准,燃烧更科学。

7)由于电喷取消了传统的柴油机的很多机械部分,减小了过去大量维护工作,减小了船员工作量。

8)由于采用了闭环控制,通过设定能够达到人们需要的排放标准及智能化调整柴油机参数,柴油机寿命大大提高。

Flex技术 篇4

关键词:Flex技术,AIR技术,富互联网应用系统

0 引言

随着数字媒体技术的不断发展, 互动类展示平台的交互形式也多种多样。设计一个交互平台并不难, 但要设计出一个能让用户快速掌握浏览规则并能够沉浸其中, 非常轻松自如地掌握信息展示内容的平台, 这并不是一件容易的事[1]。互动展示平台不仅仅要满足其基本的功能性需求, 最关键的一点就是要具备足够的吸引力吸引用户浏览和阅读, 同时操作简单, 方便快速上手。

1 Flex技术

Flex技术是目前最流行的RIA (Rich Internet Application, 富互联网应用系统) 开发技术之一。Flex将基于标准语言和各种可扩展用户界面及数据访问组件结合起来, 使开发人员能够快速构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序[2]。Flex是一个高效、免费的开源框架, 可用于构建具有表现力的Web应用程序。这些应用程序运行在Adobe Flash Player和Adobe AIR上, 运行时跨浏览器、桌面和操作系统, 实现一致的部署。使用Flex可以制作精美的动画效果、丰富的交互式效果, 具有丰富的数据模型和用户交互体验。

1.1 Flex技术框架

Flex技术框架主要包括FlexSDK、MXML、ActionS-cript三部分。

(1) FlexSDK。这是Flex的软件开发工具包, 它包括Flex的基础类库和编译器, 其主要作用是负责将MXML和ActionScript有机结合起来, 生成客户端浏览器就可以识别的SWF文件, 其功能十分强大[3]。

(2) MXML。这种框架是通过基于XML语言来实现的, 通过该语言程序来描述浏览器的应用程序界面, MXML标签与ActionScript类或者类中的属性是相对应的。当编译器编译Flex应用程序时就会生成相应的ActionScript类文件, 然后被编译成SWF字节码存储到SWF文件中。

(3) ActionScript。是一种脚本语言, 用来定义客户所需要的逻辑, 以及对程序进行相应的控制。它把Flash所显示的内容和应用程序有机结合起来, 实现彼此交互、数据处理等功能, 有效地显现了系统的实用价值[5]。

1.2 Flex运行原理

FlexSDK是将Flex代码编译成SWF文件, 然后再部署到相应的浏览器中, 通过FlashPlayer在客户端执行SWF文件, 就能够达到访问的真正目标。而且, 在以Web为主要显示平台的应用中大都使用了Flex的分层结构, 遵循MVC (模型/视图/控制器) 的设计模式, 能够将表现层与业务逻辑层进行有效分离, 之后业务逻辑层主要负责业务逻辑的相应处理工作, 控制层主要负责处理用户的交互, 表现层主要用来负责处理结果的展示[4]。

2 实现过程

2.1 需求分析

本设计需求为展示某大专院校建校以来历年的重要事件。事件的信息来源于该校建校以来历年的图片搜集和文字资料汇总, 设计目标是能够以便捷的操作、唯美的画面、丰富的信息量, 充分展示建校以来的信息内容。

2.2 信息平台总体功能框架设计

在平台总体功能框架设计方面, 笔者从用户的角度出发, 设计了两大模块, 分别为数据录入模块和信息展示模块。数据录入模块的设计目的是方便数据管理员对数据进行高效率录入和信息整理, 主要负责提供图片和对应文字的输入, 后台的操作主要以xml文件形式进行动态创建和图片文件的归纳整理。信息展示模块对所生成的xml文件和相关图片资源文件进行动态载入, 完成展示信息的功能。总体功能框架见图1。

2.3 数据录入模块实现

数据录入界面采用Flex组件进行开发。在新建的Flex项目中将组件面板中相关的组件拖拽到编辑区进行布局即可。这种操作方式简单又便于界面布局。数据录入端主要以图片和对应文字解说为录入内容, 后台会根据用户录入信息进行归纳和整理, 生成xml文件, 主要技术包括文件存储和xml文件的设计与读写操作。传统的Flash库文件开发包无法对本地文件进行读写操作, 笔者采用FlexSDK中的AIR技术, 实现了文件的本地或异地读写操作。xml文件的设计目的是完成输入数据的信息整理工作, 记录展示信息的关键内容。用户每次输入的数据以节点的方式动态追加到xml文件。xml文件节点设计如下:

-2000年0.jpg图片对应解说词-

xml文件创建的关键代码如下:

xml文件写入数据的关键代码如下:

saveToXmlFile () 函数的具体实现方法如下:

2.4 信息展示模块实现

信息展示模块的主要作用是动态加载xml文件和图片信息, 对所加载的内容进行分级处理和展示。在界面的设计上, 采用Flex设计模式布局, 共设计三级页面, 一级页面以年代作为分类索引入口, 根据用户选择的年份进入二级页面。二级页面展示所选年份所有文字图片信息, 三级页面展示具体事件的文字图片信息。类结构见图2。

为了增加画面的视觉效果, 笔者选择TweenLite动画引擎为展示平台的一级页面、二级页面和三级页面, 分别设计了不同的动画效果呈现对应内容。一级页面采用以年代为索引的浮动图标, 二级页面和三级页面分为图片浏览模式和文字浏览模式, 针对不同的模式, 设计了不同的的出场动画, 总体运行效果见图3。

参考文献

[1]RUSS UNGER CAROLYN CHANDLER.UX设计之道——以用户体验为中心的Web设计[M].孙亮, 译.北京:人民邮电出版社, 2010.

[2]CHARLES E BROWN.The essential guide to flex 3[M].New York, 2008.

[3]MICHELE E DAVIS, JON A PHILLIPS.Flex3:a beginner’s guide[M].United States of America, 2008.

[4]姜天格.Flex3企业级Web应用系统设计与实现[M].北京:机械工业出版社, 2008.

flex整合Java登陆总结 篇5

1、环境的搭建:

对message-congig.xml配置如下:

Web.xml的配置如下:

BlazeDS

BlazeDS Application

flex.messaging.HttpFlexSession

MessageBrokerServlet class=“flex.messaging.services.RemotingService”>

class=“flex.messaging.services.remoting.adapters.JavaAdapter” default=“true” />

com.wangkun.Login

flex.messaging.MessageBrokerServlet

services.configuration.file

/WEB-INF/flex/services-config.xml

1

MessageBrokerServlet

/messagebroker/*

这些xml文件基本固定。

2、创建Bean类User和Login类

public class Login {

} 启动tomcat,至此myeclipse里的配置结束。

3、在flah builder里创建一个flex项目。public String login(String name, String psw){

} public String login(User user){

}

public User login(){ } return new User(“wang”,“aaa”,33);if(“sss”.equals(user.getName())&&

} return “good”;return “sorry”;if(“aa”.equals(name)&& “123”.equals(psw)){

} return “ok”;return “error”;} else {

“123”.equals(user.getPwd())){ }else{

应用服务器技术类型选:j2ee BalzeDS 下一步之后配置服务器位置:

点击完成。

4、对index.mxml的编写:

首先要在fx:Decaration中配置destination对应于message-congig.xml中的id Result是回调函数,

endpoint=“/flexApp01/messagebroker/amf”>

Fx:script中的代码如下:

import com.wang.asclass.User;

import mx.controls.Alert;import mx.rpc.events.ResultEvent;protected function huidiao1(event:ResultEvent):void { // TODO Auto-generated method stub

var result:String =event.result as String;

]]> } Alert.show(result,“结果”);protected function huidiao2(event:ResultEvent):void { // TODO Auto-generated method stub

var result:User = event.result as User;Alert.show(result.name);trace(result.name);} protected function senddata(event:MouseEvent):void //按确认按钮时 {

} protected function canceldata(event:MouseEvent):void //按取消按钮时 {

}

protected function showdata(event:MouseEvent):void{ //按查询按钮

} loginClientTag2.login();// TODO Auto-generated method stub

var name:String=this.nametext.text;var psw :String=this.pswtext.text;var user :User = new User();user.name=name;user.pwd=psw;loginClientTag.login(user);

// TODO Auto-generated method stub

this.nametext.text=“";this.pswtext.text=”“;

视图:

可创建一个名为User的as类 package com.wang.asclass {

}

[Bindalbe] [RemoteClass(alias=”com.wangkun.User")] public class User {

Flex技术 篇6

Ultra Flex副总裁托德·M·艾迪森说:“在Ultra Flex,我们的目标是以最好的柔印质量从竞争中脱颖而出——最大化货架冲击力,同时提高生产效率和可持续性”;托德·M·艾迪森还说:“提供高实地油墨密度、均匀的油墨着墨、降低网点扩张,能够扩展印刷色域,同时减少停机时间及调机时间、降低材料浪费。我们所面临的这个挑战就是找到一款印版能够帮助实现我们的质量目标,我们在新的杜邦TM赛丽 高性能柔版技术中找到了。”

杜邦TM赛丽 高性能版材是新一代数码版,专门为软包装印刷厂需求而设计。高性能版材卓越的实地油墨密度和宽广的阶调范围特别适用于扩展色域印刷。赛丽 高性能版广泛适用于各种承印物和油墨,因此具有多种用途,包括:软包装、标签和标贴、信封、手提袋、折叠纸盒、预印以及饮料盒。高性能版材有溶剂型(DSP)和热敏型(DFP)两种类型可供选择。

Ultra Flex公司对最新的杜邦TM赛丽 高性能版材进行67款不同SKU产品的大规模测试,在此之前这些项目一直使用传统的柔性印刷版材印刷。他们使用扩展色彩印刷技术印刷过去用专色实地版印刷的背景色,只需更换版辊而且清洗印刷机一次便可完成所有产品印刷;整项作业的背景色差仅不到两个ΔE色差值。基于在初始试验中表现出的高品质结果和简单易用的操作流程,Ultra Flex公司决定使用杜邦高性能版材进行56个新项目印刷。

Ultra Flex公司Ultra Flex印刷经理萨尔曼·佐哈说:“我们不再需要去匹配颜色或人工调整,不再需要进行清洗工作。杜邦高性能版材在实地部分的突出表现是我们前所未见的。这不仅为我们省钱,并且使我们更环保。因此对我们的包装消费品客户也是一个巨大的帮助。”

Flex技术 篇7

1 Flex与服务器端低数据量通信

这是Flex与服务器端的简单通信方式,主要通过HTTPService和Web Service两种组件的访问方式进行通信,两者读取数据的格式不同[1],HTTPService组件访问的是纯文本文件,而Web Service组件主要是访问Web服务。

HTTPService组件方式使用HTTPService组件可以与各种服务器技术的页面传递数据,包括PHP,Cold Fusion,JSP,ASP等。通过设置HTTPService组件的url属性的值,可以读取远程服务器端的数据,客户端可以通过HTTPService组件的result Format属性设置输出的格式。

下列代码是在服务器端创建一个PHP文件,并从my_sql数据库中读取数据。

在客户端通过创建Flex项目,调用HTTPService组件访问远程的服务器程序,请求结果集。代码如下:

使用HTTPService组件除了可以读取远程服务器数据之外,还可以和传统的HTML页面中的表单Form一样,使用POST或者GET提交数据。要提交数据,需要设置HTTPService组件中的method属性。

例如:

使用Web Service Flex应用程序通过使用Web Service组件可以使用Web服务定义与远程服务器通信的接口。Web服务使用标准的WSDL描述格式,所以不需要格式转换,就可以轻易地做到数据交换。

在Flex中提供了相应的Web Service组件,该Web Service组件支持SOAP消息格式,SOAP定义了基于XML格式的数据交换类型。Flex通过该组件可以与所有支持SOAP消息格式的,提供Web服务的服务器端程序通信。操作方法:先在Flex应用程序中创建一个Web Service组件,接着创建表单Form组件提交数据,创建Data Grid组件显示数据,在服务器端,无论程序使用什么技术,最后生成的SOAP消息都是一样的。

另外,Flex中还提供了Web Service类访问Web服务。具体应用如下:先在Flex应用程序中创建一个Web Service类的对象,再设置Web Service对象的相关属性,并添加相关的事件代码。主要代码如下:

2 Flex与服务器端大数据量通信

Flex提供RPC服务方式的Remote Object组件与后台服务器端进行大数据量通信,虽然基于Flex技术开发的客户端应用程序不需改动就可以与服务器端进行通信,但是不同服务器的技术不同,它们之间的数据通信技术接口也有些不同,下面详细介绍FABridge,Cold Fusion,AMFPHP,Fluorine Fx,Blaze DS,LCDS,Red5等接口技术。

2.1 Flex与Ajax

FABridge是一个小型的代码库,通过这个接口,可以实现Flex与Ajax互相通信。Ajax是利用Java Script和XML技术,出现的一种新的代码框架技术。Ajax并不是一个新技术,只是利用了Java Script脚本中某些对象和方法,与远程服务器端通信。把更多的数据处理转移到了客户端,优化了浏览器与服务器之间的传输,减少不必要的数据往返,也减少了带宽占用时间,还减少了Web服务器的处理时间,从而实现了更好的用户体验。

Flex与Ajax同样都是客户端技术,Flex最终会被编译成SWF文件,而Ajax不会,Flex与Ajax两者结合实际上是利用各自的优点:Flex的表现力更强,而Ajax的响应速度更快。

FA Bridge类库整合了External Interface类,而External Interface类在Action Script类库中提供了更加强大的技术,因为External Interface类是一个应用程序编辑接口,负责Action Script和Java Script之间的通信。FABridge类库主要包含了2个文件:FABridge.as和FABridge.js,通过使用FABridge.as中的FABridge类可以访问Java Script数据;通过使用FABridge.js中的FABridge函数就可以访问Action Script中的数据。在Flex中通过这2个文件可以达到两者相互访问的目的,具体应用如下:在Flex应用程序项目右击,选择Create Ajax Bridge选项,创建FABridge桥,系统自动生成2个主要文件FABridge.as和FABridge.js,在FABridge.as的main.html文件内添加一个Flex的回调函数init Callback(),获取和设置Flex中控件的值;在FABridge.js的main.mxml文件中创建一个FABridge组件和Text Input文本框控件。

操作方法如下:创建Flex应用程序时,在服务器类型选项中选择Desktop application(runs in Adobe A I R),在服务技术选项中选择Cold Fusion Flash Remoting,接着创建Cold Fusion服务器程序文件和Flex代码destination表示远程服务器的类型,source表示调用Cold Fusion服务器的文件名称。Cold Fusion中已经内置了可以直接调用.NET类库。

2.2 Flex与PHP

P H P是一种开源的We b开发脚本语言,通常是嵌入在HTML页面中,也就是一个PHP与HTML代码的混合文件。通过AMFPHP,Flex可以与PHP无缝通信,从而创建客户端表现力更强的PHP应用程序。AMFPHP是PHP的RPC工具,是一种客户端与服务器交换数据方式。它可以调用本地对象带有不同参数的方法,设置回调并接受调用结果,而不用关心发送和接收数据的实现细节。

应用操作如下:先在服务器端AMFPHP项目的services目录下创建服务器端PHP代码文件,接着在客户端创建Flex应用程序主MXML文件中,再添加访问远程服务器端的PHP程序。其主要代码如下:

2.3 Flex与.NET

.NET是一种功能强大的开发框架,包含了一套成熟的开发工具Visual Studio.NET。使用.NET框架既可以开发Windows应用程序,也可以开发的Web应用程序。同时它提供多功能的应用程序执行环境、简化开发以及多种开发语言之间简易的整合。Fluorine Fx提供了一个Flex/Flash Remoting的接口,用于访问.NET,所以使用Fluorine Fx可以轻易地实现Flex与.NET之间的通信。具体应用如下:服务器端打开Visual Studio.NET,通过添加新项目Fluorine Fx Serive Library,可以使用不同功能的代码分离,这样更容易管理和维护项目代码。接着添加新网站Fluorine Fx ASP.NET Web Site并确定存放位置。客户端选择创建Flex应用程序类型为ASP.NET,项目属性设置为Flex Compiler Flex,编译参数-services“services-config.xml”,services-config.xml文件是ASP.NET站点中包含的配置文件,可以把路径直接指向该站点目录,也可以把该配置文件复制到Flex目录中,通常情况下需要修改配置文件中endpoint节点的uri属性值即可,也就是把uri属性指向远程.NET服务器的网关文件gate_way.aspx。

2.4 Flex与Java

Java语言是全世界最流行的语言之一,具有跨平台、高性能、健壮、安全、结构中立、可移植性等特点,拥有大量丰富的开源项目,也大大促进了其发展。实现Flex与Java的即时通信把二者连为一体成为更强的强者,可以采用Blaze DS,LCDS(Live Cycle Data Services),Red5(流媒体技术)等项目实现,特别是Red5为开发网络在线游戏提供了一个简单易行的方案。

Blaze DS是一种开源的项目,是一种基于服务器的Java远程控制(remoting)和Web消息传递(messaging)技术,它能够使得后端的Java应用程序和运行在Flex客户端的应用程序相互通信。具体应用如下:服务器端编译Java源文件并连同包(package)目录一起保存在classes目录中,进入Flex配置目录,打开remotingconfig.xml文件添加destination节,其中<source>指向Java类路径,系统会根据路径找到Java类,ID属性可以定义,但是必须与Flex中Remote Object组件中的destination属性值一致。系统会依据destination属性值找到配置文件对应的节,从而找到Java类并调用。创建项目时选择J2EE服务器类型,若不选择需要在项目属性设置编译参数和Flex服务器参数。

当然除了Blaze DS外,还有LCDS(Live Cycle Data Services),Red5(流媒体技术)等项目可以实现Flex与Java的通信。LCDS技术的前身是FDS(Flex Data Service),同Flash Remoting一样是通过AMF(Action Script Message Format)的数据格式与服务器端进行通信。LCDS提供了Remoting,Data Management,Messaging共3种与服务器端的基本通信方式。这3种通信方式可以实现在对象层面与服务器端的通信,这样与服务器端进行通信时就会涉及数据类型转换的问题。LCDS与服务器端通信的通信结构是前端的SWF发送Action Script调用,再由LCDS转换为针对Java的调用,最后Java代码完成于数据库的通信以及业务处理。

3 结束语

Flex提供了四类实现与服务器端的通信:HTTPService,Remote Object,Socket,Web Service。另外还可以根据外部中间插件让Flex客户端与服务器端进行通信,如Blaze DS,LCDS,Red5。Flex客户端与服务器具体通信情况见表1。

表1 Flex客户端与服务器端数据通信情况表

目前,Flex的数据通信技术可以实现与已有的开发工具、设计语言、应用服务器和数据库结合起来,将基于Flex技术的用户界面与现有的业务逻辑组件或Web服务连接起来,不需做任何改动,并且Flex开发技术可以增加表示层的表现力,又可以提高现有应用程序运行的效率。同时,使用Flex技术进行开发设计RIA应用程序,开发效率大大提高。同样,设计开发面向数据管理方面的应用程序,使用Flex技术更符合开发设计者的习惯,开发效率也会比Flash高出很多倍。

参考文献

[1]吕辉.Flex从入门到实践[M].北京:清华大学出版社,2009.

[2]钱海军.基于Flex的服务器通信技术[J].广东交通职业技术学院学报.2012(4):15-17.

[3]百度百科.RPC[EB/OL].(2014-12-4)[2015-1-12].http://baike.baidu.com/view/7287257.htm.

Flex技术 篇8

本文设计出具有独立性的功能完备多媒体智能答疑系统。在这个系统中综合有信息检索等多种技术和工具,使得能够同时开展离线答疑以及在线答疑等形式,系统拥有下列这些优点:(1)在线交流途径的丰富提升答疑的效果;(2)离线交流提升答疑的灵活性;(3)智能答疑库功能有效增强答疑效率。系统总体设计如下:

1 系统功能结构设计

多媒体智能答疑管理系统的功能结构设计是以需求分析的用例模型和参与者模型进行的,将系统划分为系统管理、信息发布管理、教学资源管理、智能答疑管理以及个性化学习管理等模块。功能结构具体如图1 所示。

2 FLEX实现

本系统能够在UML中Use Case Diagram建模组件,并且借助于Flex技术以及Adobe Flex Builder 3 工具来开展软件工程塑膜组件的设计,如果设计人员对Action Script比较熟悉,那么采用Flex技术进行开发工作将会更加高效快捷,而对于那些不熟悉的人员,也能够很快的掌握,下面将对本文所采取的建模组件内容展开论述。

2.1 展示层

展示层主要采用Flex技术进行。对于建模组件中任意对象,均有着相同的原理,主要是在Canvas这个最外层中,将Canvas 、Text 、Label等相关组件进行涵盖,并且将内外层的全部物件封装为独立的整体,Canvas反映了该对象的主体内容,从而也就实现这个系统Use Case Diagram建模组件中基本对象的建立,为后续的研究和实践工作奠定基础。

当前,在系统中Use Case Diagram建模组件,主要包括association、include 、extend 、system 、use case、actor等这些对象。

在用户借助于软件工程建模组件的过程中,能够运用存盘操作,也就是将所有组件相关的信息进行有效保存,然后转换为所需要的格式,以实现在远程服务器中保存。

2.2 业务逻辑层

Actor主要是由Canvas作为主体,并且在内部由线段以及圆来形成小图,同时在textarea内能够进行文字的输入和填写。可以知道的是,Actor的小图也属于非必要的内容,这是由于线段以及圆均无法进行更改,即便没有存储这方面的数据,在进行还原actor图形操作时依然能够保持原有的格式,不会对最终的画面效果产生影响。

此处,能够被我们记录并且调整的内容是Canvas的id以及坐标数据,同时actor中的textarea输入框所存储的数据也将会进行存储操作,textarea的相关属性会按照text的数字增减变化而进行调整,所以textarea的width以及height属性数据也会进行存储。对于单个actor来说,需要执行存储操作的内容主要是「actor Main」、id 、x、y、text 、width以及height等数据,而「actor Main」指的是用例识别actor所需要存储的对应内容和数据。

2.3 数据访问层

数据访问层能够实现封装以及处理相关的系统数据,借助于持久化对象处理以及其他功能,能够完成对物理表的有效关联,为系统数据的后续操作提供帮助。当需要插入或者编辑相关记录时,应当按照业务逻辑层所反映的参数信息作为基础,然后在物理表内开展遍历操作,从而获得需要执行相应操作的记录位置。

3 实现效果

3.1 个性化学习管理实现

学习管理模块的实现主要体现个性化学习的管理和功能,其涉及的功能主要包括课程学习、在线测试、课程学习效果反馈、课程成绩汇总等管理功能。

通过对学习内容以及课件资源等进行排序,同时对排序的内容设置相应的简介内容,使得Web挖掘能够更加高效的进行个性化学习推荐。对于那些推荐指数较高的课件可以将其放置在更加有限的顺序,使得学习者能够更加快捷和方便的获取内容。

借助于分析和研究能力数据和难度数据,从而实现对Web挖掘功能和效果的分析与判断。利用对学习者的学习活动进行实时研究和分析,并且把其学习数据和操作活动进行详细记录,然后对其展开分析和评估,使得系统所推荐的内容和资料能够更加符合学习人员的需要。

借助于模糊项目反应理论的相关内容,使得系统能够更加高效的开展课件推荐活动,并且还能够实现个性化学习的相关功能。借助于模糊项目反应这项方法和工具,使得学习人员的数据和资料能够及时更新,然后按照更新后的内容进行课件推荐,并且课件的难易程度以及内容也有效符合学习者的实际情况,从而提升学习人员的学习效率。

3.2 智能答疑管理实现

智能答疑管理可以实现小组管理、任务管理、小组论坛、智能答疑以及资源共享等管理。

3.3 教学资源管理实现

教学资源管理包括作业资源和考试资源。其中教学资源的作业资源又通过学习资源下载、在线作业提交以及查询个人作业三个子菜单的形式进行体现。

3.4 系统管理实现

系统管理的实现,不仅要实现有关用户登录、用户管理、日志管理等日常管理功能,还要对其中的统计和分析进行支持。

4 系统测试

借助于测试用例能够判断程序能否有效符合用户的功能需要,对于测试用例而言主要包含输入内容、满足要求和测试数据。在进行测试时,需要事先制定对应的测试用例;如果测试用例越多,所获得的测试结果以及测试数据越能够准确和科学;借助于不同的测试用例,能够针对系统和程序开展不同的功能测试;值得注意的是,如果测试用例过多时,也将会使得测试工作量大幅增加;并且测试用例增加的时候,测试将会占用的资源也将会相应上升。因此,设计测试用例的时候需要综合考虑多方面因素,确保其数量是较为科学合理的。当进行测试活动时,测试用例具有十分关键的作用,主要体现在下面这些内容:(1)设计测试用例:当准备测试活动的时候,需要进行测试用例的设计;(2)确定测试目标:通过确定测试活动的具体目标,使得测试能够更加规范开展;(3)确定需求满足:借助于相关数据来确定其满足程度;(4)优化功能:通过优化功能来提升系统以及程序的性能。

对于远程教育学习系统的个性化而言,能够借助于功能、集成、性能以及回归等当面的测试活动来完成测试工作。

集成测试以及功能测试应该由企业的工作者来开展,性能测试以及回归测试需要由用户以及企业工作人员合作开展。

5 总结

本文是针对多媒体智能答疑管理系统研究与实现的归纳与总结,系统的业务管理是在分析远程教育和智能答疑存在缺陷的基础上进行,系统的设计与实现则融合了FLEX技术、Java开发技术、框架技术以及对象模型等手段。通过系统的建立,使得智能答疑管理和个性化学习管理更加智能化、规范化以及标准化,有助于形成远程教育的标准,并推动个性化学习的应用。当前,智能答疑管理系统已经投入试运行,对提高系统的可用性、扩展性以及灵活性具有极其重要的作用。

在研究与实现多媒体智能答疑管理系统过程中,所做主要工作包括:(1)结合智能化学习和远程教育存在的缺陷,对多媒体智能答疑管理的实际需求进行调研,并归纳主要业务需求;(2)结合个性化学习和智能答疑管理的业务需求,进行主要功能模块对象模型和挖掘模型的建立;(3)完成系统主要功能模块的详细设计,并对智能答疑和个性化课程推荐的过程和模型进行设计;(4)将FLEX技术和整合框架技术应用到多媒体智能答疑管理系统中,实现业务功能和数据挖掘功能;(5)进行功能和性能测试用例的构建,验证业务需求的具体要求。

参考文献

[1]刘照然.远程教育中智能答疑系统的研究与实现[D].西安电子科技大学,2015.

[2]闻峥.基于Lucene的搜索引擎优化[D].北京交通大学,2013.

[3]崔龙卫.基于P2P的音视频通讯系统的研究与设计[D].武汉理工大学,2014.

[4]邓丹君.基于Lucene的垂直搜索引擎关键技术研究[D].武汉理工大学,2014.

[5]庞振.基于Flex+Red5的实时语音交流平台的研究与实现[D].北京邮电大学,2013.

[6]刘建强.基于远程教育的网络智能答疑系统的研究与设计[D].西安电子科技大学,2014.

[7]黄晨.软件智能使用辅助引擎[J].福建电脑,2014(4).

[8]傅向.内容过滤技术在反垃圾邮件系统中的应用[J].电脑与电信,2013(7).

[9]鲍光余,朱东海.基于潜在语义分析的农户个性化推荐系统的研究与设计[J].计算机与现代化,2014(1).

Flex技术 篇9

面对全球性的电影观看热潮,加上大众对视觉效果和环境的需求,电影院独有的互动效果和场内气氛吸引了越来越多的观众。传统的影院售票采用人工售票的方法,该方法不仅效率低,而且容易出错。为了满足影院对售票业务进行高效的管理,以及方便用户订票,采用计算机技术和网络技术开发一个影院售票系统,显得非常必要。本文结合笔者研发的基于Flex和Java框架的影院网上售票系统,阐述如何运用Flex和Java框架技术开发一个功能完备、性能稳定的影院网上售票系统。

二、系统需求分析

影院网上售票系统是一个以数据库、Web应用技术为基础,涉及影片管理、票务处理各个环节的复杂系统。开发该系统目的在于促进影院售票管理的科学化、规范化、信息化,为消费者和管理人员提供便利。通过进一步理解需求,系统应具有如下功能:(1)消费者在未登录前可进行登录、注册、搜索、浏览等基本操作;(2)消费者在登录后可使用网上订票、查询自己的订单以及积分兑换等会员功能;(3)影院工作人员登录后可执行影片管理、用户管理、场次管理、订单管理等操作。

三、系统设计

1、系统技术架构设计

系统表现层采用Flex开发技术,代码编译成为SWF文件,客户端只需一次加载即可体验丰富的交互功能[1]。业务层采用Java主流框架技术Spring和Hibernate,这样可以很好地将业务层与数据库层分开管理。层间链接采用的是Web Service技术,只需完成配置文件,即可方便调用连接。系统采用Tomcat作为应用服务器,数据库则采用My SQL。良好的分层设计可以使系统层次清晰,便于系统维护和升级。

2、系统功能模块划分

通过需求分析,可以将系统分为用户和管理员两大功能模块。该系统具体功能模块划分如下:(1)用户功能模块包括搜索影片、网上订票、注册登录等功能;(2)管理员功能模块包括用户管理、影片管理、放映管理、订单管理。

3、系统平台设计

开发平台:Windows 2000 Server,Adobe Flex Builder 3,My E-clipse 6.6,Tomcat 6.0,My SQL数据库。

发布平台:Windows 2000 Server,Tomcat 6.0,My SQL数据库,已安装Flash Player插件的浏览器。

4、数据库设计

根据需求分析和系统功能模块划分,可在数据库中建立5张数据库表,分别为管理员表、用户表、电影表、放映表、订单表。其中,管理员表包括管理员的ID、名称和密码等;用户表包括用户ID、用户名、密码、电子邮箱、地址和电话等;电影表包括电影名称、导演、演员、所属地区以及放映语言等;放映表包括电影名称、放映时间、放映厅、票价等;订单表包括订单号、订单用户、放映号以及座位号等。

5、系统界面设计

系统采用Flex组件快速有效开发应用界面,而Flex页面设计使用MXML语言,其界面展示效果非常优秀。界面设计的主要页面包括:平台首页、搜索页面、订票页面、影片管理页面、订单管理页面、放映管理页面等。

四、系统实现

1、数据持久层实现

系统的数据持久层是在Hibernate框架上实现的,由该框架负责管理数据库连接以及与数据库的交互,并且提供程序对象与数据库的关系映射。

2、业务层实现

系统的业务层是基于Spring框架实现的。利用Spring框架的依赖注入,将数据持久层中的相关DAO注入到业务层中供其调用,利用Spring的面向切面编程,对业务层中的相关方法实现事务处理[2]。

3、We b S e rvice的发布与使用

系统的所有功能都通过Web Service向外发布,客户端通过调用相关的Web Service来实现相应的功能,并实现与操作用户的交互。因此,服务器端的Java程序需要通过安全的Web服务对外开放,客户端需要使用服务器端开放的服务接口,实现表现层的功能。

五、结语

由于影院网上售票系统综合运用了Flex界面技术、Web Service技术以及Spring和Hibernate等Java框架技术,因此系统具有较好的稳定性和可扩展性。另外,该系统的设计与实现是基于B/S模式的,消费者和影院工作人员只要在客户端通过浏览器就可以在网上进行交易和管理,极大地提高了工作效率。总之,该系统设计合理,运行良好,具有较好的应用前景。

参考文献

[1]聂晓霞.Flex从入门到精通[M].北京:清华大学出版社,2008.

Flex技术 篇10

企业随着互联网技术的普及,网络已成为人们生活中必不可少的一部分。网站作为网络中重要的交互平台,以多媒体为主要形式。多媒体技术基于计算机技术,通过计算机对文字数据、图形图像、动画视频、声音等多种媒体信息进行综合处理和管理[1],并将它们以一定的逻辑关系联系在一起,使用户可以通过多种感官与计算机进行实时信息交互。多媒体技术的发展,丰富了网站的内容,以强烈的感官冲击给浏览者留下印象。

随着网页设计技术的不断成熟与发展,现在国内常见的网页设计有Microsoft FrontPage、DreamWeaver、CSS Design、Flex。Microsoft FrontPage是一款轻量级静态网页设计,目前应用很少;Dreamweaver网页制作软件已成为专业级网页制作程序,支持HTML、CSS、PHP、JSP以及ASP等众多脚本语言,是初学者或者专业网站开发人员必备选择工具;CSS Design是一款适合对CSS进行调试的专业级应用,方便程序调试及效果比对;Flex是美国Adobe公司推出的一系列涵盖了支持富因特网应用程序———RIA(Rich Internet Application)开发和部署的技术和工具组合,是一个高效、免费的开源框架,可用于构建具有表现力的Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR,可以实现跨浏览器、桌面和操作系统。ActionScript 3.0应用于Flex应用的开发,实现应用程序交互和控制、数据处理等功能,更好地呈现动画效果并引导用户过渡到体验动画[2]。利用flex进行多媒体网页设计,可以集合多种flash组件,使多媒体网页更加美观。

在此将主要以Flex作为网站开发的前端,集合JavaEE、BlazeDS组件+MySQL作为网站搭建的服务端,以上海海洋大学校广播台———海大之声声乐资料作为素材构建网站,具体探究基于Flex+JavaEE+MySQL的技术实现模式及成果展示。

1.1 网页架构选择

网络设计架构主要分为B/S架构和C/S架构。B/S架构:Browser/Server,即为浏览器/服务器结构,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端实现,但是主要事务逻辑在服务器端(Server)实现。C/S架构:Client/Server,即为客户端/服务器结构。表1是C/S架构与B/S架构的对比。

多媒体网站设计最大的特色就是具有很强的人机互动特性,满足每个客户对于网站功能不同的需求。又因为Flex网页设计富有大量Flash组件与多媒体特色,因此选择C/S架构模式来搭建网站,C/S架构用于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。同时操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。另外C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

1.2 通信形式的选择

Flex软件以ActionScript3.0为基础主要负责网页设计的前端,连接服务端有很多种形式,Flex+JavaEE模式,Flex+PHP模式,Flex+JavaScript模式,如表2所示。

Flex+Java这一技术组合在2010年就逐渐被业界所接受,现在很多行业的大型企业应用中都运用到了这一技术,如SAP、淘宝、中国移动。主要是因为在网页开发中,可利用Flex开发更好的人界面,其特点有:易用性好、交互性强、外观炫丽。而使用Java则开发稳定且可跨平台部署的业务逻辑。因此,这一组合技术可以快速开发出稳定的、易用的、用户体验良好的应用。

网页后端基于JavaEE,其建立在Java SE的基础上,用来实现企业级的面向服务体系结构(SOA)和Web应用程序。它提供了一个完整、稳定、安全和快速的Java平台,支持Web应用服务器和在Web应用服务器上运行的Web应用的开发。JavaEE提供了一套技术架构,提高了应用的安全性、可移植性和再造性[3]。并且,其在简化开发者视图的同时,最大程度保证了网页的实用性和简洁性。

1.3 后台数据交互方式的选择

Flex程序与服务器端程序进行数据交互有3种通信方式,常见的数据交互形式有以下几种,如表3所示。

3种通信方式特点总结如表4所示。

RemoteObject的AMF协议以一种高效的传输协议代替传统的SOAP、Http协议。通过AMF协议实现RPC通信功能,则称为AMF-RPC。在Java平台可以使用LCDS或BlazeDS实现其功能。

LCDS(LifeCycle Data Service ES)是一个JavaEE服务端组件,用于简化Flex与JavaEE Web应用程序之间的大数据量通信。通过LCDS与服务器端通信,不但可以大大提高通信的效率,而且还能提供传统B/S结构没有的功能。准确地说,LCDS应该是一个代理网关,客户端的Flex应用的程序对服务器端应用程序的请求必须经过该代理网关进行处理,在经过一系列复杂的处理,服务器响应后,再由该代理网关返回给Flex客户端应用程序。

BlazeDS可以看成是LCDS的一个子集,是一个开源产品,因此是人们选择连接服务端的不二选择。在服务器端,BlazeDS以Servlet的方式存在于Java应用服务器上。BlazeDS是一套面向ActionScript的前后台通信框架。它默认提供3种服务,远程调用、访问代理和消息服务。相比LCDS,Blaz DS没有提供数据管理功能,而这个功能对于在RIA客户端展示大型数据,实现客户端和服务器端大容量数据交互处理却有着重要作用。

2 网站功能设计与规划

2.1 多媒体网站———海大之声项目背景

本案例隶属于上海海洋大学广播台“海大之声”,海大之声每天为师生提供两档节目,向师生提供校园资讯,涵盖时事新闻、体育、音乐、情感、娱乐等。然而师生往往因为各种繁忙的事务错过了校园声音资讯,因此,为了解决广播传播稍纵即逝、难以查询和记录的缺陷,设计网站,搭建线上多媒体服务。

2.2 网站设计流程

整个网站的设计如图1所示。

整个网站大体分为注册、应用两大模块,师生可以注册以便更好地体验网站各方面的应用。在应用模块又细分为客户端、管理端两部分,登录时输入管理员用户名和密码便可以登录,管理整个网站的注册会员信息。对于客户端的设计分为3大部分,分别是师生互动留言板、广播台播放器及模拟电子琴小游戏、校园营销图片墙。

播放器完全利用前端软件Flex配合xml文件设计,整个学期的海大之声广播节目都可以通过本网站播放器进行播放收听,基于校园本土化特色与线下广播台的完美结合,不仅提供了每一天节目的收听,同时也连载了本地天气、广播台微博等自媒体频道。

3 基于前端的Flex设计与实现

3.1 技术实现

整个播放器是基于Flex+XML设计的。服务后台中存有XML文件以及相应的音频文件,均按照规定的格式与名字进行命名。整个运行流程为Flex前端调取服务后台XML的数据,对XML中的数据进行筛选与识别,显示在客户端。当用户选中客户端下需要听的广播节目,前端将自动匹配服务端XML文件中相应的音频地址进行读取与播放。

在Flex中有Sound专门的声音类型,可以通过此声音类型控制声音,还有专门的声音通道数据类型SoundChannel便于对声音的大小进行精确地控制。再搭配一个Number和Timer类型记录音频时暂停的时间。

另外在播放音频过程中需要用一个布尔型的变量state记录播放的状态,当音频播放时state=1,表示已经播放,再点击继续播放或者切换其他音频文件时不会重新开启新的一个声道。当音频暂停时,state=0,表示播放暂停,再点击播放时会继续播放。

通过以上几个技术点便可以搭建起一个线上播放器如图2所示。

3.2 模拟电子琴

基于Flex前端的Actionscript3.0语言涉及电子琴主要要考虑如下几个方面:网页响应键盘的应用函数,键盘不同激活状态下的美工(例如按键时网页中的电子琴某一个琴键贴图需要进行切换有所改变,表示键盘按下去了,当松开按键时,网页电子琴的琴键贴图恢复原状),音频素材的对应,Timer计数器的灵活运用。

Flex主要运用响应键盘的函数:

基于addEventListener函数,KEY_DOWN表示键盘按下,KEY_UP表示键盘松开,以KeyboardEvent.KEY_DOWN为例,计算机键盘上的每一个键都有一个模拟的虚拟码,当我们按下某个键时,会触发一个keyboardEvent事件(命名为e),则e.keyCode中便返回了按下键所代表的虚拟码。通过Swtich Case语句便可以控制键盘与电子琴按键的意义对应关系了,核心代码如下:

其中49代表键盘的“1”键,50代表键盘的“2”键…

另外也可以用Timer计时器功能将之前播放的曲子重新播放,首先需要将简谱以“1、2、3”简谱的形式保存在数组中,然后设置计数器,每隔一个时间段触发一次,使得数组中的元素一个一个读取,并播放对应的音频。由此便可以实现电子琴的复播功能。

3.3 海底浮动气泡特效

要实现海底气泡首先需要准备几种不同颜色的气泡作为素材,修改一下其透明度。接下来主要利用Flex中的Time函数设置图片动画刷新频率以及一些数学公式。

首先是创建Timer对象设置一个触发频率即每隔多少毫秒触发一次。接下来可以通过Math.random()确定随机产生气泡的位置以及相对的移动位置:具体代码如下:

创建海底气泡对象:

产生不同大小的气泡:

定义气泡的位置、透明度:

控制气泡的小幅浮动:

4 Flex+JavaEE+MySQL搭建技术实现

4.1 基于Flex+BlazeDS的配置

BlazeDS是一个基于服务器的Java远程控制(remoting)和Web消息传递(messaging)技术,它能够使得后端的Java应用程序和运行在浏览器上的Adobe Flex应用程序相互通信。Flex+BlazeDS的整合搭建大致分为如下几个步骤:(1)安装JDK和Tomcat并且实现成功配置。(2)安装BlazeDS,下载地址(http://sourceforge.net/adobe/blazeds/wiki/Home/)下载的安装包中解压备份blazeds.war文件。(3)利用MyEclipse,建立web项目,解压缩"blazeds.war"文件,将解压后的WEN-INF目录复制到Web工程的WebRoot目录下(覆盖原来的WEB-INF、META-INF目录)。以记事本格式打开"WebRootWEB-INFflex"目录下的"remoting-config.xml"文件,在文件中定义一个远程服务,这样Flex应用程序才能调用这个远程服务。(4)建立Flex工程,整合在MyEclipse中建立的Web工程。

4.2 MySQL的设计与连接

本项目基于Flex+BlazeDS利用RemotingObject通信技术,它直接远程调用Java后台提供的公共接口,连接MySQL,主要技术流程图如图3所示,首先从Flex客户端通过Java向MySQL发送请求,在MySQL中执行SQL语句,返回数据查询的结果,再通过Java返回给Flex前端,在前端对数据查询结果进行判别与分析。

通过Java连接MySQL流程的配置操作具体为:首先将Java连接MySQL的连接方法编写Java代码。然后在WEB-iINF文件夹下Remoting-config.xml文件中添加source,source为实际的建包名路径,并给Destination的id命名。代码如下所示:

4.3 基于Flex+JavaEE设计的网页注册与登录

网页登录实现逻辑:将客户端输入的用户名信息与密码信息两个字符串通过BlazeDS传输到MySQL中,利用SQL语句对数据库进行查询,倘若查询的用户名密码存在,则将信息返回给Flex前端,Flex前端执行登录操作,倘若用户名与密码不匹配,或者用户名不存在则会有相应的提示。

网页注册实现逻辑:将客户端输入的注册信息等多个字符串数值,分别通过BlazeDS传输到MySQL中,利用SQL语句对数据库进行查询,倘若查询的用户名存在,则将信息返回给Flex前端,Flex前端执行“用户名已存在提示”,倘若用户名不存在,则在MySQL数据库中执行insert语句建立新的一行数据。

Flex前端mxml代码如下所示:

同时在Declartions声明中建立RemoteObject:

对于Web服务端一方面需要编写连接MySQL的Java代码,另一方面也需要在remoting-config.xml中相应的destination进行配置source。由此便形成了Flex+JaveEE+MySQL的整合而设计的多媒体网页应用。

5 结语

基于Flex(Flash Builder)+JaveEE+MySQL前后端技术的整合,提出了制作多媒体网页技术的新方法与新应用。分别从基于Flex多媒体网页设计理论技术方法、网页功能设计与规划、Flex前端设计、基于JavaEE的服务端设计等多个方面进行论述分析。该技术对于建立高校多媒体网页设计具有很强的指导意义、功能拓展性强,可以有机地与当今时下流行的O2O模式进行结合,是一种具有创新性的多媒体网页设计模式。

参考文献

[1]孙晓玲.多媒体技术在网站设计中的运用[J].上海艺术家,2011.

[2]汪卫平,袁芳.基于Action Script 3.0的Flash动画设计与制作[J].软件,2014,7:029.

Flex技术 篇11

为迎合海外市场对于界面友好性和特制化等需求,有别于传统意义上的电子商务软件,用Flex 4.0技术的电子商务软件开发平台,可满足电子商务企业对于界面友好性和特制化功能的迫切需求。

Flex技术的出现解决了Flash技术的大部分问题。使用Flex技术开发部署RIA应用程序非常简单。因为Flex技术基于MXML标准、CSS标准、XML标准、ActionScript 3.0标准,所以开发过程更规范、应用程序更容易扩展。

为此,我们使用了最新的Flex 4.0(简称Flex4)版本的技术来对我们的产品进行改进,并在此基础上,实现“基于Flex 4.0技术的电子商务软件开发平台”的产品的研发。对Flex 4.0的功能进行强化,主要体现在以下几个方面:

(1) 集成Adobe Catalyst;

(2) Spark构件架构;

(3) MXML 2009;

(4) FXG支持;

(5) 更新的布局构件;

(6) Flash Builder 4。

本产品首先将对我国的高新技术出口和产业升级做出贡献,因为我们瞄准的是电子商务的高技术市场,采用的是国际上最新的技术和标准。众所周知,软件是知识密集型产品,对于物质资源的消耗很小,不会产生环境污染,是十一五规划中重点发展的方向。

其次,它将促进我国国内的电子商务发展。这是因为海外有较为先进的电子商务应用和运营体系,通过为海外企业开发电子商务软件,可以学习先进的电子商务理念、运营模式和技术,这些都可以用于提升我国国内的电子商务开发和应用水平。

1 项目总体方案

1.1 设计方案

开发工作采用面向对象方法学的基本原则,遵循Flex的构件开发标准,采用层次化的软件体系结构。在整个结构中,基础构件建立在Flex类库的基础上,复合功能构件建立在Flex类库和基础构件的基础之上,而具体的应用系统则遵循Flex应用程序框架,以构件工具箱的构件和Flex类库的API为功能单元, 通过ActionScript和MXML集成而成。所有功能组件整合,形成“基于Flex4.0技术的电子商务软件开发平台”及可选的功能模块,并预留大量接口,方便定制开发功能模块,具有强大的可扩展性。图1描述了整个系统完整的层次化结构和本项目的开发重点。

1.2 方案的优点

1) 提高开发效率

比如说开发一个会议室预定系统,如果不用以下的基础构件,为了实现类似的4块功能(预定、取消、修改、清单),必须开发4个画面,而且每个画面的功能和输入验证等必须分别实现。这样大概需要1周的开发时间。

当使用下面基础构件开发的时候,只需要用一个画面就可以实现同样的功能。并且画面的基本功能和输入验证已经包含在基础构件中,因而只需要一天就可以完成开发。

2) 提升界面视觉效果

通过本项目Flex能够开发的界面视觉效果能得到极大提升,如图2所示。

1.3 技术和实现方法

Flex 4.0中开发构件涉及到的主要工作包括:

分析和设计构件的属性和方法以及类继承和对象组合关系。

分析和设计构件所能发出和接收的各种事件,包括初始化事件、来自鼠标和键盘的各种事件、构件自身能够发出的各种事件、以及这些事件相关的派发和处理功能。

设计构件的样式、纹理、字体实现整体的外观与视觉效果。

编写构件中的各种ActionScript代码、定制构件对应的图标。

版本管理。

把所开发的构件的各种文件包装成为SWC文件集成入Flex系统。

比如对图形构件就进行了如图3所示的分析。

继承于Flex类库的MovieClip .UIObject .Graph()。在这个类的基础上,增加了输出日志、直线图、条壮图、折线图、按钮的3D化表示等功能(方法),如图4所示。

2 开发过程

2.1 基础构件的开发

通过继承Flex标准构件,定义新的构件类。提供构件的属性、方法及事件处理。本系统中开发的基础构件包括:

各个基础构件所实现的主要功能如下:

1) 键控制(KeyControl)

2) 文本输入框(TextBox)

3) 扩张按钮(ExtendButton)

4) 图形(Graph)

5) 甘特图(Gantt chart)

甘特图以时间区间来表示任务/资源的调整和进展状态。这些图表用于展示任务之间如何相互分配,以便企业将资源的使用可视化。

包括制造厂、运输业以及工程管理等许多应用都依靠这些图表进行组织运营以提高效率。

6) 数据网格(DataGrid)

从功能上讲扩充既有的DataGrid,从实现方式上重新开发,即不从既有的DataGrid继承。

扩充的功能包括:

标题及数据可以多行显示;

提供每个单元的显示、编辑功能;

提供下拉框式的输入方式。

7) 服务器连接(ServerConnection)

客户端与服务器的数据通讯构件。客户端与服务器之间的数据通信采用XML格式。该构件实现的是:解析从客户端或服务器接收的数据,把数据转换成各自可以处理的数据格式。

2.2 复合功能构件的开发

此外,本项目还开发了一个较为复杂的复合功能构件VSeller,这个复合功能构件的开发将复用上述基本构件。

VSeller是一个B2B构件,用于企业间电子商务。销售方利用该构件构筑电子商务网站,发布商品信息,允许采购方通过网上查询,选择商品并采购。这个构件的具体功能包括会员登记、商品登记、商品查询、商品选择、商品采购等。

1) 系统构成

本系统的执行环境由以下几个部分构成:

数据库:Oracle

Web服务器端:Tomcat

客户端(Web Browser):Flex

如图5所示。

2) 具体功能

通过基本构件库和复合构件库的建立,所开发的“基于Flex4.0技术的电子商务软件开发平台”可使用户体验到Flex构架下系统各种强大功能以及强烈的视觉效果,同时所有的定制内容开发周期可大大缩短,不论在技术先进性,还是在开发成方面本都具有明显的竞争优势。

3 结 语

本项目是在原有基于Flex 3.0技术构件基础上,通过采用Flex 4.0技术,开发Flex框架中的基础构件库和复合功能构件库,通过大量功能构件的开发,最终形成面向海外中小型企业的“基于Flex技术的企业级信息管理系统”,该产品功能齐全、界面美观、扩展性强、并可定制开发大量功能。

对于软件用户而言,他们得到的首先是焕然一新的用户界面,丰富的界面表达和完善的交互功能将大大改善用户的感受,提高他们的工作热情和工作效率,降低他们的劳动强度。虽然整个系统是部署在网络上的,但使用者无须意识到本地和远程的区别,就可轻松掌控庞大的信息。

与此同时,商务成本也得到了降低。由于构件复用降低了整体开发成本,使得我们的产品具有极富竞争力的性能价格比,对顾客极有吸引力。同时由于整个软件的层次化结构和我们在软件开发过程中的严谨设计和严格的质量控制,用户的软件维护成本将大大降低,这些都将为用户带来效益。

参考文献

[1]Michael Labriola,et al.Flex4权威指南[M].人民邮电出版社,2000.

[2]Peter Herzum,et al.基于组件的企业级开发[M].机械工业出版社,2000.

[3]郑阿奇,等.Flex4开发实践[M].电子工业出版社,2000.

[4]兰天,等.Flex企业应用开发实战[M].机械工业出版社,2000.

[5]杨少波.J2EE Web核心技术:Web组件与框架开发技术[M].清华大学出版社,2000.

[6]施奈德,等.电子商务[M].7版.机械工业出版社,2000.

上一篇:变电站改建的地基处理下一篇:消防防火工作