 <p>Use REST; REST is nothing more than using plain HTTP 'better'. Since you are already using HTTP, somehow you are already doing REST like calls and moving these calls to full fledged REST will be easy.</p> <p>Implementing REST calls is easy. You have two approaches: </p> <ul> <li>Low end: using URLConnection objects on the client, servlets on the server and following some REST conventions on using HTTP methods and 'clean' URLs (see <a href="http://en.wikipedia.org/wiki/Clean_URL" rel="nofollow">here</a>). Advantage is that you need no 3rd party library and minimize the footprint. Maintenance and evolutions are harder though.</li> <li>High-end: a framework and specifications like JAX-RS. Using <a href="http://www.restlet.org/" rel="nofollow">Restlet</a> you can be up in running with a REST server in a couple of hours without having to deploy a servlet container.</li> </ul> <p>Don't use SOAP. The only reason you would want to use SOAP is that you want to contractualise using a WSDL what you are exposing (you can do the same with REST btw, see the Amazon documentation for instance). Trust me, SOAP is way too heavy and confusing for what you are trying to do.</p>