保持客户端数据与后端数据库同步的最佳策略?

在使用BlazeDS AMF远程处理的Adobe Flex应用程序中,保持本地数据新鲜并与后端数据库同步的最佳策略是什么?

在典型的Web应用程序中,网页在每次加载时刷新视图,因此视图中的数据永远不会太旧。

在一个Flex应用程序中,有一种想法是预先加载更多的数据以跨标签页,面板等进行共享。这些数据通常从后端刷新的频率较低,所以更有可能会过时 - 导致保存时出现问题等。

那么,解决这个问题的最好方法是什么?

一个。 构建Flex应用程序,就像它是一个Web应用程序一样 - 在每次可能的视图更改时重新加载后端数据

湾 忽略这个问题,并在发生数据问题时处理陈旧的数据问题(可能会导致更可能使用陈旧数据的恼人用户)

C。 别的东西

在我的情况下,通过LiveCycle RTMP保持数据通道打开不是一种选择。


一个。 考虑通过代理来优化后端更改,该代理执行自己的通知或轮询:它知道是否有任何数据是脏的,如果不是,则会快速返回(a la a 304)。

湾 用户经常看起来比他们触摸的更多。 在开始和继续编辑时,考虑一个级别的刷新级别和另一个刷新级别。

看看BuzzWord:它会锁定编辑,但也会经常自动保存和解锁。

干杯


如果你不能在BlazeDS中使用消息传递协议,那么我将不得不同意你应该通过HTTP进行RTMP轮询。 在AMF中使用RTMP时会压缩数据,这有助于加快速度,以便客户端在更新之间等待较长时间。 如果产品的客户决定支付额外的硬件和许可证,这也可以让您稍后扩展到推送方法。


您不需要Livecycle和RTMP以实现通知机制,您可以使用BlazeDS的渠道来执行此操作,并使用流式/长轮询策略

链接地址: http://www.djcxy.com/p/41757.html

上一篇: best strategy for keeping client data in synch with backend database?

下一篇: Locking Row in SQL 2005