サービス定義は人間が読めるものではなく、ほとんどの開発者は自動化されたツールを使用してサービス定義を使用し、アプリケーションでオブジェクトを生成します。サービス プロバイダーが単純な XML スキーマを定義し、取得できるものと取得方法をドキュメントで教えてくれる方が簡単ではないのはなぜですか? 私は「普遍的な定義」の側面全体を理解していますが、それはすべて非常に複雑に思えます. ソーシャル サイトのほとんどの API は、基本的な RESTful アーキテクチャを使用しており、返されるデータのスキーマ表現を提供するだけです。真剣に、私はここで何かが欠けているに違いありません。
6 に答える
かつては WSDL が一般的でした。多くの企業 (および大規模な SOA システム) の内部ツールで WSDL がまだ使用されていることは確かです。しかし、おっしゃる通り、REST の採用により、WSDL が「シーンに登場」すると、少しマップから外れてしまいました。
たとえば、Amazon S3 を考えてみましょう。REST API とともに WSDL を提供します。S3 ユーザーの 98% が REST API を使用しており、Amazon が WSDL サポートの廃止を検討しているとどこかで読んだことがあります。
RESTはきれいです。多くの場合、WSDL は他のツールに依存して、WSDL を解析したり、WSDL が提供するサービスを利用するアプリケーションの機能を自動的に構築したりします。また、REST には、HTTP を利用することでより自然になり、それ以上のものに依存しないという利点もあります。SOAP と WSDL に付随する他の多くの頭字語が混ざり合うと、多くのことを手にすることになります....
では、ツールが現在提供しているのと同じレベルのコード生成サポートを提供できるようにする「単純な XML スキーマ」を提案してください。
WSDL の設計者は、必要なものをすべて公開できる最も単純なスキーマをすでに提供していると主張するでしょう。必ずしも同意するとは言いませんが、クライアントを自動生成できることは非常に強力です。
私には、WSDL は、元の Java EJB のように、過度に設計された「オニオン アーキテクチャ」のもう 1 つの例のように思えます。たくさんの層と涙。
1 つには、WSDL は、自動化されたツールがオブジェクトを生成するために使用するものです。XML はすでに非常に単純な XML 形式になっていますが、XML を簡単に記述できるツールは存在しないと考え始めています。RESTよりも優れたプロトコルだと言う人は誰もいないと思いますが、RESTが最初に登場し、優れたツールサポートを備えており(Visual Studioはサービスを作成および使用するときに完全に抽象化されています)、標準であるため、おそらく人気があり続けるでしょう.しばらく。
WSDL は XML 表現ファイルであり、実装技術やプラットフォームに関係なく、外部システムが Web サービスと通信するための通信標準です。参考までに、RESTful サービスでは、WADL という定義言語ファイルを使用してサービスを記述することもできます。つまり、Web サービスだけの問題ではありません。
このリンクはあなたを助けるはずです。
http://www.prescod.net/rest/rest_vs_soap_overview/
これは、SOAP と REST の競合を理解していない人を助けるための優れたリソースです。それらは異なるツールです。それらを使用して、最も効率的な方法で問題を解決してください。