WebサービスとAPIの違いは何ですか?データの転送に使用されるプロトコルよりも違いはありますか?ありがとう。
Webサービスと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と対話する主な方法はウェブサービスを経由することです。
技術的な定義(Wikipedia提供)は次のとおりです。
アプリケーションプログラミングインターフェイス(API)は、アプリケーションの構築をサポートするために、ライブラリやオペレーティングシステムサービスによって提供される一連のルーチン、データ構造、オブジェクトクラス、プロトコルです。
Webサービス(Webサービスも同様)は、W3Cによって「ネットワーク上で相互運用可能なマシン間相互作用をサポートするように設計されたソフトウェアシステム」として定義されています。
APIは、コンポーネントAがコンポーネントBと通信する方法を定義する公開インターフェースです。
たとえば、Doubleclickには、ユーザーがデータベーステーブルに問い合わせてオンライン広告キャンペーンに関する情報を取得できるJava APIが公開されています。
例:GetNumberClicks(ユーザー名)を呼び出す
APIを実装するには、クラスパスにDoubleclick .jarファイルを追加する必要があります。通話はローカルです。
Webサービスは、インターフェースがWSDLによって定義されるAPIの形式です。これにより、HTTPを介したインターフェースのリモート呼び出しが可能になります。
DoubleclickがインターフェースをWebサービスとして実装した場合、Tomcat内で実行されているAxis2のようなものを使用します。
リモートユーザーがWebサービスを呼び出す
例:GetNumberClicksWebService(ユーザー名)を呼び出す
また、GetNumberClicksWebServiceサービスはGetNumberClicksをローカルで呼び出します。
API(アプリケーションプログラミングインターフェイス)は、完全なフォーム自体が、アプリケーションに役立つ何らかの種類の機能を公開する他のアプリケーションのインターフェイスの支援またはサポートを使用して、アプリケーション用にプログラミングできるインターフェイスであることを示しています。
たとえば、ウェブサイトに最新の為替レートを表示するには、独自の為替レートと定期的な更新を備えたデータベースを用意する予定がない限り、プログラミングするためのサードパーティインターフェイスが必要になります。この機能セットは、他のユーザーがすでに利用可能であり、他のユーザーと共有したい場合は、そのような相互作用に関心のある他のユーザーと通信するためのエンドポイントを用意して、Webを介して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サービスとは大きく異なります。