2009-09-03 19 views
4

申し訳ありませんが、同じ質問をする100000番目の人です。しかし、私のケースはやや独特だと思います。REST/JSON/XML-RPC/SOAP

3gのAndroid携帯電話クライアントと軽いpython Webサービスサーバーが必要なアプリケーションです。

携帯電話はほとんどの作業を行い、アップロード、写真、GPSなどをたくさん行います。サーバーはアップロードごとに「OK」で応答する必要があります。

バッテリーで最も軽い方法を使いたいです。しかし、これらすべてのプロトコルについて読むことは、すべて同じように聞こえるので、少し混乱します。

これらはすべて同じレベルですか? JSONをRESTfulなものにすることはできますか? 説明したように、ここでの鍵はアップロードです。 RESTトランザクションのすべての入力はURI内になければなりませんか?すなわちhttp://www.server.com/upload/0x81d058f82ac13。 XML-RPCとSOAPはグーグルとよく似ています。

答えて

7

RESTは一般的なセマンティクスと概念を要求します。輸送とエンコーディングはあなた次第です。もともとXMLで策定されていましたが、JSONは完全に適用可能です。

XML-RPC/SOAPは異なるメカニズムですが、主にXMLとHTTPの上にOO APIをマップする方法も同じです。 IMHO、彼らはデザインビューから嫌です。私はRESTについて見つけたらとても安心しました。あなたのケースでは、たくさんのレイヤーがもっと多くのCPU要求を意味すると確信しています。

JSONをエンコーディングに使用してRESTと言います。しかし、あなたの要件がちょうどアップロードのように単純であれば、単純にHTTPを使うことができます(特定のライブラリを追加しなくてもRESTfulな設計になる可能性があります)

+4

古いHTTPが機能するはずです。 HTTP応答コードヘッダーは、成功または失敗を示すために使用できます。成功のために2xxの範囲内にあり、失敗のために4xxです。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html – MadCoder

+3

を参照してください。RESTは一般的な古いHTTPです。 HTTP GET、POST、およびURIパスにセマンティクスを割り当てるアプローチです。 –

+0

しかし、RESTはXML-RPCよりも簡単です。 とXML-RPCのポストだろう:私は右のそれを取得する場合、JSONのポストは http://server.com/class1 HTTP POST {、 "JSONのもの" "何とか何とか"}のようなものになるだろう http://server.com HTTP POST class1にものだから、 なるXMLはJSONより少し太っているという事実以外に、何か他のものは、それらの間に根本的に異なっていますか? – xster