评论 (

评论 (
2011年07月30日
   基于FLEX技巧的利用架构设计及其利用
  张文
  摘要:FLEX技巧利用不仅满意了人们对WEB利用程序日益进步的须要,它还能兼容原有体系的业务处理模块,这使得原有产品无需从新开发。本文以FLEX工作模式、FLEX常用架构设计、FLEX安排、FLEX利用四方面由内而外的方法,阐述了FLEX工作原理,以及目前FLEX的利用现状。阐述了FLEX在RIA技巧利用范畴的优胜性,希看能带给读者必定的帮助。
  1 引言伴跟着Web技巧的发展以及 Internet 的日益成熟,人们对 Web 利用程序的请求日益进步,希看其承载更多的业务逻辑,帮助人们处理日常生活的一些标题。后续的,跟着无线网络的遍及,随时随地通过无线网络拜访 Web 站点将成为一种可能甚至必须。然而因为 Web 模型是基于页面的模型,缺乏客户端智能机制,所以到目前为止 Web 利用程序对实现复杂利用方面始终跟不上步调,整体的用户闭会后果与桌面利用程序仍然有差距。在这种背景下,RIA( Rich Internet Application )的思维跟 技巧逐步得到了广泛的支撑跟 利用。 RIA 结合了桌面利用程序的在数据交互、用户界面表示、数据格局编排等方面的长处,又兼有 Web 利用程序的零安排、易于传播等特点,可能有效改良 Web 利用程序的人机交互后果,向用户供给更丰富、更存在交互性跟 响应更快的用户闭会。
  2 FLEX介绍2.1 RIARIA(Rich Internet Applications)富互联网利用,存在高度互动性、丰富用户闭会以及功能富强的客户端。
  目前RIA利用技巧中重要有四种主流技巧,分辨为Flex、JavaFX、Curl、SilverLight。就技巧本身而言,四种技巧各有千秋。
  Flex是排版打印软件跟 图形渲染软件巨头Adobe公司在其有名的Flash平台(Flash Player)上,用ActionScript语言开发的一套RIA软件开发套件(SDK)及其集成开发环境。
  Flex SDK由Flex框架类库、Flex编译器、调试器、MXML跟 ActionScript编程语言以及其余工具组成。月嫂从开发出的产品层面来看,经过编译后的Flex利用跟 组件库是一系列可能运行在Flash虚构机中的SWF文件。SWF文件由一系列有次序的"帧"(Frame)构成,"帧"中包含编译后的ActionScript字节码以及所需的数据,比方图像、声音跟 视频。Flash Player按照"帧"的先后次序,"试图"以固定的频率履行每一帧中的代码,以显示图形或者播放动画及语音。
  绝对其余RIA技巧,FLEX有以多少个方面的上风:
  1.完全的浏览器可移植性:任何支撑FlashPlayer的浏览器(涵盖了大部分浏览器)都支撑Flex及其脚本语言ActionScript(AS);
  2.一致的观感:Flex利用的是FlashPlayer引擎,所以它也将供给一致的观感;
  3.二进制数据通信:Flex客户机跟 后端服务器之间的二进制数据传输供给完全的支撑;
  4.客户端缓存:Flex对客户端缓存供给富强的支撑;
  5.流线化(Streaming):Flex上风是对流线化二进制数据供给出色的支撑;
  6.调试跟 编辑器支撑:Adobe开发了一个结实的、hardness tester基于Eclipse的编辑器FlexBuilder,它大大简化了Flex利用程序的开发跟 调试。
  2.2 Flex工作模型Flex编译后的程序(SWF)在Flash Player(Flash虚构机)中通过两个重要部件模块履行,如图1所示。
  图1 Flash Player组成
  ActionScript虚构机负责履行编译后的ActionScript字节码,而图形渲染引擎则用来绘制"显示列表"(Display List)中的图形对象。
  2.2.1 Flash Player的帧履行模型在Flash Player中,ActionScript字节码的履行与图形渲染是两个完全分别的过程。Flash Player播放每一帧时,都按以下步骤进行:
  a.Flash Player发出事件(Event)
  b.用户代码被履行
  c.RENDER事件被派发
  d.最后的用户代码被履行。
  2.2.2 Flash Player渲染模型Flash图形渲染引擎在屏幕上渲染出的"树"状构造的图形对象,只有在显示列表中呈现的显示对象才干在屏幕上呈现。当显示对象从显示列表中移出后,它就不能在屏幕上显示。显示列表树状图如图2所示。hardness tester
  图2 显示列表树状
  处理步骤如下:
  a. Flash在首次加载SWF时会主动创建一个"舞台"(Stage)显示对象,而后主动将这个舞台对象加到显示列表中。
  b.查找SWF文件的主类,而后创建SWF文件主类的实例,并将SWF文件主类的实例作为舞台对象的第一个孩子增加到舞台对象的显示对象列表中。
  c.SWF文件主类加载本人的显示列表中的显示对象,从而构成完全的显示列表。
  3 Flex利用构造设计Flex On Java整体架构通常可划分四层,分辨为展示层、外观集成层、业务范畴层、数据层。如图3所示:
  图3 Flex On Java 体系构造
  3.1 展示层展示层负责浮现各类数据信息与收集各类用户交互数据信息。
  通常情况下展示层应从把持逻辑、界面美观两方面着手,力求在感到(听觉、视觉等)与感情方面都能得到用户的认可。在本架构中,展示层所有浮现数据(VO:值对象)准则上应与外观集成层数据(DTO:数据传输对象)逐个对应。既遵守VO/DTO设计模式,所有展示层浮现的数据信息,都有一组数据信息在外观集成层与之对应。这样的好处是多方面的,可能降落网络数据传输包袱、使展示层与业务范畴层耦合度降落。采取此模式对后期业务的变革与拓展也有着深远的意思。
  上述的VO/DTO模式在EJB等范畴被广泛利用,提到了VO/DTO模式就不得不说远程外观(Remote Facade)模式。在实际利用中Remote Facade则是客户端体系与服务端体系之间的接口,Flex客户端利用RemoteObject对象通过BlazeDS框架调用服务器端的Remote Facade对象中的方法,Remote Facade对象方法令调用"范畴层"中"范畴对象"或"范畴服务对象"的方法实现客户端的恳求。
  3.2 外观集成层外观集成层重要负责将业务范畴层供给的DTO(数据传输对象)通过旁边件(BlazeDS)与展示层交互。
  外观集成层如无特别情况下将业务范畴层供给的数据进行过滤处理,只供给展示层所必须的数据对象。此数据对象(DTO:数据传输对象)只具备基本API方法(例如:GET、SET方法),DTO对象中不波及业务逻辑处理。外观集成层数据对象(DTO:数据传输对象)通过BlazeDS在展示层生成浮现数据对象(VO:值对象),供展示层浮现利用。
  3.3 业务范畴层业务范畴层负责将数据层供给的数据经过相干业务逻辑处理后供外观集成层提取利用。
  业务范畴层与外观集成层分开处理,重要是为了便于内部业务逻辑的处理,降落数据冗余性,降落展示层与业务层的耦合度。数据冗余是指在相应程序模块中,通常情况下内部业务逻辑模块所须要的数据构造项大于等于展示层数据构造项。假如将业务模块中的数据对象直接交由展示层浮现,数据势必产生冗余。不仅造成数据冗余,还将额定增加网络开销。展示层与业务层的耦合度是指尽可能的降落展示层与业务层的关联。当业务范畴层产生业务变革时,咱们只有针对业务层逻辑进行调剂,展示层只负责浮现外观集成层映射的VO对象。rmt避免当业务产生变革时,浮现层也需根据业务进行调剂。或者这只是一个微不足道的细节,但实际利用中,企业级的体系编码量级是极其可观的。假如每次须要变革、功能扩大等情况产生,展示层与业务层都须要调剂,反复的工作量就很可观了。
  3.4 数据层数据层负责将上层利用供给的数据进行长久化处理与供上层利用提取数据。
  3.5 旁边件通常采取BlazeDS作为展示层(FLEX)与业务范畴层(JAVA)两个不同区域之间的交互信使。
  3.6 Flex的通信原理利用Flex On Java开发基于B/S构造企业利用,客户端跟 服务器端的通信协定是咱们所熟知的HTTP协定。在Flex中,基于HTTP协定拜访服务器的通信组件有三个:
  HttpService(mx.rpc.http.mxml.HTTPService)
  WebService(mx.rpc.soap.mxml.WebService)
  RemoteObject(mx.rpc.remoting.mxml.RemoteObject)
  然而HttpService与WebService在交互的过程中,都是以XML进行的数据交互。这在轻量级数据交互过程中利用尚可。如波及到大数据量交互时,就心有余而力所不迭了(重要体当初数据的传输效力与转换效力两方面)。所以在企业级大型名目中通常采取RemoteObject+"第三方组件(如:BlazeDS、LCDS等)"实现交互的过程。
  RemoteObject+"第三方组件"重要交互过程大抵经过以下步骤:
  1、客户端RemoteObject将调用参数中的ActionScript对象序列化为AMF数据格局,而后发出调用恳求。
  2、服务器的"第三方软件"获取HTTP恳求流。
  3、服务器的"第三方软件"对HTTP恳求流进行解析,并且树破响应消息。对HTTP恳求流进行解析,解析过程包含阐明AMF格局数据,将ActionScript对象的AMF数据按照当时断定的协定"反序列化"为服务器端对象,而后用这些参数调用客户端指定的服务器对象上的方法。
  4、服务器的"第三方软件"将调用的成果"序列化"为AMF格局的数据流。
  5、服务器发送HTTP响应给Flex客户端。
  6、Flex客户端阐明AMF格局数据流,将调用成果序列化为ActionScript对象。
  实际上HttpService、WebService与RemoteObject+"第三方组件"这两种交互方法的差别重要在于是否利用AMF二进制数据进行交互。从基本上说RemoteObject+"第三方组件"的上风在于AMF二进制数据的转换跟 传输效力更高,然而必须通过"第三方软件"阐明AMF格局数据。
  AMF(Action Message Format):由Adobe公司定义的一种二进制数据格局标准;
  4 Flex的安排Flex利用程序作为web利用,终极须要在服务器端的WEB环境下运行。而根据利用数据处理方法的不同,安排方法可能分为两种:
  4.1 单一客户端单一安排客户端模式是最简单的安排模式。在单一客户模式下,客户端不须要与后盾服务进行交互,或者交互很少。在该模式下,FLEX利用程序只是负责展示功能,不须要更多复杂的配置。所以对单一客户端的利用,最重要的安排步骤就是将SWF文件跟 利用中所用的资源(图片、视频、音频文件等)拷贝到安排环境中。
  在实际的利用运行时,FLEX终极是作为HTML网页呈现。在服务器端不支撑MXML后缀拜访时,只能将FLEX作为网页的在浏览器中显示。所以在拷贝SWF文件跟 利用素材至安排环境后,须要将利用SWF文件嵌进到HTML网页中。
  4.2 数据交互数据交互模式既在FLEX利用中,须要与外部数据文件进行交互。这里的交互,是指通过利用FLEX RPC组件与服务器端对象交互。服务器端对象包含XML文档、JAVA类、JSP脚本、PHP脚本等。所以数据交互模式的利用与利用RPC组件的方法周到相干。
  而利用RPC组件重要分为两种方法;
  1、FLEX SDK
  2、FLEX DATA SERVICE
  以上两种方法可利用FLEX BUILDER 开发IDE或通过第三方插件实现编译安排。
  5 FLEX的利用5.1 网络营销中的利用顾客闭会感触日益成为了企业网络营销的竞争重点,很多公司都试图树破比以往更为富强的网络利用程序。而FLEX的呈现有效的解决了网络营销中以下多少个方面标题。
  1、FLEX改良了与顾客的交互过程
  FLEX改良了与顾客交互的界面跟 流程,led照明使得顾客可能更便利快捷地实现订购。对顾客来说来说,假如订购产品须要跳转很多个页?**抟苫崛萌烁械椒辩榷
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值