API の仕組み
公開: 2021-07-28API は、Application Programming Interface の略で、2 つのアプリケーションが互いに通信できるようにするソフトウェア仲介者 (人間の翻訳者と考えてください) です。 フランス語しか話せない人が、日本語しか話せない人と話す必要があると想像してみてください。 彼らは、両方の言語を知っている誰かがそれらの間の仲介者として働く必要があります. 現在、世界には何百もの言語があり、1 人がすべての人の通訳を務めることはできません。 ただし、API のおかげで、Java、Python、または HTML (さまざまなプログラミング言語) で記述されたコードは、グローバルに定義された標準に従っている限り、同じ方法で相互にやり取りできます。 この記事では、API がどのように機能するかを学習します。
API はどこで使用されますか?
API またはアプリケーション プログラミング インターフェースが機能するのを見たことがありますか? モバイル アプリケーションを使用したり Web を閲覧したりする場合、毎日何千もの API 呼び出しを行っている可能性があります。 Spotify で曲を変更したり、Uber でタクシーを予約したり、Gmail アカウントにログインしたり、Domino's でピザを注文したり、Amazon で商品を購入したりするたびに、知らないうちに複数の API 呼び出しを行っています。 この背後にある理由は、派手なボタンやポップアップの背後で実際のコードが実行されており、現在、アプリケーションや Web サイトでのほとんどすべてのアクションがAPI 呼び出しを引き起こし、それによって何らかの情報が取得されたり、必要な変更が加えられたりするためです。 これで、API がどのように機能するかがある程度わかりました。
図: API はどのように機能するのか? 出典: API とは? それはどのように機能しますか? | | アマンダ コタラワラ | | 中くらい
現在インターネットに接続されているデバイスはすべて、API 呼び出しを行っています。 スマートウォッチやスマート冷蔵庫、Android TV、Playstation V など、クラウドにデータを送信したりクラウドからデータを受信したりするデバイスはすべて、API を介してデータを受信します。 API は、通信の形式を標準化するのに役立ちます。したがって、デバイスでさえ、同じプロトコルを使用してそれ自体を介して通信します。 例えば、あなたがスマートウォッチを使っているとしましょう。 走るとスマートウォッチが記録し、家に帰ると携帯電話でもデータが更新されます。 毎月、ラップトップから健康とフィットネスの Web サイトにログインして、毎月の活動の詳細を確認します。 では、これら 3 つのデバイス間でどのようにデータが交換されたのでしょうか? API がどのように機能するのかまだ疑問に思っていますか?
実行すると、スマートウォッチが作業を計算し、API POST 呼び出しを介してサーバーに保存しました。 家に帰ったら、電話を使ってワークアウト結果を確認しました。API GET 呼び出しが行われ、データを表示できました。 月末にラップトップから Web サイトにログインして月間データを確認したときに、別の API GET 呼び出しがあり、その月の統合データが取得されました。
図: API はどこで使用されますか?
これで、キーワード「GET」と「POST」を「API」で使用したことがわかります。 また、API の使用を API 呼び出しと呼んでいます。 これらについてさらに見ていきましょう。
API の使用はすべて API 呼び出しと呼ばれ、電話の呼び出しに似ています。 これは、あるサービスが別のサービスを呼び出す通信形式であるためです (ここでのサービスとは、クラウド内のデバイスまたはサーバーを意味します)。 API 呼び出しの種類については、次の 4 つがあります。
- GET : 主にデータや情報を取得するために使用されます。 Google 検索バーで特定のキーワードを検索するたびに、Google はバックエンドで GET API 呼び出しを効果的に実行して、キーワードを含むデータをフェッチします。
- POST : これは主に新しいデータを追加するために使用されます。 たとえば、ソーシャル ネットワーキング Web サイトでアカウントを作成すると、自分自身に関する大量の情報が提供されます。 これらはすべて、API POST 呼び出しを使用して Web サイトのサーバーに送信されます。
- PUT : これは、データの編集に相当します。 Web サイトの情報を更新する必要がある場合、既存のデータを変更することによって、Web サイトは PUT API 呼び出しを送信します。 場合によっては、POST 呼び出しを使用して、既存のデータを上書きすることもあります。
- DELETE : 最もまばらに使用されます。これは、Web サイトでデータを削除しようとしたり、アカウントを閉鎖しようとしたりするときに行われる API 呼び出しです。

