现在的位置: 首页 > 综合 > 正文

Flash remoting

2013年03月23日 ⁄ 综合 ⁄ 共 1172字 ⁄ 字号 评论关闭

概述

  Flash remoting是一种连接flash client 与 server端的技术,它的功用就像是 web service, xml, loadVars一般,可以在两者之间交换资料,达到动态置换内容的目地。

  它可以轻松访问业务逻辑层和Web Services, 轻松测试和调试,简化数据集处理,全面支持XML使用,支持RIA表现层,封装数据可保密,部署简易且可跨平台跨设备。

  原理

  Flash remoting特别的地方在于它采用macromedia独家的AMF(Action Message Format),这是一种 binary format的资料型态,透过 AMF over HTTP的方式将flash端资料编码后传回server,server端的remoting adaptor接收到资料后则会译码回正确的native对象,交给正确的程序处理。

  AMF除了用于Flash remoting外,也广泛的用于 Local Connection 与 Flash communication server,它最大的特色在于可直接将flash native object,例如Object, Array, Date, XML,传回server端,并且在server端自动进行转译成适当的对象,例如flash 的Array传回PHP时就会自动转换为 Associative Array;这个特色对开发者最大的好处在于不需要再人工处理serialization 与 deserialization的繁复工作,不但精确度更高,同时开发也更省时间。

  由于AMF是binary format并且编码时经过高度压缩,因此非常适合用来传递大量的资料,根据flashorb网站的测试(主要针对web service与flash remoting),当资料量越大时,flash remoting的传输效能就越高,远远超过web service的表现,因此同样的道理也可得知xml, loadVars, loadVariables 等使用plaine text format的传输方式自然也无可比拟。

  server端

  至于在server端,目前macromedia官方支持的平台有三种,分别是 Java Coldfusion(但实际上Coldfusion应该只算是java的subset,它是一种 scripting tag library)与.NET,但由于AMF格式已被玩家反组译成功,因此很快的就在Open Source圈出现各种「民间版」的remoting替代方案,其中比较有名的是:

  1,AMFPHP: 这是php版的remoting

  2,OPENAMF: java版的remoting

  3,Flap: Perl 与Python版的remoting

  4,FlashORB: 商业版的remoting替代方案,目前支持java与.net

抱歉!评论已关闭.