 <p>You (probably) can't communicate in a <em>cross-platform</em> (and cross-browser) way from a web client to a local process, in any other way than you could with a web service.</p> <p>In other words, I think your main idea is the way to go - set up a local HTTP server that will serve the client, and then have that process also communicate with whatever remote services you may need. Perhaps you can find a lightweight Java-based HTTP server that can run your local process with GWT-RPC code inside it to minimize the changes to your current code.</p>