I can't tell you where to start, but I will give you some tips based on my own experience:
I use form-encoded parameters for sending stuff to the server (form-encoded POSTs or query string GETs) and JSON for responses. This works very nicely with the PHP Services_JSON package.
I had trouble with XML responses; some browsers it turned out, had encoding bugs etc, causing unicode strings to not come through correctly and/or other problems.
- Another tip is to use a single gateway page.
This greatly simplifies the process. I use the PATH_INFO to contain the command that is being executed (some commands use GET, others POST depending whether they're modifying anyway). This works nicely.
So an example request might be:
GET /server/gateway.php/GetPostsPage?thread_id=156&skip=0&max=5
Where "GetPostsPage" is the command name, and the rest are parameters.
Mark