Web APIとWebサービスに違いはありますか?それとも同じですか?
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サービスは、通信に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サービスは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で、ビューを使用しないコントローラーです。WebサービスはWebServiceから派生したクラスで、WSDLが自動生成されます。デフォルトではSOAP APIですが、ScriptServiceAttributeを追加してJSONを使用することもできます。
APIとWebサービスは通信手段として機能します。
唯一の違いは、Webサービスがネットワーク上の2台のマシン間の対話を容易にすることです。APIは2つの異なるアプリケーション間のインターフェースとして機能し、それらが互いに通信できるようにします。 APIは、サードパーティベンダーが他のプログラムと簡単にインターフェイスするプログラムを作成できる方法です。Webサービスは、通常はWebサービス記述言語(WSDL)で指定されている機械処理可能な形式で表されるインターフェイスを持つように設計されています
すべてのWebサービスはAPIですが、すべてのAPIがWebサービスであるとは限りません。
Webサービスは、HTTPでラップされたAPIにすぎません。
このここでの記事では、WebサービスとAPIに関する十分な知識を提供します。
まあ、TMKはMicrosoftの世界では正しいかもしれませんが、Java / Pythonなどを含むすべてのソフトウェアの世界では、違いはないと私は信じています。それらは同じものです。
/software/38691/difference-between-web-api-and-web-service
Webサービス-これはW3Cによって定義された標準であるため、半自動または自動(WSDL / UDDI)でアクセスできます。全体がXMLに基づいているため、誰でもそれを呼び出すことができます。そして、サービスのあらゆる側面が非常に明確に定義されています。パラメータ記述標準、パラメータ受け渡し標準、応答標準、ディスカバリー標準などがあります。おそらく、標準を記述する2000ページの本を書くことができます。認証などの「標準的な」ことを行うための「追加の」標準もいくつかあります。
クライアントがかなり貧弱であるため、自動呼び出しと自動検出がほとんど機能していないという事実にもかかわらず、任意のクライアントから任意のサービスを呼び出すことができるという保証はありません。
Web APIは通常、HTTP / RESTとして実行され、何も定義されていません。JSON / XML、入力はXML / JSON /プレーンデータにすることができます。何かの基準はありません=>自動呼び出しと自動検出はありません。テキストファイルまたはPDFでいくつかの説明を提供したり、Unicodeなどの代わりにWindows-1250でデータを返すことができます。標準を説明するには、いくつかの簡単な情報を含む2ページのパンフレットであり、他のすべてを定義します。
WebはWeb API / RESTへと移行しています。Webサービスは、実際にはWeb APIに勝るものはありません。開発が非常に複雑で、より多くのリソース(帯域幅とRAM)を消費します...そして、すべてのデータ変換(REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA)のため、スロー。
例えば。WebAPIでは、データをパックし、圧縮してクライアントに送信することができます。SOAPでは、HTMLリクエストしか圧縮できませんでした。
すべてのWebServicesはAPIですが、すべてのAPIはWebServicesではありません。Webで公開されるAPIはWebサービスと呼ばれます。