Web APIとWebサービスの違いは何ですか?


136

Web APIWebサービスに違いはありますか?それとも同じですか?




3
APIは公開されたインターフェースであり、サービスはバックエンドで実行される実装です。
Rasika Perera、2015年

1
回答は注意して読んでください。それらの一部は古くなっているか無効である
Menuka Ishan

もう1つ素晴らしい説明を追加するだけ -quora.com/What-is-the-difference-between-web-services-and-API
Ashish Shetkar

回答:


71

Webサービスは通常、クライアントスタブを自動的に作成できるWSDLを提供します。WebサービスはSOAPプロトコルに基づいています。ASP.NET Web APIは、RESTベースのインターフェースの構築に役立つ新しいMicrosoftフレームワークです。応答はJSONまたはXMLのいずれかですが、Web APIはWebサービスからのWSDLなどのサービス記述を提供しないため、クライアントを自動的に生成する方法はありません。したがって、どの手法を使用するかは、要件によって異なります。おそらく、WCFでも要件に適合します。MSDNのドキュメントをご覧ください。


7
Webサービスは必ずしもSOAPプロトコルに基づいているわけではありません。
horcrux 2018

3
技術的に時代遅れの回答
Arun Raaj

4
「ASP.NET Web API」はMicrosoftフレームワークであり、「Web API」自体ではありません。
アミールホセインアフマディ

時代遅れの答えは、このリンクをご覧microsoft-techies.blogspot.com/2014/03/...を
ガネーシュKarewad

41

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)軽量のアーキテクチャを備えており、モバイルデバイスなど、帯域幅が制限されているデバイスに適しています。


7
IISだけでなく、多くの場所でWebサービスをホストできます
Ignacio Soler Garcia

3
事実上、すべての点が間違っています。40人のユーザーがどのようにして投票したか理解できません。
horcrux

1
@horcrux同意する。Webサービスは、SOAPベースのサービスである必要はありません。
ライアン

私が今まで見た中で最も混乱する答え。
mhrsalehi

23

APIとWebサービス

リンクされた記事の要約を貼り付けました:

概要:

  1. すべてのWebサービスはAPIですが、すべてのAPIはWebサービスではありません。

  2. Webサービスは、APIが実行するすべての操作を実行するわけではありません。

  3. Webサービスは、通信にSOAP、REST、XML-RPCの3つの使用スタイルのみを使用しますが、APIは通信に任意のスタイルを使用できます。

  4. Webサービスの操作には常にネットワークが必要ですが、APIの操作にはネットワークは必要ありません。

  5. APIはアプリケーションとの直接インターフェースを容易にしますが、Webサービスは...

続きを読む:APIとWebサービスの違い| の違い| APIとWebサービス http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv

完全な回答については、上記のリンクを参照してください。


10
しかし、問題はWebAPIのとWebサービスではなく、「API」の違いについてです
Kulbhushanシン

さらに、ポイント3は正しくありません。それは誤解を招くものであり、「SOAP対REST」トピックについて混乱を招くだけの助けになります。
horcrux

9

詳細については、このリンクにアクセスしてください 図


2
どうして?この画像から、SOAP Webサービスはスマートフォンでは使用できないようです...またはデスクトップでも使用できますか?本当に?誰かがあなたにそれらのプラットフォームでXMLの代わりにJSONを読むことを強制していますか?
AndreaCi 2017

xmlを読み取っても、SOAPベースサービスRESTがコマンド区切り値(CSV)、JavaScriptオブジェクト表記(JSON)、およびReally Simple Syndication(RSS)もサポートしているという意味ではありません。
Adiii 2017

7

必要に応じて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

それが役に立てば幸い!


4

Webサービスは完全にWeb APIと同じです-基礎となるデータ形式の点で少し制限されています。どちらもHTTPプロトコルを使用し、RESTfulサービスを作成できます。そして、JSON-RPCなどの他のプロトコルも忘れないでください。


1
制限があれば「絶対に同じ」ではないのですか?
Ojonugwa Jude Ochalifu

0

ASP.Netのコンテキストでは、Web APIは、基本クラスがApiControllerで、ビューを使用しないコントローラーです。WebサービスはWebServiceから派生したクラスで、WSDLが自動生成されます。デフォルトではSOAP APIですが、ScriptServiceAttributeを追加してJSONを使用することもできます。


0

APIとWebサービスは通信手段として機能します。

唯一の違いは、Webサービスがネットワーク上の2台のマシン間の対話を容易にすることです。APIは2つの異なるアプリケーション間のインターフェースとして機能し、それらが互いに通信できるようにしますAPIは、サードパーティベンダーが他のプログラムと簡単にインターフェイスするプログラムを作成できる方法です。Webサービスは、通常はWebサービス記述言語(WSDL)で指定されている機械処理可能な形式で表されるインターフェイスを持つように設計されています

すべてのWebサービスはAPIですが、すべてのAPIがWebサービスであるとは限りません。

Webサービスは、HTTPでラップされたAPIにすぎません。


このここでの記事では、WebサービスとAPIに関する十分な知識を提供します。


-2

まあ、TMKはMicrosoftの世界では正しいかもしれませんが、Java / Pythonなどを含むすべてのソフトウェアの世界では、違いはないと私は信じています。それらは同じものです。


-2

ここでうまく説明されているWebサービスとWeb APIの違い:

/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リクエストしか圧縮できませんでした。


-2

すべてのWebServicesはAPIですが、すべてのAPIはWebServicesではありません。Webで公開されるAPIはWebサービスと呼ばれます。


Webサービスは、W3Cによって定義された標準であり、サードパーティソフトウェアがXML(WSDL / UDDI)を介して対話するための十分に文書化されたサービスです。Web APIは、HTTPを介したAPIであり、十分に文書化されていません。独自の標準があります。そして、一般的にAPIは、他のアプリケーションと通信するためにインターネットにアクセスできる、またはアクセスできないものであり、他のプロトコルも持つことができます。
2018

-3

理解するのは非常に簡単です。

  1. API:他のアプリケーションのリクエストをローカルで処理できるアプリケーションのレイヤーです。
  2. Webサービス:Webまたはインターネットを介してリモートシステムからネットワーク経由で要求を処理し、応答できるAPIです。

注:すべてのWebサービスはAPIですが、すべてのAPIがWebサービスではありません


ローカルだけでなくウェブ上でも
Pavan T
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.