Adobe 开源了 Remoting 和 Messaging 技术以及 AMF 协议规范

  • Scott Delap
  • 曹云飞

2007 年 12 月 14 日

话题:Java语言 & 开发

今天 Adobe 宣布了他们正在开源 Remoting 和 Messaging 技术,而此前二者是 Adobe 的商业产品 LifeCycle Data Services 的一部分。新的开源产品叫做BlazeDS。Adobe 还开源了AMF 协议规范。这三项都采用 LGPL 许可。Adobe 声明的部分内容:

……开发者可以方便的将富客户端连接到已有的服务器应用,包括 Java™服务器应用和 Adobe ColdFusion®组件。Adobe 还提供了附加的支持服务,包括 Adobe LiveCycle Data Services 社区版,一个包括提供经过认证的 BlazeDS 构建版本在内的订阅服务,访问 Adobe 的企业支持资源和附加的益处,例如产品担保和责任赔偿,以及附加的开发支持。产品的商业版本,LiveCycle Data Services ES,有企业级的功能,可以构建包括需要海量信息处理能力,高级客户端-服务器数据同步功能,冲突检测 / 解决,Adobe AIR 应用的离线数据管理服务以及由 RIA 生成 PDF……等功能的高级客户协同应用。

Remoting 和 Messaging 技术与 AMF 的关系:

……“现有一些开源项目和技术为 Adobe Flash®和 Flex 客户端应用提供了 Remoting 和 Messaging 功能,这些技术和 AMF 协议规范的贡献代表了向跨平台的标准化实现的一大步,”Wade Arnold 这样谈论 AMFPHP。“用 Adobe 的技术做开发,我们可以创建一个公共的编程模型,使得 RIA 开发者可以扩展他们的应用,以一种兼容的和一致的方式跨越不同的服务器技术。AMFPHP 项目使得 LAMP(Linux, Apache, MySql, Php)应用可以直接与 Adobe 技术一起工作,更好的利用 AMF 协议,这太棒了。”……

今天 Adobe 还在Adobe Labs发布了更新的 Flex 和 AIR 的 beta 版。InfoQ 与 Adobe 的产品经理 Christophe Coenraets 讨论了新产品。第一个显而易见的问题是 Adobe 为什么要开源它的产品。Coenraets 解释说 Adobe 看到在业界有许多与 Flex 有关的 Remoting 方面的努力。然而许多公司不能负担昂贵的商业的解决方案。开源产品是为了加速 Flex 的采用。InfoQ 继而讨论了开源的产品与之前的产品 LifeCycle Data Services 的比较。Coenraets 说明这一次没有开源数据管理功能。RTMP 二进制消息通道也没有开源。BlazeDS 项目将包括传统的轮询通道和长轮询通道来接收消息。BlazeDS 还将包括一个新的 http 流通道用于需要快速通道的应用。

Coenraets 和 InfoQ 接着讨论了 AMF 协议的开源。AMF 是一种二进制的格式用来在客户端和服务器端交换数据。BlazeDS 项目的 Remoting 部分包括一个与 Java 通讯的实现。Coenraets 说 Adobe 发现 AMF 相比于其他的传输格式例如 XML 有显著的性能优势。Adobe 正在期待与AMFPHP 项目和 Midnight Coders 的合作,Midnight Coders 实现了.NET 版的 AMF 协议。Adobe 希望发布 AMF 协议规范将会使得其他项目可以更积极地支持其他语言的 AMF 访问。

最后,InfoQ 趁机跟进一下在今年 4 月宣布的 Flex 的开源计划的路线图。Adobe 的开源工作有三个目标:有源代码的构建版本,一个开放的 Bug 数据库,源代码控制系统允许公众访问。现在 Flex 有了定期的构建版本,Bug 数据库也已经投入使用,Coenraets 说 Adobe 准备在 2008 年初发布 Flex 3 的时候提供公开的源代码控制系统。同样,BlazeDS 已经有了定期构建版本和Bug 数据库,将在 2008 年初提供源代码控制系统。

查看英文原文Adobe Open Sources Remoting and Messaging Tedhnologies Along With AMF Protocol Specification
译者简介: 曹云飞,西安交通大学计算机软件硕士。现就职于Ethos,热衷于计算机理论与应用技术的钻研,软件架构与敏捷开发,目前从事 consumer product 方面的工作。参与 InfoQ 中文站内容建设,请邮件至china-editorial[at]infoq.com
Java语言 & 开发