title: Options for Client Server Communication in Android
body: <p>I'm currently in the research phase of my dissertation project.</p>
  
  <p>My project is a ticket booking system for a mobile device and I have chosen to target Android.</p>
  
  <p>I anticipate the need for a client/server architecture with a central server, and so am currently looking at how Android could communicate with such a server. The server would grant the client access to ticketing information, and the client would send information about ticket bookings to the server. I'm looking at Java EE for the server as Java is the language I'm most experienced with.</p>
  
  <p>I'm aware that Android comes with <code>java.nio</code> and <code>java.net</code>, as well as some <code>org.apache</code> packages, but am also looking for libraries/technologies that would be possible to use with Android.</p>
  
  <p>So far I've not found anything massively helpful on the internet, so I'm seeing what SO can suggest.</p>
  
  <p>Specifically I am interested in knowing:</p>
  
  <ol>
     <li>What support is there for various middleware technologies in Android? e.g.
        <ul>
           <li>RPC based middleware</li>
           <li>CORBA</li>
           <li>Message based middleware</li>
           <li>Web services such as XML-RPC, SOAP, REST</li>
        </ul>
     </li>
     <li>How well (or not) do existing Java libraries work when used on the Android platform? (e.g. If I wanted to use a library/API designed for Java SE rather than Android what problems might I encounter?)</li>
  </ol>
  
  <p>Ideally, as the focus of my project isn't meant to be the communication between the server and client, I could use an existing middleware to handle the communication, but I am prepared for the worst case, which is having to write my own.</p>