【Jsp精品源码栏目提醒】:网学会员Jsp精品源码为您提供【精品】使用Flex开发企业级应用 - 其它资料参考,解决您在【精品】使用Flex开发企业级应用 - 其它资料学习中工作中的难题,参考学习。
使用 Flex 开发企业级应用 2008-02 联创南京科技股份有限公司 目 录1. 什么是 Flex .................................................................................................................... 32. Flex 框架Flex Framework .......................................................................................... 43. AMF 协议 ...................................................................................................................... 54. 编程开发与传统
JSP/HTML/JAVASCRIPT 的比较 ................................................. 55. AS3 与 Flex Builder ...................................................................................................... 66. Flex 运行时性能............................................................................................................ 77. 在北方电信的运行效果及客户机配置要求 .............................................................. 98. openAMF 框架 .............................................................................................................. 99. LiveCycle Data Service 介绍 ........................................................................................ 91. 什么是 Flex Adobe Flex 是支持 RIArich internet applications的开发和部署一系列发展中的技术和产品线的概括词,包括 the Flex Framework Flex Builder 等等。
FLEX 试图通过提供一个程序员们已经熟知的工作流和编程模型, 让程序员比从前更快更简单地开发 RIA 应用。
在多层式开发模型中,FLEX 应用属于表现层。
FLEX 的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。
Flex 技术整体框架如下图所示: 图 1 Flex 技术整体框架 Flex 运行时框架见下图,其中 openamf 只是 AMF 协议的一个开源框架 图 2 Flex 运行时框架2. Flex 框架Flex Framework 在 Flex 2 中处于核心地位的是 Flex 框架,它作为 Flex Software Development KitSDK 的一部分免费分发。
框架以 Flash Player 9 和 Action Script 3.0 提供的内含构建成功富互联网应用的最优方法的丰富的类库为基础。
Flex 的框架提供一个丰富的可扩展用户界面组件设置,一个用于控制布局和用户互动的灵活模型, 和从远程服务访问数据的健壮底层构造,并可以把它构建成数据对象和 用户界面控制器。
Flex 组件库包含超过 100 种组件和容器,范围从简单的像按钮和颜色拾取器那样窗口小部件,到像数据网格,可折叠面板,丰富文本编辑器那样的高级控制。
开发者可 以使用这些内建组件构造程序的用户界面,把它们作为子类以修改其行为,或是使用组件的 API生成全新的组件。
和其它用户界面开发环境一样,Flex 允许开发者利用预定义互动,比如数据网格中可拖拽的列,或将一些明确定义的事件定义为有特殊用途的行为。
3. AMF 协议 AMF 是 Adobe 独家开发出来的通信协议,它采用二进制压缩,序列化、反序列化、传输数据,从而为 Flash 播放器与 Flash Remoting 网关通信提供了一种轻量级的、高效能的通信方式。
如下图所示: 图 3 AMF 协议 AMFAction Message Format是一种 binary format 的资料型态,透过 AMF overHTTP的方式将 flash 端资料编码后传回 server,server 端的 remotingadaptor 接收到资料后则会译码回正确的 native 对象,交给正确的程序处理。
AMF 最大的特色在于可直接将 Flash 内置对象,例如 Object Array Date XML,传回服务器端,并且在服务器端自动进行解析成适当的对象,这就减轻了开发人员繁复工作,同时也更省了开发时间。
由于 AMF 采用二进制编码,这种方式可以高度压缩数据,因此非常适合用来传递大量的资料。
数据量越大,Flash Remoting 的传输效能就越高,远远超过 WebService。
至于 XML LoadVars 和 loadVariables ,它们使用纯文本的传输方式,效能就更不能与 Flash Remoting 相提并论了。
4. 编程开发与传统
JSP/HTML/JAVASCRIPT 的比较Flex 应用语法基础 MXML‐XML 语法,标签扩展 ActionScript3.0–ECMA4 标准,类似于 JavaScriptOOP 方法 FlexBuilder2 基于 Eclipse Eclipse–全球 Java 开发者和专家首选 IDE Java 开发者可以迅速开发基于 SOA 架构的 SOCServicesOrientedClient应用 Flex2 的开发者可以是 Java 开发者 Flex 不改变 J2EE 原有体系的任何结构和逻辑 图 3 Flex 应用框架对比5. AS3 与 Flex Builder ActionScript 3: 是 Flex Framework 的核心。
虽然语法和 AS2 类似,但它更加面向对象化和类型化。
而且因为在新的虚拟机中运行, 所以比 AS2 快得多。
AS3 全面兼容 ECMAScrip标准Java Script 2.0 的基础标准。
是 Flex Builder 是在 Eclipse 基础上创建的全新 RIA IDE, 生 成 FLEX 应用的最简单最强大的方式。
实现了集成编译器,代码缩进,调试,设计视图,源代码控制系统集成等许多功能。
它可以当作标准的独立应用软件,也可以当作 Eclipse 的插件使用。
Flex Builder 架构组成 基于 Eclipse 3.1.x Platform Extensibility API Code model Mxml design mode MXML 编辑器/ActionScript 编辑器/CSS 编辑器 整合 Flex2 SDK Flash Player 9 Debugging version MXMLC static complilerFlex 团队开发模式 图 4 Flex 团队开发6. Flex 运行时性能 Flex 和
JSP 应用程序都使用标准的 J2EE 部署机制 Flex 应用程序相比同样的
JSP 应用程序通常需要更大的初始下载,但一旦被加载后, Flex 应用程序会有更快的性能感受,因为它完全在本地客户端上运行。
Flex 只需单一的连接即可发送整个应用程序,而对于
JSP 应用程序来说,每一个新 的页面都需要一个新的网络连接。
创建网络连接是网络通信中最昂贵的部分。
网络 连接减少将使服务器的负载减小。
Flex 应用程序中的客户端逻辑为优化应用程序和减少服务器负载提供了机会。
一般而言,Flex 应用程序要比相似的
JSP 应用程序需要更小的 CPU 负载。
关于
JSP 和 FLEX 的性能,一份来自 MicroMediaAdobe 收购前的性能报告,它用
JSP 和Flex 分别做了一个购物站点的测试,实现了同样的功能。
报告称:研究显示,两个应用程序需要相似的网络带宽和服务器内存,但 Flex 应用程序对服务器CPU 处理循环的需要明显较少。
一般
JSP 应用程序的服务器端负载直接取决于用户交互动作(例如,当用户跳转至新页面或者提交数据至服务器进行处理时)的数量,而 Flex 应用程序的负载取决于向服务器请求应用程序或提交数据请求的并行用户的数量。
下面是测试结果:图 5
JSP 应用与 MXML 应用图 6
JSP 应用的 CPU 占用 图 7 FLEX 应用 CPU 占用7. 在北方电信的运行效果及客户机配置要求 目前北方电信的服务开通的服务保障、服务开通的数据配置部分使用了 Flex 来进行的开发。
因为 Flex 属于 RIA 应用,即所谓的“富因特网应用”,其中包含了 Flex 大量的组件,或第三方开发的免费组件的应用, 因此对客户端的配置有着较高的要求。
但北方电信客户端的配置较低,运行起来稍微有点慢。
Flex 在浏览器客户端运行的基本要求要是 WinXP,512M8. openAMF 框架 openAMF 是一个使用 AMF 协议的免费开源的框架,用于 Flash 与 Flash Remoting(如Java,WebService,EJB 等等)进行通讯。
也可以使用像 LiveCycle Data Service、BlazeDS 等与后台交互。
9. LiveCycle Data Service 介绍 Flex Data Services 现在已经更名为 LiveCycle Data Service。
Flex Data Services 提供一系列强大的服务器端数据管理功能,使开发人员能够快速提供数据密集型 Flex 应用程序。
Flex Data Services 部署为标准 Web J2EE 应用程序,通过为现有的服务器端数据和业务逻辑提供高性能数据连接来, 增强了客户端 Flex 框架。
FlexData Services 基于强大的消息体系结构,它与现有的基于标准的中间设备相集成,提供客户和服务器之间的数据自动同步服务,增加对实时数据推送和发布/订阅消息的支持,并实现应用程序的协作和偶尔连接。
LiveCycle Data Services ES 系统需求Includes Flex 2 SDK and Flash Player 9 系统需求 支持 Microsoft Windows 2000 Server Windows XP Professional Windows Server 2003 32- and 64-bit Red Hat Advanced Server 3.x and 4.x SUSE Linux Enterprise Server 9 Operating systems SUSE Linux Enterprise Server 9 on zSeries Solaris SPARC 9 and 10 AIX 5.3 HP-UX 11i v2 Itanium only 512MB of RAM Memory/disk space 400MB of available hard-disk space Sun 1.4.2_08 or later Sun 1.5 BEA JRockit 1.4.2_08 for BEA WebLogic 8.1 only Java Virtual Machines BEA JRockit 1.5 for BEA WebLogic 9 only IBM 1.4.2 for IBM WebSphere only IBM 1.5 for IBM Websphere 6.1.x only JRun 4 Updater 6 included in integrated installation option Apache Tomcat 5.5.x BEA WebLogic 8.1 SP2 or higher 9.1 9.2 and 10 IBM WebSphere 5.1.1.x or 6.1.x Application servers JBoss 4.0.3 SP1 4.0.4 and 4.0.5 Oracle 10G AS 10.1.3 SAP Web Application Server 6.40 and 7 Fujitsu Interstage 7 Japanese version only Hitachi Cosminexus 7 Japanese version only