移動大塊數據通常是一個非常糟糕的主意,對於客戶端 - 服務器體系結構而言,這通常是不常見的。所以我會推薦重新設計。
GWT-RPC是面向服務的。所有的RPC框架都是。主要目的是序列化/反序列化方法調用。換句話說,與服務器和客戶端通信的是必須明確定義的消息。在GWT中,底層傳輸機制是JSON,而在SOAP中(例如)它是XML,但機制相同。
RequestFactory更加以數據爲中心。想象一下,由一個簡單的HTTP請求和URL/getCustomers觸發的servlet。該servlet只是訪問數據庫並返回結果。 RequestFactory非常類似,但提供了額外的功能。例如,RequestFactory依賴於在服務器上創建實體對象Customer,並在客戶端上創建代理對象CustomerProxy。框架處理這些對象之間的數據傳輸。更具體地說,RequestFactory可以更新各個屬性(即'字段'),並且因此可以通過僅發送狀態差異來提高效率。
一個重要的體系結構差異是GWT-RPC在更多功能級別上運行。 RequestFactory在數據級別運行。一個典型的實現可能是使用RequestFactory進行CRUD界面設置。使用GWT-RPC這樣的設計是非常錯誤的。
我建議您在做出決定之前更多地閱讀這兩個框架。但是,RequestFactory似乎是解決您的問題的最佳解決方案。
如果你只有一個用例,那麼實現你自己的servlet可能會很好。在您的GWT代碼中使用RequestBuilder從servlet請求數據。訪問數據庫,將ResultSet轉換爲JSON,在客戶端將響應轉換回JavaScriptObject並完成。這將爲您節省設置RequestFactory和所有實體,代理和定位器的工作。