Web APIとWeb サービスに違いはありますか? それとも同じですか?
13 に答える
Web サービスは通常、クライアント スタブを自動的に作成できるWSDLを提供します。Web サービスはSOAP プロトコルに基づいています。ASP.NET Web API は、 REST ベースのインターフェイスを構築するのに役立つ新しい Microsoft フレームワークです。応答は JSON または XML のいずれかになりますが、Web API は Web サービスからの WSDL のようなサービス記述を提供しないため、クライアントを自動的に生成する方法はありません。したがって、どのテクニックを使用するかは、要件によって異なります。おそらく、WCFの方が要件に適している可能性があります。MSDN のドキュメントを参照してください。
Web サービスと Web API の基本的な違い
ウェブサービス:
1) SOAP ベースのサービスであり、データを XML として返します。
2) HTTP プロトコルのみをサポートします。
3) オープン ソースではありませんが、XML を理解するすべてのクライアントが使用できます。
5) ネットワーク経由でデータを送受信するには SOAP プロトコルが必要なため、軽量なアーキテクチャではありません。
ウェブ API:
1) Web API は HTTP ベースのサービスであり、デフォルトで JSON または XML データを返します。
2) HTTP プロトコルをサポートします。
3) アプリケーションまたは IIS 内でホストできます。
4) オープンソースであり、JSON または XML を理解するすべてのクライアントが使用できます。
5) アーキテクチャが軽量で、モバイル デバイスなどの帯域幅が限られているデバイスに適しています。
リンクされた記事の要約を貼り付けただけです:
概要:
すべての Web サービスは API ですが、すべての API は Web サービスではありません。
Web サービスは、API が実行するすべての操作を実行するとは限りません。
Web サービスは通信に SOAP、REST、XML-RPC の 3 つの使用スタイルのみを使用しますが、API は通信に任意のスタイルを使用できます。
Web サービスの操作には常にネットワークが必要ですが、API の操作にはネットワークは必要ありません。
API はアプリケーションとの直接のインターフェースを容易にしますが、Web サービスは ...
続きを読む: API と Web サービスの違い | の違い | API と Web サービスhttp://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
完全な回答については、上記のリンクを参照してください。
- Web サービスは、システムまたはアプリケーション間でデータを交換するために使用されるオープン ソース プロトコルおよび標準の集まりであり、API は、ユーザーの関与なしに 2 つのアプリケーションが相互に対話できるようにするソフトウェア インターフェイスです。
- Web サービスは REST、SOAP、XML-RPC の通信に使用され、API はあらゆるスタイルの通信に使用されます。
- Web サービスは HTTP プロトコルのみをサポートしますが、API は HTTP/HTTPS プロトコルをサポートします。
- Web サービスは XML をサポートし、API は XML と JSON をサポートします。
- すべての Web サービスは API ですが、すべての API は Web サービスではありません。
まあ、マイクロソフトの世界ではTMKが正しいかもしれませんが、Java/Pythonなどを含むすべてのソフトウェアの世界では違いはないと思います。それらは同じものです。
ここでうまく説明されているWebサービスとWeb APIの違い:
リンクからのテキスト:
Web サービス - これは W3C によって定義された標準であるため、半自動または自動 (WSDL / UDDI) でアクセスできます。全体が XML に基づいているため、誰でも呼び出すことができます。また、サービスのあらゆる側面が非常に明確に定義されています。パラメータ記述標準、パラメータ受け渡し標準、応答標準、発見標準などがあります。おそらく、標準を説明する 2000 ページの本を書くことができます。認証など、「標準」のことを行うための「追加の」標準もあります。
クライアントがかなり貧弱であるため、自動呼び出しと検出がほとんど機能していないという事実にもかかわらず、任意のクライアントから任意のサービスを呼び出すことができるという実際の保証はありません。
Web API は通常、HTTP/REST として行われ、何も定義されていません。出力は、たとえば. JSON/XML、入力は XML/JSON/またはプレーン データにすることができます。何にも標準はありません=>自動呼び出しと検出はありません。テキスト ファイルまたは PDF で説明を提供したり、Unicode の代わりに Windows-1250 でデータを返したりすることができます。
Web は Web API / REST に移行しています。Web サービスは、実際には Web API に勝るものはありません。開発が非常に複雑で、より多くのリソース (帯域幅と RAM) を消費します...そして、すべてのデータ変換 (REQUEST->XML->DATA->RESPONSE->XML->VALIDATION->CONVERSION->DATA) のために非常にスロー。
例えば。WebAPI では、データをパックし、圧縮して送信し、クライアントで圧縮解除 + アンパックすることができます。SOAP では、HTML リクエストを圧縮することしかできませんでした。