電卓サービスは、RESTfulな方法でモデル化するのが簡単です。 "CRUD"の "R"は "read"を意味し、 "read"は "compute"を意味することはできません。だから、簡単なReverse Polish電卓サービスは、GETを介してアクセスすることができます
3
4
+ (URL-encoded as %2B)
冪等、安全でキャッシュ可能なリクエストです:
GET https://calc.com/rpnCalc?3&4&%2B
7
単に上記のURIスキームは、GETリクエストへの3つのパラメータを追加します。これが計算に多大な時間を要した非常に複雑な数学クエリであった場合、これらのクエリをすぐに使用できるHTTPプロキシにルーティングし、同じURIを繰り返しクエリする必要がある場合は事前計算された値を即座に返すことができます。
必要な計算の種類によっては、非常に複雑なクエリをCalculatorリソースにPOSTすることもできます(クエリをリクエスト本体として渡すこともできます)。サーバはURIを "result"リソースに返す可能性があります結果を取得するためにGETすることができます。また、結果をページ分割することもできます。
第二に、SOAPの ロジックは、すでに完全な理にかなっている場合は、SOAP上でRESTを使用しての本当の利点は何ですか?
複雑なSOAPを構築することなく、curlのようなコマンドラインツールを使用して上記の電卓サービスにアクセスできます。サードパーティのXMLライブラリやSOAPツールキットを使用することなく、数秒で呼び出しをコーディングできます。 HTTPプロキシなどの商品ツールを使用して結果をキャッシュし、パフォーマンスを向上させることができます。 SOAPの相互運用性やWS-Iとの互換性を確認する必要はありません。ハイパーリンクを正しく使用すると、既存のクライアントに影響を与えたり、再コンパイルすることなく、サービスを進化させて改善することができます。私は何年にもわたって維持しなければならない脆弱な契約やWSDLはありません。クライアントはすでにGET/PUT/POST/DELETEが何をしているのかを知っているので、セマンティクスを再定義する必要はありません。 XMLの代わりにJSONを使用することを希望するAPIクライアントは、HTTPの組み込みコンテンツネゴシエーション機能を使用して取得できます。 SOAPとWebサービスでは、ゼロを絶対に行うことができます。
ねえ、SOAPがあなたのニーズに合っているなら、それを持ってください。 RESTの使用には多くのメリットがありますが、状況によっては適切でない場合があります。少なくとも、RESTがまともな本like this oneであなたに与えることができることを学び、完全な話を得た後であなたの心を作りましょう。
を返しますので、正確にあなたの質問は何ですか? – paulsm4