2009-09-02 4 views
13

A well earned retirement for the SOAP Search API」がGoogleからSOAP APIを最近削除したことを発表した後、私はコミュニティがSOAPについて2009年に何を考えているのか不思議です。リモート処理とより冗長なクライアント - サーバステートレス通信を見ることができます。 [Ajax]ウェブの使用は今や冗長ですか?SOAPの終わりは近くにありますか?

SOAPとそのような種類のWebサービスの必要性がREST URLによって取り除かれましたか?

+0

これが尋ねられてから2分後に閉会と投票された理由は何ですか? –

+0

@chris:それは主観的な質問です。 –

+6

私はそれをwikiにするのに2分かかりますか、それとも閉じていますか? –

答えて

13

ここにSOAPがあります。正当な理由があります。

エンタープライズ環境では、自己記述型サービス(WSDLの助けを借りて)、トランザクションを使用する能力、信頼性の高いメッセージングなどが重要です。彼らは "今日のレイブ"の後のランニングよりもはるかに重要です。

RESTは良い使い方をしていますが、が完全にSOAPを置き換えることはできません。 RESTは、軽快なコミュニケーションのために素晴らしいです - つぶやきなど。しかし、SOAPについて知り、知っている理由もあります。

現在、SOAPはほとんどの環境で優れたツーリングサポートを提供しています。これは、RESTに匹敵するものがあります。

SOAPは、機械で読めるサービスの説明とサービスの検出を可能にします.RESTはこれと似ておらず、あなたのRESTサービスは文書化されていてもいなくてもよく、RESTサービスを文書化している英語の文章の品質は大きく異なります。

はい、今のところRESTは激怒しています。これは、扱いやすい多くの面白いシナリオを作ります。しかし、私はそれが本当にプライムタイム、エンタープライズレベルの使用の準備ができているとは思わない。多分いつかの日 - しかし今日はない。

+7

XMLがデファクトになったときにSOAPが発明されたようで、今や人々は大部分の状況がそれを必要としないことを認識しました。 IDやいくつかの引数をRESTのurlに投稿するだけです。そして、RESTは基本的にHTTPとは何か、動いているXMLの巨大なチャンクの代わりに動詞といくつかの引数をサーバにポストすることです。 –

+2

@ChrisS:私は両方とも彼らの場所を持っていると思う - 私はSOAPの死のニュースが非常に誇張されていると思う。はい、もちろん - 多くの場合、RESTはうまくいくでしょう。しかし、他のケースでは、いつでもRESTよりもSOAPを選択します。例:RESTで安全な(暗号化された)メッセージ転送を行うにはどうすればよいですか? SSLを使用した接続だけでなく、実際のメッセージ暗号化**。かなりトリッキー..... –

+15

HTTPSを使用するのではなく、メッセージを暗号化するのはどういう意味ですか? –

5

SOAPだけが死んでいれば、ああ。私はいくつかの企業ができるだけ早くSOAPベースのRPC戦略を追求していることを保証します。

4

すでに述べたように、RESTでは冗長なケースを処理できません。

URLの長さ制限を守らずに、RESTful Webサービスを通じて任意の数の複雑な引数を取る方法を教えていただけたら、それを聞いてみたいです。

科学的データの複雑なクエリでは、位置パラメータやキー/値の組み合わせ以上のものが必要です。

私の予想は、SOAPはCOBOLとFortranの後のいつかまで死ぬことはないということです。

+6

URLに収まるパラメータより多くのパラメータがある分散サービスエンドポイントがある場合は、より優れた設計ソリューションがある可能性があります。 –

+0

GoogleマップとBingマップの両方でURLの長いルートに問題があるため、この問題を回避するために魔法のように動作していません。 –

9

複雑な要求を送信する必要がある場合にフォームPOSTフィールドを使用してデータをPUTすることはできないということはRESTには何もありません。できるだけSOAPyにしようとするならば、大きなXMLの大きなブロックを投稿することさえできます。

IMHO SOAPは、初心者では必要のないラッパーです。私のためにそれを殺したのは、Axisと他のエンジンがあなたのWSDLのスタブをコードにコンパイルし、何かをWSDLに追加するたびに、すべてが下位互換性を持つように設計されていても消費者を壊してしまいました。永遠にREST。

+1

SOAPは単なるラッパーではありません!それは全体のポイントを逃す! SOAPは、トランスポートに依存しないデータのコンテナです。これは、拡張性、つまりデータ要求にメタデータを添付できる他のすべてのWS- *標準であるWS-Securityなどの固有の強みに由来します。 Restには拡張の概念はなく、メタデータの概念はありません。残りは軽量SOAPであり、複雑なビジネス環境ではその特性が必要です。 – Jon

+10

あなたは "enterprisey"のように聞こえるようにします。私が "エンタープライズ"アプリを書いているのを見てください。あなたはそのようなものを必要としません。なぜ "WS-Security"が必要ですか?シンプルなHTTP認証、または証明書ベースの認証で何が問題になりますか?考えられるすべての問題にすべてが答える必要があるのはなぜですか? SOAPは不要な膨大な数のものに過ぎません。 RESTは現代のCORBAに永遠に縛られることなく、あなたが必要とすることを何でもすることができます。 あなたにこれを教えてください。SOAPはSMTP経由で使用できます。それが設計されていないのであれば、私は何がわからないのですか? – ryber

+0

私はあなた自身の質問に「なぜWS-Securityが必要なのですか?なぜセキュリティが必要なのでしょうか? – Jon

関連する問題