blazedslivecycle数据服务做什么,而像PyAMF或RubyAMF这样的东西做不到?

2024-04-29 04:10:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个技术回顾,并研究AMF与各种后端(Rails、Python、Grails等)的集成。在

有很多选择,问题是,像RubyAMF/pyAMF这样的Adobe产品能做什么(BlazeDS等等),而RubyAMF没有呢?在


Tags: 产品技术adoberailsamfpyamfgrailsrubyamf
3条回答

Adobe有两个产品:livecycledataservices ES(LCDS)和BlazeDS。BlazeDS包含了LCDS功能的一个子集,并且是开源的。不幸的是,NIO通道(rtmpnio/HTTP)和数据管理特性只在lcd中实现,而不是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的竞争对手)

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

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

除“LCMP”外,NIO还包括“数据管理”功能。在

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

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

在我看来,用这种方式开发可能会非常快,但前提是只有基本的需求和简单的体系结构(忘记SOA,否则它在Flex中工作得很好)。我对BlazeDS很满意。在

相关问题 更多 >