質問

ウェブサービスとAPIの違いは何ですか?違いは、データの転送に使用されるプロトコル以上ですか? ありがとう。

役に立ちましたか?

解決

API(アプリケーションプログラミングインターフェイス)は、サードパーティが他のコードとインターフェイスするコードを記述できる手段です。 WebサービスはAPIの一種であり、ほとんどの場合、HTTP上で動作します(ただし、SOAPなどの一部はSMTPなどの代替トランスポートを使用できます)。 公式のW3C定義では、Webサービスは必ずしもHTTPを使用するとは限らないが、これはほとんどの場合に当てはまり、特に言及がない限り通常想定されます。

Webサービスの具体例については、 SOAP REST 、および XML-RPC 。ローカルマシンで使用するためにCで記述された別のタイプのAPIの例については、を参照してください。 LinuxカーネルAPI

プロトコルに関する限り、WebサービスAPIはほとんど常にHTTP(したがってWebパーツ)を使用し、間違いなくネットワーク経由の通信を伴います。一般に、APIは希望する通信手段を使用できます。たとえば、LinuxカーネルAPIは、割り込みを使用して、呼び出し用のAPIを構成するシステムコールを呼び出します。ユーザースペースから。

他のヒント

基本的に、Webサービスは2つのマシン間の通信方法であり、APIは何かに対してプログラムできるようにする公開されたレイヤーです。

APIを使用することもできます。そのAPIとやり取りする主な方法は、Webサービスを使用することです。

技術的な定義(Wikipedia提供):

API

  

アプリケーションプログラミングインターフェイス(API)は、アプリケーションの構築をサポートするためにライブラリやオペレーティングシステムサービスによって提供されるルーチン、データ構造、オブジェクトクラス、および/またはプロトコルのセットです。

ウェブサービス

  

Webサービス(Webサービスも)は、W3Cによって「ネットワークを介した相互運用可能なマシン間相互作用をサポートするように設計されたソフトウェアシステム」として定義されています

一般的な意味では、WebサービスはHTTPを介した IS APIです。多くの場合、JSONまたはXMLを使用しますが、他にもいくつかのアプローチがあります。

APIは、コンポーネントAがコンポーネントBと通信する方法を定義する公開インターフェースです。

たとえば、Doubleclickには公開されたJava APIがあり、ユーザーはデータベーステーブルに問い合わせてオンライン広告キャンペーンに関する情報を取得できます。

e.g。 GetNumberClicks(ユーザー名)を呼び出します

APIを実装するには、クラスパスにDoubleclick .jarファイルを追加する必要があります。呼び出しはローカルです。

Webサービスは、WSDLを使用してインターフェイスが定義されるAPIの形式です。これにより、HTTPを介したインターフェイスのリモート呼び出しが可能になります。

DoubleclickがインターフェースをWebサービスとして実装した場合、Tomcat内で実行されるAxis2などを使用します。

リモートユーザーはWebサービスを呼び出します

e.g。 GetNumberClicksWebService(ユーザー名)を呼び出します

そしてGetNumberClicksWebServiceサービスはGetNumberClicksをローカルに呼び出します。

API(Application Programming Interface)、完全なフォーム自体は、そのインターフェイスが、アプリケーションに役立つ何らかの機能を公開する他のアプリケーションのインターフェイスのヘルプまたはサポートを使用してアプリケーションをプログラムできるようにすることを示唆しています。

たとえば、ウェブサイトで更新された通貨為替レートを表示するには、独自のデータベースで通貨レートと定期的な更新を行う予定がない限り、サードパーティのインターフェースをプログラムする必要があります。この機能セットは、すでに他の誰かと利用可能であり、他の人と共有したい場合、エンドポイントがそのような相互作用に関心のある他の人と通信する必要があるため、Web-サービス。このエンドポイントは、APIに対してプログラミングできるアプリケーションのインターフェースに他なりません。

APIはコードベースの統合であり、WebサービスはWSDLなどのコントラクトを持つ相互運用可能な標準とのメッセージベースの統合です。

WebサービスをWeb APIとして考える。現在、APIはそのような一般的な用語であるため、Webサービスは、通常はビジネス関連の機能へのインターフェースであり、さまざまなプロトコルを介してネットワークからアクセスできます。

これを確認 http://en.wikipedia.org/wiki/Web_service

言及されているリンクとして、Web APIはWebサービスの開発であり、Web 2.0に関連する可能性が最も高いのに対し、SOAPベースのサービスはRESTベースの通信に置き換えられています。 RESTサービスはXML、SOAP、またはWSDLサービスAPI定義を必要としないため、これは従来のWebサービスとは大きく異なることに注意してください。

別の例:google map api vs google direction api Webサービス、前者はjavascriptファイルをサイトに提供(配信)し、それはAPIとして使用して新しい関数を作成できますが、後者はRest Webサービスです処理可能なデータ(jsonまたはxml形式)を配信します(APIの意味では使用されません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top