4

我正在进行技术审查并查看 AMF 与各种后端(Rails、Python、Grails 等)的集成。

有很多选择,问题是,Adobe 产品(BlazeDS 等)有什么像 RubyAMF / pyAMF 没有的?

4

4 回答 4

3

除了 NIO (RTMP) 通道,LCDS 还包括“数据管理”功能。

使用此功能,您基本上可以在 ActionScript 类中实现由 LCDS 定义的类似 CRUD 的接口,您将获得:

  • 自动渐进式列表加载(滚动时加载大型列表/数据网格)
  • 自动 crud 管理(您在闪存中本地获取对象,对其进行修改,将其发送回,数据库将自动更新)
  • 解决冲突的功能(如果多个用户尝试同时更新同一记录)
  • 如果我没记错的话,还有一些改进的与 LiveCycle ES 工作流引擎的集成

IMO,以这种方式开发可能非常快,但前提是您只有基本要求和简单的架构(忘记 SOA,否则它与 Flex 配合得很好)。我对 BlazeDS 很好。

于 2008-09-19T00:02:00.117 回答
3

此处描述的 LCDS 数据管理功能当然是有效的,但我相信它们不会让您真正更快地开发解决方案。开发人员仍然必须编写所有数据访问代码、查询执行、从数据读取器中提取数据到值对象中。所有这些都已经用代码生成器解决了十几次。例如,Java 的 WebORB 中的数据管理方法(很像 .NET 和 PHP 的 WebORB)基于代码生成,它为客户端和服务器端创建代码。您可以从代码生成器中获取所有 ActionScript API 来执行完整的 CRUD。

此外,WebORB 提供视频流和实时消息传递功能,远远超出了 BlazeDS 和 LCDS 提供的组合,特别是考虑到该产品是免费的。只是谷歌它。

于 2008-09-19T04:17:40.937 回答
2

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 的竞争对手)

于 2008-09-17T13:13:50.197 回答
1

好问题。我不是一个 ruby​​ 人(我使用 java 和 flex),但我认为 blazeds 与商业 livecycle ds 的区别是

  1. 流协议支持 (rtmp) - 竞争彗星等,提供视频
  2. 我不完全理解或需要的一些用于休眠分离对象和大型结果集缓存的高级东西
    1. 支持?可能是其他人,但那些是我知道的。
于 2008-09-16T21:42:49.797 回答