Nie chcę tutaj rozpoczynać świętej wojny, ale większość serwisów internetowych (flickr, twitter, facebook i inne) odrzuca SOAP na rzecz RESTful webservices i JSON jako formatu serializowanego. Chociaż zasadniczo takie same, usługi REST polegają na metodzie url i http w celu zdefiniowania, na przykład, co należy zrobić
GET /articles - list all articles
POST /articles - add a new article
PUT /articles/123 - update article 123 with new data
JSON - opisany w json.org - jest również prostszy niż XML i choć może nie ma znaczenia, pozwoli ci zaoszczędzić kilka bajtów na żądanie. Po poprzednim przykładzie oto, jak artykuł zostanie opisany w notacji JSON:
{
"id": 123,
"author": "Cyril",
"content": "Hello, this is an article",
"tags": [ "gamedev", "webservices", "multiplayer" ]
}
Dla iOS znajduje się ten miły artykuł http://petermcintyre.wordpress.com/2010/11/04/consume-json-rest-in-ios/, który wspomina
http://code.google.com/p/json-framework / do analizowania i generowania danych.
Będąc turowym, możesz polegać na sesjach HTTP na serwerze, aby utrzymać stan, więc nie ma potrzeby utrzymywania stałego połączenia gniazda z serwerem. Obsługuje to dowolny język po stronie serwera (php, python, java itp.).
Ta architektura pozwala skalować w poziomie (dodając więcej serwerów) w przejrzysty sposób.
Myślę, że używanie SOAP, a nawet HTTP to przesada. Wystarczy zdefiniować własny protokół za pomocą waniliowych połączeń TCP. Na przykład interpretuj każdy wiersz tekstu wysłanego jako polecenie. Zdefiniuj polecenia / odpowiedzi, które klient i serwer mogą wysyłać.
FICS działa w ten sposób i od wielu lat służy tysiącom szachistów. IRC też działa w ten sposób (patrz RFC 1459).
źródło