版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Flex技术基础培训二零壹二年01二月20232Flex简介Flex通常是指AdobeFlex,是最初由Macromedia公司在2004年3月发布的,基于其专有的MacromediaFlash平台,它是涵盖了支持RIA(RichInternetApplications)的开发和部署的一系列技术组合。2004年Micromedia发布Flex1.02005年Adobe兼并Micromedia2006年Adobe发布Flex2.02008年Adobe发布Flex3.02010年Adobe发布Flex4.02011年Adobe发布Flex4.501二月20233Flex概述Flex是Adobe公司近两年推出的重量级产品与技术。Flex的出现就是为了高效地开发和部署富互联网应用程序。Flex是Adobe公司推出的一系列工具和技术,使开发人员可以开发和部署可升级的富互联网应用程序(RIAs)。富互联网应用程序(RIAs)是指像使用Web一样的简单方式来部署富客户端程序。这种程序具有比HTML更加健壮、反应更加灵敏和互动性更丰富的特点。01二月20234Flex概述Flex提供了一种现代的、基于标准的语言来支持公共模板设计、客户端运行环境、编程模型、开发模型和高级数据服务。Flex采取了开源的策略,所以开发者可以在Flex原代码的基础上修改。新版Flex4中的开发环境已经更名为FlashBuilder,而不再是FlexBuilder系列。Flex采用事件驱动机制,程序的执行过程严格按照事件发生的时间顺序执行。本节将介绍为读者Flex开发技术的特点、优点和新特性。01二月20235Flex是什么?Flex是一种创建RIA(RichInternetApplications)快速有效的方法之一。RIA是一种可能代替传统HTML应用系统的解决方案。RIA技术既可以像Web一样很简单的部署用户客户端程序,同时交互性和表现力等方面也大大超过了传统Web应用系统。FlexBuilderFlexSDKMxmlActionScriptFlex01二月20236RIA出现的背景在RIA出现之前,软件开发都是基于C/S(Client/Server)或B/S(Browser/Server)架构,但两者各有缺点。C/S的主要缺点:开发、部署成本高
传统B/S结构的软件需要针对不同OS开发对应的版本,且软件更新换代的速度越来越快自然成本会很高。维护成本高
服务器和客户端都需要维护管理,工作量较大且技术支持复杂。B/S的主要缺点:受限于HTML技术,很难像C/S那样产生丰富,个性的客户端界面;存在浏览器兼容性差问题;Server端负荷较重,响应速度慢;
绝大多数处理都集中在Server端,并且每次响应都要刷新页面(利用Ajax技术会有所缓解)。随着软件的飞速发展,此时需要出现一种能够摒弃上诉缺点的新的技术形式–RIA出现了。01二月20237目前比较流行的RIA技术Adobe的
Flex微软的
SilverlightSun的
JavaFX01二月20238客户端技术JavaFXSilverlightFlash/FlexAJAXHTML5OpenLaszloMozillaXUL01二月20239Flex与其它RIA技术比较Flex是一种混合的技术,这种语言技术的设计借鉴了其他优秀的现代标准语言,如XML、JAVA等。其中,MXML就是基于XML构建的描述界面的语言,同时借鉴了HTML等Web技术。而ActionScript也是大量的借鉴了JavaScript脚本和Java语言的语法组成。传统的基于HTML的应用程序部署成本低、结构简单、简单易学。很多用户和开发人员于是放弃了现代高性能计算机能带来的用户体验,转而追求数据的快速访问,从而丧失了一些重要的UI功能。RIA利用相对健壮的客户端描述引擎。RIA的另一个好处是:数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。01二月202310FlexVSHTML/JavaScript/AjaxFlex技术是在Web技术发明之后开发出来的。Flex技术中的MXML语言就是基于XML,并且借鉴了HTML描述语言。所以,MXML和HTML的作用实质上是一样的,都是为了更好的描述界面布局和组件样式。不同的是,MXML采用了更加先进的设计模式,使得MXML代码更容易阅读和编写。Flex中的ActionScript是一种脚本语言,用来处理客户端的逻辑运算。ActionScript的设计同样也参照了JavaScript,与JavaScript作用一样。并且,ActionScript和JavaScript两者的语法也极其相似,这使得开发者学习新的ActionScript语言的门槛降低。01二月202311FlexVSJava/JavaFXFlex是一个类似于Java和JavaSwing的平台。Flex中的脚本语言ActionScript与Java上的语法和结构都极其相似。它继承了Java中包的概念,在设计中,参照了Java的大部分特性。同Flex一样,Java也可以把应用程序部署到Web上运行。但是编译之后的文件却远比Flex大,因为Java的运行环境JRE和开发包JDK拥有比Flex多得多的类库,而且这些类库在客户端可能不需要。所以,很多Java开发者开始了解并学习Flex,计划把Flex和Java更好的结合起来01二月202312FlexVSSilverlight/XAMLSilverlight是微软公司的富网络应用程序的解决方案。Silverlight的XAML描述语言同样也是基于XML设计的。XAML就相当于Flex中的MXML,两者的功能一样,而且语法也类似。Silverlight客户端所使用的逻辑语言更加广泛,因为它是基于.NET框架设计的。这些语言包括C#、JScript、VB等。不过Silverlight技术刚刚推出不久,其中的很多功能有待完善。而且,在客户端需要安装Silverlight控件。01二月20231301二月202314Flex技术特点1.增强用户体验2.完善的开发环境3.通用的配置环境4.企业级的特征5.消除页面加载6.标准的架构7.与浏览器兼容持久层业务逻辑层页面展现层FlexJsp01二月202315Flex基本架构Flex的基本架构包括4部分1.AdobeSDK2.AdobeFlexCharting3.AdobeFlexDataServices4.AdobeFlexBuilder01二月202316Flex基本架构FlexChartingMXML、ActionScript3.0Flex框架及其类库组件编译器、调试器可扩展图形组件FlexDataServicesRPC服务消息服务数据管理服务FlashBuilder4FlexSDK401二月202317Flex和FlexSDK是什么?Flex是一个开源、免费的框架,用于构建在Adobe®Flash®Player或AdobeAIR®runtimes环境内运行的跨浏览器、桌面和操作系统的富网络应用。FlexSDK(FlexSoftwareDevelopmentKit)除了包括Flex框架以外还包括compilers(编译器)和debugger(调试器)等开发工具。(这也意味着没有FlashBuilder等IDE同样可以开发Flex应用,但效率会很低。)01二月202318Flex原理当你编译一个Flash程序时,Flash开发环境把所有的可视化元素,时间轴指令和ActionScript中的业务逻辑编译为SWF文件。同样地,Flex程序中的MXML和ActionScript代码首先全部被转换为ActionScript然后编译为SWF文件。当你把SWF文件部署到服务器上时,使用者可以从服务器获取到这个程序。01二月202319Flex运行机制Flex只是一种客户端技术,同时也属于Flash平台。Flex代码最终被编译成SWF文件运行在Flash播放器(FlashPlayer)中。SWF文件可以单独在用户终端运行,但是必须要安装FlashPlayer。也可以在各种流行的浏览器中运行,浏览器必须安装FlashPlayer插件。SWF文件是一个压缩文件,可以通过FlashPlayer呈现出来。由于SWF文件很小,所以有很快的网络下载速度。用户要想运行一个Flex应用程序,只需要通过网络或者其他途径获取SWF文件,就可以运行在装有FlashPlayer插件的浏览器中。MXMLActionScriptSWF01二月202320Flex应用程序的编译和发布01二月202321Flex应用的组成Flex框架容器组件、交互控件、数据绑定和事件等MXML一种标记语言,Flex程序的主文件ActionScript实现Flex程序的动态行为特性CSS通过设置组件属性改变其外观图形资源数据01二月202322MXML基本语法MXML是遵循W3CXML标准的标记语言。MXML中融合了众多的标准。1.XML标准 2.DOMLevel3事件模型标准3.Web服务标准 4.Java标准5.HTTP标准 6.图像标准7.CSS标准可以使用任何的文本编辑器编写MXML。01二月202323MXML基础MXML是XML的一种扩展行语言,所以MXML继承了XML的书写规则。MXML的书写规则如下。所有元素要有开始和结束标记。如果一个标记被打开,那么在对应的地方应该被关闭。计算机的逻辑是很严谨的,如果某个标记只有开始没有结束,系统就会发生错误。区分大小写。XML是区分大小写的,所以MXML同样也是。<book>和<Book>在XML中是不同的两个元素标记。<mx:Panel>和<mx:panel>当然在MXML中也是不同的。需要声明。在XML文档的第一行通常都需要声明版本和编码等信息。MXML在Flex应用中进行界面组件的布局。MXML也可以定义Flex应用的非可视部分访问服务器端数据源界面组件与数据源之间的数据绑定01二月202324MXML文件结构<?xmlversion="1.0"encoding="utf-8"?><s:Application xmlns:fx="/mxml/2009" xmlns:s="library:///flex/spark" xmlns:mx="library:///flex/halo"> <s:Buttony="129"label="计算"x="42"/></s:Application>MXML应用程序采用XML文件格式一个程序中只能出现一个s:Application节点将s定义为XML的命名空间使用s命名空间中定义组件Flex主程序文件由于要使用Flex组件,而Flex组件定义于“library:///flex/spark”命名空间中,所以要使用“xmlns:s="library:///flex/spark”的命令格式导入组件的命名空间,以此来使用组件。这种方法与JAVAWeb中使用自定义标签类似,在使用之前也必须通过taglib命令导入标签库描述文件,即:
<%@tagliburi=”http://com.soft/tags”prefix=”s”%>,其中”xmlns”对应于“taglib”命令;”http://com.soft/tags”对应于“library:///flex/spark”命名空间;prefix=”s”对应于xmlns:s后面的s,表示标签的使用前缀01二月202325Flex组件概述Flex应用程序的界面通常由各种各样的组件来构建。例如,一个登录框应用程序包括了标签组件、输入框组件、按钮组件等。不同的组件有其特有的功能,如按钮组件的单击动作和双击动作。用户可选择不同的组件来满足应用程序的要求。Flex组件是指用MXML标准和ActionScript3.0代码定义的一种可重用的控件,包括了属性(Properties)、方法(Methods)、事件(Events)、样式(Styles)。MXML是类似于XML的标签式语言。MXML文件的后缀后为“.mxml”。使用MXML标准定义的内容可由MXML编译器编译成SWF文件。FlashBuilder4在编译程序时就调用了MXML编译器。Flex4中提供了许多基础的Flex组件,如文本组件、按钮组件、下拉框组件等。组件根据是否由Adobe公司提供,可分为基础Flex组件和自定义组件。01二月202326MXML组件使用界面组件定制界面组件实现数据绑定使用CSS样式单使用特效存储验证数据格式化数据触发事件01二月202327ActionScript概述ActionScript3.0是运行于FlashPlayer运行环境的编程语言,使用新的ActionScript虚拟机AVM2。AVM2使用新的二进制指令集,并在性能上有很大改进。同时,ActionScript3.0使用面向对象模型,扩展和提高了应用程序接口。ActionScript3.0代码被FlexBuilder或Flash中的编译器编译成二进制数据。这种二进制数据被装入SWF文件中,然后运行于FlashPlayer运行环境中。ECMAScriptJavaScriptActionScript都基于ECMAScript01二月202328ActionScript使用内联引用将ActionScript直接作为事件的属性值级联引用将ActionScript置于<fx:Script>块中外联引用通过<fx:Script>的source属性引入独立的.as文件01二月202329在MXML文件中直接编写ActionScript在MXML文件中编写ActionScript3.0代码,只要在MXML文件下插入<fx:Script>标签。在MXML文件中的<mx:Script>标签下使用ActionScript3.0。在FlexBuilder3的编辑器中输入标签会自动封闭。例如,输入“<mx:Script>”后,自动生成封闭区域“<mx:Script><![CDATA[]]></mx:Script>”。01二月202330在AS文件中编写ActionScriptActionScriptClass、ActionScriptFile和ActionScriptInterface都属于AS文件。它们三者的文件格式都为AS格式,不同的只是其中的定义有所区别。Flex应用程序中最常使用的AS文件是ActionScriptClass,也就类的定义。用户可使用ActionScriptClass创建向导来完成创建。01二月202331在MXML中引用AS文件MXML文件中若要引用AS文件有两种方式:一种是引用使用<fx:Script>标签中的“source”属性。这种方式可看成是将MXML文件和AS文件分离,从而减小MXML文件的代码,提高重用性。另外一种方法是引用ActionScriptClass(类)。使用这种方法的前提是AS文件中定义的是一个类。01二月202332ActionScript3.0语法基础ActionScript
3.0是一种运行在FlashPlayer的编程语言,是由ActionScript虚拟机(AVM)执行的。ActionScript3.0版本提供了更好的面向对象思想的设计模型,使程序员更容易编写和设计复杂的代码。ActionScript3.0是Flex中主要的编程语言,是学习Flex技术的基础。变量和常量数据类型运算符语句函数01二月202333Flex数据类型程序中使用的各种变量都应预先加以定义,即先定义,后使用。对变量的定义可以包括三个方面:数据类型,存储类型,作用域。数据类型表示了变量的性质、表示形式、占据存储空间等。在ActionScript3.0语言中,数据类型可分为:基本数据类型:其值不可以再分解为其他类型。复杂数据类型:复杂数据类型根据已定义的一个或多个数据类型定义。数据类型取值范围缺省值Booleantrue/falsefalseint整数,-2,147,483,648~2,147,483,647之间0Null仅包含一个null值nullNumber双精度浮点类型NaNString字符类型nulluint非负整数,0~2,147,483,647之间0undefined可以认为是常量,即“undefined”undefined01二月202334Flex常量与变量对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。常量和变量可与数据类型结合起来,如整型常量、整型变量、实型常量、实型变量、字符串常量、字符串变量。在程序中常量是可以不经说明而直接引用的,而变量则必须先定义后使用。变量的数据类型是可以转换的。转换的方法有两种,一种是自动转换,一种是强制转换。01二月202335Flex运算符和表达式ActionScript3.0语言中运算符和表达式很多。丰富的运算符和表达式使得ActionScript3.0语言功能强大。ActionScript3.0语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约:到底是自左向右进行运算还是自右向左进行运算。这种结合性增加了ActionScript3.0语言的复杂性。01二月202336ActionScript3.0运算符简介ActionScript3.0语言的运算符可分为以下几类:算术运算符用于各类数值运算,包括加“+”、减“-”、乘“*”、除“/”、求余“%”、自增“++”、自减“--”,共7种。关系运算符用于比较运算,包括大于“>”、小于“<”、等于“==”、大于等于“>=”、小于等于“<=”和不等于“!=”,共6种。逻辑运算符用于逻辑运算,包括与“&&”、或“||”、非“!”,共3种。位操作运算符用于二进制位运算,包括位与“&”、位或“|”、位非“~”、位异或“^”、左移“<<”、右移“>>”,共6种。01二月202337ActionScript3.0运算符简介特殊运算符,如括号“()”,下标“[]”,取XML属性“@”等。赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)3类,共11种。条件运算符用于条件求值。运算符为“?:”。逗号运算符用于把若干表达式组合成一个表达式。运算符为“,”。01二月202338Flex程序设计的基本结构从程序流程的角度来看,程序可以分为三种基本结构:顺序结构、分支结构和循环结构。这3种基本结构可以组成所有的各种复杂程序。程序设计的基本组成部分是语句,不同语句组成不同的程序结构。例如,for语句、while语句组成循环结构程序。顺序结构程序是指程序中的语句由表达式语句、函数调用语句、控制语句、复合语句、空语句或赋值语句构成。顺序结构是程序中最基本的结构之一,最大的特点是程序是以从上至下的顺序执行。01二月202339Flex程序设计的基本结构分支结构程序是指程序中存在分支的逻辑,需要分别处理各分支的逻辑。分支结构程序常用的语句有:if语句、if…else语句、if…else…if语句、switch语句。分支结构是程序中最基本的结构之一,最大的特点是程序是分支处理。循环结构是程序中一种很重要的结构。其特点是:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体用goto语句和if语句构成循环。while语句。do-while语句。for语句。01二月202340Flex函数函数是ActionScript3.0源程序的基本模块,通过对函数模块的调用实现特定的功能。ActionScript3.0语言不仅提供了极为丰富的库函数,还允许用户建立自己定义的函数。用户可把算法编成一个个相对独立的函数模块,然后通用调用来使用函数。可以说ActionScript3.0程序的大部分工作都是由各式各样的函数完成的。01二月202341Flex函数概述1.函数定义角度函数可分为库函数和用户定义函数。库函数是指由ActionScript3.0定义的函数。用户无须定义,只需在程序中直接使用函数。用户定义函数是指由用户按需要自定义的函数。2.函数返回值角度有返回值函数:此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。3.函数数据传送角度无参函数:函数定义、函数说明及函数调用中均不带参数。有参函数:也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。01二月202342Flex事件和事件机制事件是在程序运行中,触发的一个响应。在ActionScript3.0中,事件的处理得到了统一并且更符合标准,统一用单一的事件处理模型,废弃了之前版本的众多的事件处理机制。本章将会详细介绍ActionScript3.0中的新的单一的事件处理机制。事件是系统与用户之间直接的交互方式。当用户向系统发出指令,就相应的产生了一个事件,通过事件,用户就可以与系统对话。例如,当用户单击鼠标的时候,就会产生一个鼠标单击的事件,系统就会根据用户单击的对象,来判断用户发出的指令。对象是保存数据的按钮,用户单击之后,程序就会执行保存数据的事件函数。在ActionScript3.0中,注册事件的侦听函数是通过addEventListener()方法的。通过这个方法,对象可以随时侦听事件的发生,然后触发并执行函数。事件的类型有几种,其中常见的包括鼠标事件、键盘事件、文本事件、加载进度事件等等。01二月202343Flex动画效果在设计应用程序模型时,默认的组件界面往往不能满足用户的要求。Flex4.0组件支持自定义界面。从广义上讲,美化界面不仅包括组件静态外观,也包括组件的动态效果。自定义事件效果是指当组件的一个事件被触发,且这个事件允许有效果,那么这个事件就可以应用自定义的效果。在Flex里这种效果触发器叫做“Behaviors”。组件中一般都有许多效果触发器(Behaviors)。特定的组件都有其特殊的效果事件。Move,Resize,Fade,Zoom,Rotate01二月202344Flex用CSS美化界面CSS标准最早用于网页开发中,使得程序和界面分离。Flex也支持使用CSS。CSS由于其简单、方便的优点,逐渐成了Flex应用程序美化界面的最重要方法。CSS是一种层叠样式表,可以有效地对布局、字体、颜色、背景和其它效果进行精确的控制。属性名和属性值之间以“:”符分隔。不同属性名间以“;”符分隔。以下代码定义了两个样式“.myFontStyle”、“.myButton”。一个常见的CSS定义包括样式名、属性、属性值。对于特殊的需求,需要其他语法支持,如单位、规则等。下面将详细介绍CSS语法。Flex4.0应用程序中的CSS样式都是使用<fx:Style>组件定义的。定义的方式有两种:<fx:Style>组件内部定义CSS,<fx:Style>组件调用外部CSS。01二月202345Flex数据处理数据是程序处理的主要对象。在应用程序中最核心的部分也是数据处理。数据处理包括数据绑定、数据存储、数据验证、数据格式化等内容。数据绑定是指用户可以将某个属性与其他的属性或变量相关联。这样,当被绑定的属性或变量发生改变时,绑定项同时发生改变。数据绑定是Flex技术中一项非常有用的技术,可以有效地减少程序代码,提高运行效率。数据存储是指在编程过程中将数据以特定的形式存储。简单的数据模型可以用简单的数据类型存储,如int型、String型、Array型。对于复杂的逻辑模型,需要将数据合理的存储。Flex4.0提供了<fx:Model>、<fx:Object>、<fx:XML>3种存储复杂的数据模型。数据验证是指应用程序中对输入的数据进行某种方式的校验。本章将详细介绍Flex4.0数据验证的基本方法和自定义方法。本章结尾还将提供一个用户注册的实例来帮助读者掌握数据验证。数据格式化是对某些特殊的数据的格式进行规范。例如,日期格式有很多种,可以为“1990-1-2”、“2/1/1990”等。有时数据格式化是必须的,如货币的格式要统一。01二月202346Flex数据绑定控件在呈现单个数据的时候,可以使用文本控件,在呈现多条数据的时候,Flex中就已经提供了呈现多条数据的各种数据绑定控件。数据列表横向数据列表交叉数据列表下拉列表数据网格树列表01二月202347Flex图表设计对于普通用户来说,在图表中展示数据看起来更直观有效。相比较使用简单的二维表格来说,图表中的数据可以是各种形状和颜色。图表组件概述图表类型格式化图表使用事件和效果图表主要就是由一个或几个数据序列构成。在Flex中提供了丰富的图表组件,通过这些组件可以创建各种二维的数据序列图表。01二月202348关于数据图表数据图表的形式可以使得数据和数据关系很容易以图形的方式呈现出来。图表是一个使用二维关系数据的呈现类型。在Flex中,提供了很多常用的二维数据关系图表形式的组件,如条型、圆柱型、圆饼等,使用这些组件可以方便的创建一个二维图表。一个简单的图表就是一个数据序列,序列就是一组关联的数据点。如一个数据序列可以是某个公司的月销售情况或者是一段时间某个股票的价格情况等,这些都可以看作一个一个数据序列。图9.1就是一个图表,该图表是一个某公司前三个月利润和费用的数据序列。01二月202349使用图表控件Flex中提供的图表控件可以创建大部分日常需要的图表类型,也可以根据需要自定义图表。图表控件位于包importmx.charts.*内,这些图表类型的具体应用会在9.2节中详细介绍。一个图表类型对应一个图表控件类和一个图表序列类。其对应关系见表9.1所示。图表类型图表控件类图表序列类AreaAreaChartAreaSeriesBarBarChartBarSeriesBubbleBubbleChartBubbleSeriesCandlestickCandlestickChartCandlestickSeriesColumnColumnChartColumnSeriesHighLowOpenCloseHLOCChartHLOCSeriesLineLineChartLineSeriesPiePieChartPieSeriesPlotPlotChartPlotSeries01二月202350Flex数据传输与交互数据具有流动性数据传输是指根据用户控制传递至指定目的地。数据交互是指Flex与其他程序进行数据交换,包括传递数据给其他程序和接收其他程序返回的数据。01二月202351Flex数据传输的方式Flex4.0中的数据传输方式包括内部数据传输、文件流方式传输、XML方式传输、其他方式传输。应用程序内部的数据传输大多通过变量传递来实现。外部文件的数据可分为简单文本数据、XML数据和复杂数据。对于简单的文本数据可采用文件流方式传输。对于XML数据可采用XML方式传输。对于复杂的数据,需要通过其他程序来辅助数据传输。01二月202352Flex应用的构建形式尽管用Flex开发RIA有多种形式,但现在主流的架构是:Flex作为Client(客户端),Java、PHP、Asp、Ruby等技术作为Server(服务器端)。01二月202353Flex访问服务器端数据的3种方式既然Flex可以和Java等Sever端技术整合,那么它们之间怎样实现通信的呢?Flex通过HTTPService,WebService和RemoteObject这3个组件实现与Server端的通信。HTTPService组件
HTTPService组件允许你与HTTP服务交互,可以是接收HTTP请求和发送HTTP响应的任何HTTPURI。
你可以通过HTTPService组件调用任何类型的Server端技术,包括PHPpages,ColdFusionPages,JavaServerPages,Javaservlets,RubyonRails和ASPpages。
HTTPService组件允许你发送HTTPGET、POST、HEAD、OPTIONS、PUT、TRACE和DELETE请求,并典型的以XML形式返回。WebService组件
WebService组件允许你访问WEB服务。RemoteObject组件(最灵活、最常用的方式)
RemoteObject组件允许你访问Server端对象的方法,例如ColdFusioncomponents(CFCs),Javaobjects,PHPobjects和.NETobjects,并且不需要把对象配置为WEB服务。
但这种方式与其他2种方式不同,它需要中间件(下一节要讲的内容),此时应用和Server端对象之间通过AMF(ActionMessageFormat)二进制形式传递数据。01二月202354中间件是什么?为什么需要中间件?Flex通过HTTPService,WebService和RemoteObject三个组件与Server端技术通信,并且如果用RemoteObject那么应用和Server端对象之间通过AMF二进制形式传递数据。因此就需要额外的软件实现AMF协议,这样的软件就是我们所说的中间件。根据不同的Server端技术你需要选择不同的中间件。中间件类型PHP中间件ZendFramework(开源,免费)中的Zend_AmfAMFPHP(开源,免费)SabreAMF(开源,免费)WebORBforPHP(开源,免费).NET中间件WebORBfor.NET(社区版免费,企业版收费)Rails中间件WebORBforRails(开源,免费)Java中间件WebORBforJava(社区版免费,企业版收费)AdobeLiveCycleDataServicesES2(收费)AdobeBlazeDS(开源,免费)对比AdobeLiveCycleDataServicesES2和AdobeBlazeDS01二月202355Flex通信框架AdobeLiveCycleDataServicesES2
是一款服务器软件,它提供的重要数据服务使Flex应用程序能通过一个更快、更高效的操作模型与后端数据和业务逻辑交谈。它支持消息传递、发布/订阅和实时数据推送,为您最关键的应用程序提供了一个强大的解决方案。LiveCycleDataServices还支持与其他LiveCycle业务流程及文档服务的无缝集成。BlazeDS
是一个免费的开放源项目,它提供LiveCycleDataServicesES2包含的许多功能,其中包括远程处理和消息传递功能。借助开放源BlazeDS,您可以将Flex和AIR应用程序轻松连接到后端、分布式数据和Java™服务器基础结构,从而提供部署在浏览器中或桌面上、灵敏、实时、由数据驱动的用户体验。01二月202356BlazeDSBlazeDS是一个基于服务器的Java远程控制(remoting)和Web消息传递(messaging)技术,它能够使得后端的Java应用程序和运行在浏览器上的AdobeFlex应用程序相互通信。BlazeDS
是发布于LGPLv3许可下的开源,免费项目。在采用Java作为Server端技术的Flex构架中得到越来越多的应用。在之后的教程中也采用它作为中间件。01二月202357Flex远程数据访问Flex包含基于面向服务的体系结构(SOA)的数据访问组件。这些组件通过远程过程调用与PHP、AdobeColdFusion®和MicrosoftASP.NET等服务器环境交互,以将数据提供给应用程序并将数据发送到后端数据源。根据特定服务器端应用程序的接口类型,可以使用以下任一方法连接Flex应用程序:•通过HTTPService组件使用HTTPGET或POST•通过WebService组件使用与SOAP兼容的Web服务•通过RemoteObject组件使用AdobeActionMessageFormat(AMF)远程服务也可以使用AdobeLiveCycle®DataServicesES(该产品是一种可提供高级数据服务功能的单独产品)的应用程序。LiveCycleDataServicesES不仅可以为远程过程调用(RPC)服务应用程序和高级安全性配置提供代理,还提供下列数据服务:数据管理服务用于创建使用分布式数据的应用程序,以及管理大型数据集合和嵌套数据关系(如一对一、一对多关系)。消息服务用于创建可与其它应用程序(包括Flex应用程序和Java消息服务(JMS)应用程序)互相收发消息的应用程序。01二月202358使用<mx:HTTPService>组件与HTTP程序交互<mx:HTTPService>组件可与所有的HTTP程序交互。例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防用电课件教学课件
- 2024「销售代理」合同标的与代理商责任义务
- 2024年度租赁合同标的及租赁期限的详细约定
- 2024年度供应链管理服务合同协同操作与风险控制
- 2024年建筑工程项目安全协议
- 2024年度石油化工企业BIM模型设计与安全评估合同
- 2024年度园林绿化工程施工合同范例
- 2024标准劳务合同书3
- 2024年土地暂时使用协议
- 2024年度技术开发成果共享协议
- 市场主体迁移申请书
- 2023科室医疗质量、安全管理持续改进记录本
- (完整word)大学西门子plcs7-1200考试复习习题
- 中考数学复习微专题:有理数运算中的错解及对策
- DB11-972-2013保险营业场所风险等级与安全防范要求
- 高中政治部编版教材高考双向细目表
- 轮扣式模板支撑架安全专项施工方案
- 酒店装饰装修工程验收表
- 中国行业分类代码表
- 社会组织协会换届选举会议主持词
- 呼吸科(呼吸与危重症医学科)出科理论试题及答案
评论
0/150
提交评论