GWT保持同步客户端和服务器模型

时间:2010-12-11 00:27:29

标签: java gwt gwt-rpc

当用户访问该站点时,会在客户端和服务器端创建一个空的购物车。当他将产品添加到SC时,完成RPC调用以在服务器端添加产品。我们需要在同一客户端进行同步并更新UI。如果我们不这样做并切换到一个引用旧SC的视图。 UI将不会相应更新(空SC,而其中有一个产品)。

解决方案1 ​​

RPC调用返回更新的SC并执行clientSC = returnedSC。它不是很有效,因为要通过线路传输大量数据。

解决方案2

RPC调用返回添加的产品,在客户端调用方法addProduct,将产品添加到列表中,而不是将其存储在数据存储区中(如服务器端)。

解决方案3

与解决方案2相同,但使用事件通知主持人(我使用MVP模式),其中包含对SC的引用。

哪一个是最好的,更一般地说,保持客户端和服务器模型同步的最佳做法是什么?

1 个答案:

答案 0 :(得分:4)

使用RequestFactory,它附带gwt 2.1。

http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html

  

RequestFactory让它变得容易   在两者上实现数据访问层   客户端和服务器。它允许你   在a中构造你的服务器端代码   以数据为中心的方式并提供更高的   抽象级别比GWT-RPC,   这是面向服务而不是   面向数据。在客户端,   RequestFactory跟踪对象   已修改且 仅发送   更改服务器,结果   在非常轻量级的网络有效负载中 。   另外,RequestFactory提供了一个   自动化的坚实基础   批量和缓存请求   未来。

     

RequestFactory使用自己的servlet,   RequestFactoryServlet和实现   它自己的数据交换协议   在客户端和服务器之间它不是   专为通用服务而设计   像GWT-RPC,而不是   我们将看到面向数据的服务   不久。 RequestFactory不使用   GWT-RPC并不打算替换   它。它专为   实现持久层   客户端和服务器。