gwtgwt-rpc

GWT RPC -- Effect of sending very large binary data?


Assuming a standard Jetty servlet container, what is the effect (On the server, or the client) of sending a large set of binary (string) data over RPC?

Specifically, since it does not seem that GWT RPC has support for streaming, I am concerned that two things might happen:

  1. Large memory consumption on the server side since the binary data is being loaded into memory of the RPC class.
  2. Slow serialization or de-serialization.

Assuming any of these are true, what are my options? I am trying to build a uniform API so I'd rather not have to tell the developer: "Oh in this case, manually create a REST request to get the data".


Solution

  • If you need to transfer a really big amount of binary data, GWT-RPC is a bad choice (all the problem you've listed are correct ones). But if you want a uniform API on the client side, without telling the developer to simply use raw HTTP to get data, you'll have to provide client implementation for your binary service.