I don't mean to start a holy war here, but most of the internet services (flickr, twitter, facebook and such) have been dropping SOAP in favor of RESTful webservices and JSON as the serialized format. Although essentially the same, REST services rely on the url and http method to define what should be done, for example
GET /articles - list all articles
POST /articles - add a new article
PUT /articles/123 - update article 123 with new data
JSON - described in json.org - is also simpler than XML, and altough maybe irrelevant, will save you a few bytes per request. Following the previous example, here's how an article would be described in JSON notation:
{
"id": 123,
"author": "Cyril",
"content": "Hello, this is an article",
"tags": [ "gamedev", "webservices", "multiplayer" ]
}
For the IOS there's this nice article http://petermcintyre.wordpress.com/2010/11/04/consume-json-rest-in-ios/ which mentions
http://code.google.com/p/json-framework/ for parsing and generating the data.
Being turn-based, you can rely on http sessions on the server to maintain state, so there's no need to keep a persistent socket connection to the server. Any server-side language supports this (php, python, java, etc).
This architecture allows you to scale horizontally (adding more servers) in a transparent way.