利点は何ですか?
では、なぜ API が必要なのでしょうか? API ベースの通信を使用する主な利点は、任意の 2 つのシステムが相互に簡単にやり取りできるという事実にあることは理解していますが、いくつかの大きな追加の利点もあります。
- セキュリティ: API は、複数の方法でセキュリティの脆弱性を取り除くのに役立ちます。 ほとんどの API では、呼び出し時にキーまたは署名を渡す必要があります。 これは、サーバーを過負荷にする可能性のある望ましくない API 呼び出しを制限するのに役立ちます。 プライベート API はキーを保持しているユーザーのみが呼び出すことができますが、署名は 1 回限りのヒットに使用されます。これは、非常に特定のパラメーターの下で単一の API 呼び出しを行うことができるチケットです。 API によって、インターネット全体のセキュリティが向上しました。 Facebook または Google の資格情報を使用してほぼすべての Web サイトにログインできる SSO またはシングル サインオン機能は、資格情報をリアルタイムでプルするのに役立つこれらの企業によって開発された API のおかげで可能になります。
- リアルタイムのデータ転送: 現在、すべてのデバイスが毎秒 MB 単位のデータを生成しています。 デバイスは、デバイス間で、またはクラウド サーバーとやり取りしています。 非常に多くのデータが手元にあるため、迅速な転送は必須です。 以前は、データ転送はバッチで行われることが多く、5 分ごと、1Gb ごとなどでした。 現在、API によって瞬時のデータ転送が可能になりました。携帯電話がキャプチャするデータは、ミリ秒ごとにクラウドに同期されます。
図: API を使用する利点
- 使用されていないデータのサイロ化はもうありません: 適切な保護策を講じていない限り、さまざまな部門からのデータが使用されずにハエを集めているだけかもしれません。 このようなデータ サイロが作成される背後にある問題は、通常、データ転送またはデータ アクセスの複雑さです。 API のおかげで、データは異なるシステム間で自動的に流れることができ、データ アクセスも提供できます。 このデータ アクセスは、API キーを使用してさらに制御できます。
- 一度構築すれば、どこでも使用可能: サイクルを販売する Web サイトを構築していて、1 年間それに取り組み、成長させ、数人の顧客を獲得し、さらに成長する準備ができていると想像してください。 Android アプリケーションを構築したいと考えています。 しかし、ゼロから構築しますか? それはどのくらい難しく、時間がかかりますか?
代わりに、開発段階で API を使用した場合は、モバイル Web サイトで多くのコンポーネントを再利用できます。 たとえば、在庫サイクル リストをフェッチする API があるとします。 携帯電話で同じ API を使用して、UI を変更するだけで、ルック アンド フィールが小さなディスプレイに少し適合するようになります。
- マイクロサービスの促進: 技術的な観点からは、大規模なアプリケーションを構築することは有益ではありません。 たとえば、Google マップは多くのサービスを提供します。地図上に現在地を表示したり、地図上の 2 つの場所間の距離 (および移動方法) を計算したり、交通状況を表示したりします。 API がどのように機能するかは、現在詳細に調査されています。
これらはすべて、単一のサービスの一部ではありません。 代わりに、Google マップ アプリケーションの単一のユーザー インターフェースを介して公開される複数の API があります。 これにより、次の 2 つのことが達成されます。
- サーバーのダウンタイムにより 1 つの特定のサービスがダウンしても、他のサービスは影響を受けません。 たとえば、トラフィック API がダウンしても、位置情報サービスは独立しているため、引き続き使用できます。
- 他の人は、さまざまな API を使用して、それらを個別に統合できます。 Uber は地図と位置情報サービスを使用する場合があり、Strava は速度計算 API を使用する場合があります。
API の仕組み – まとめ
これで、API がどのように機能するかを学習しました。 API はデータ統合を簡素化し、システム全体でプロセスを標準化します。 これは、インターネットからスクレイピングされたデータの使用にも当てはまります。 これが、PromptCloud のチームが Web から収集する必要があるすべてのデータの API 統合を提供する理由です。
データはリアルタイムでスクレイピング、クリーニング、保存 (および更新) されるだけでなく、API を使用するとデータへのアクセスも高速になります。 これにより、社内のさまざまな内部部門がさまざまなデータ ポイントにアクセスできるようになり、意思決定に役立つ可能性があります。
今日の通信システムでは速度とセキュリティの両方が重要な側面であり、API は両方を改善するのに役立ちます。API ベースのWeb スクレイピングシステムをクラウド上で実行することは、ビジネス チームのゲームチェンジャーになる可能性があります。
