我正在进行技术审查并查看 AMF 与各种后端(Rails、Python、Grails 等)的集成。
有很多选择,问题是,Adobe 产品(BlazeDS 等)有什么像 RubyAMF / pyAMF 没有的?
我正在进行技术审查并查看 AMF 与各种后端(Rails、Python、Grails 等)的集成。
有很多选择,问题是,Adobe 产品(BlazeDS 等)有什么像 RubyAMF / pyAMF 没有的?
除了 NIO (RTMP) 通道,LCDS 还包括“数据管理”功能。
使用此功能,您基本上可以在 ActionScript 类中实现由 LCDS 定义的类似 CRUD 的接口,您将获得:
IMO,以这种方式开发可能非常快,但前提是您只有基本要求和简单的架构(忘记 SOA,否则它与 Flex 配合得很好)。我对 BlazeDS 很好。
此处描述的 LCDS 数据管理功能当然是有效的,但我相信它们不会让您真正更快地开发解决方案。开发人员仍然必须编写所有数据访问代码、查询执行、从数据读取器中提取数据到值对象中。所有这些都已经用代码生成器解决了十几次。例如,Java 的 WebORB 中的数据管理方法(很像 .NET 和 PHP 的 WebORB)基于代码生成,它为客户端和服务器端创建代码。您可以从代码生成器中获取所有 ActionScript API 来执行完整的 CRUD。
此外,WebORB 提供视频流和实时消息传递功能,远远超出了 BlazeDS 和 LCDS 提供的组合,特别是考虑到该产品是免费的。只是谷歌它。
Adobe 有两种产品:Livecycle Data Services ES (LCDS) 和 BlazeDS。BlazeDS 包含 LCDS 功能的子集,并且是开源的。不幸的是,NIO 通道(RTMP NIO/HTTP)和数据管理功能仅在 LCDS 中实现,而不是在 BlazeDS 中实现。
BlazeDS 只能用于将 Flex 与 Java 后端集成。它不仅提供使用 AMF 序列化(如 RubyAMF)的远程服务,还提供消息传递和协作功能 - 请查看此链接 ( http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcoverview_3 .html)。另外我认为与 RubyAMF/pyAMF 相比,它的支持更好。
如果您的后端是 JAVA,并且您只想使用免费产品,您也可以使用 GraniteDS 或 WebORB(BlazeDS 的竞争对手)
好问题。我不是一个 ruby 人(我使用 java 和 flex),但我认为 blazeds 与商业 livecycle ds 的区别是