Web APIとWebサービスに違いはありますか?それとも、彼らはまったく同じですか?
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プロトコルが必要なので、軽量のアーキテクチャではありません。
Web API:
1)Web APIはHTTPベースのサービスであり、デフォルトでJSONまたはXMLデータを返します。
2)HTTPプロトコルをサポートしています。
3)アプリケーションまたはIIS内でホストできます。
4)オープンソースであり、JSONまたはXMLを理解しているクライアントなら誰でも使用できます。
5)モバイル機器のように、軽量でアーキテクチャが限定されており、帯域幅が限られている機器に適しています。
リンクされた記事の概要を貼り付けただけです。
概要:
すべてのWebサービスはAPIですが、すべてのAPIはWebサービスではありません。
Webサービスは、APIが実行するすべての操作を実行するわけではありません。
Webサービスは、通信に3つの使用スタイル(SOAP、REST、およびXML-RPC)のみを使用しますが、APIは通信に任意のスタイルを使用できます。
Webサービスはその操作に常にネットワークを必要としますが、APIはその操作にネットワークを必要としません。
Webサービスがあるのに対し、APIはアプリケーションとの直接インターフェースを容易にします。
続きを読む:APIとWebサービスの違いの違いAPIとWebサービス http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
完全な答えは上記のリンクを見てください。
必要に応じてWebサービスはWeb APIです。具体的には、Web APIは通常RESTful(HTTPベース)Webサービスを意味し、Webサービスは通常SOAP + WSDL(+ HTTPまたはSMTPまたはJMSなど)を意味します。
通常RESTful WebサービスはWebサービス(WSDL、SOAP)とは反対ですが、最近ではRESTful Webサービス(大文字の「W」を含む)という用語が導入されました。これはRESTful + WSDL + SOAPを意味します。
このグラフをチェックして、3つの概念の違いを調べてください。 http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
それが役に立てば幸い!
WebサービスはWeb APIと全く同じです - 基礎となるデータフォーマットに関してはもう少し制限があります。どちらもHTTPプロトコルを使用しており、どちらもRESTfulサービスを作成できます。そして、JSON-RPCのような他のプロトコルを忘れないでください。
ASP.Netのコンテキストでは、Web APIは基本クラスが ApiController であり、ビューを使用しないControllerです。 Webサービスは WebService から派生したクラスであり、自動WSDL生成を備えています。デフォルトではSOAP apiですが、 ScriptServiceAttribute を追加してJSONを使用することもできます。