「データを利用した〇〇のサービスを始めるなら、□□のAPIを利用して〜」
データを利用したビジネスやアプリケーション開発に関わる人は、こんな会話を耳にするのではないでしょうか。
頻繁に飛び交うキーワード「API」。APIで大事なポイントを復習するため、この記事は「APIの概要」についてまとめます。
目次
APIとは何か
API: Application Programing Interfaceは、ふたつ以上のコンピュータプログラムが互いに情報をやりとりするためのソフトウェア・インターフェースの一種です。APIを利用することで、他のソフトウェアへサービスを提供することが可能となります。
APIの役割の例としてレストランでの料理の注文が用いられます。
例えば、レストランのメニュー表は、私たちが注文できる料理の一覧と詳細情報をまとめています。客はメニュー表から食べたいものを選び、ウェイターに注文すると、キッチンから完成した料理がテーブルに提供されます。
私たちはレストランが料理を作るためにどのように食材を揃えて調理しているか知りませんし、多くの客にとっては、必ずしも食材や調理方法を詳細に知る必要はありません。
レストランでメニューを注文するプロセスと同様、APIは「サービスやデータを利用したいユーザー」と「それを提供する事業者」を繋ぎます。
APIを利用すれば、アプリケーション開発者が他のサービスや製品がどのように実装されているか詳細に知らなくても、 APIから提供されるサービスとデータを利用することができます。
APIは以下のようなケースで日常生活の身近なところで利用されています。
- 旅行会社と航空会社間のフライト情報の共有
- ライドシェアのアプリ上におけるGoogle Mapの利用
- チャットボットの開発
- webページへのYoutube動画の埋め込み
- SNSのアカウントを利用したログイン
- 天気アプリに利用する気象データの取得
APIを利用するメリットとデメリット
メリット
APIを利用するメリットって何があげられるんでしょうか?
APIを利用する主要なメリットが4点あげられます。APIは様々な場面でイノベーションの機会を提供するだけでなく、ワークフローの効率化にも役立ちます。
ひとつは、APIを利用することで既存のプラットフォームと新しいアプリケーションの統合が容易になります。APIを使用すれば、複雑なコードを反復して書く必要がないため、開発にかかる時間を削減できます。
ふたつめは、APIがデータ・機能を他の外部ユーザに拡張することです。例えば、ヒトが入力するには苦労する大規模なデータ登録も、APIから必要なデータを取得することで、登録業務の効率化やヒューマン・エラーの回避に繋がります。また、Google Map APIのように、ユーザが求める機能を提供するAPIを有料化することで、新しいビジネス価値の創出にも繋がります。
みっつめは、イノベーションへの対応です。変化が速いデジタル産業において、新しいアプリケーションの登場は、業界を大きく変革する可能性があります。企業にとって、競争力を維持するためには、迅速な開発を実施する必要がありますが、APIを利用すると、コードを1から書き直さずとも変更を加えることができます。
よっつめは、セキュリティ機能の向上です。例えば、独自にセキュリティが高いシステムを開発・管理しようとするとコスト・時間がかかります。しかし、世界基準で非常に高いセキュリティを誇るGoogleやFacebookのAPIを利用すれば、コストと時間をかけて独自開発するよりも高いセキュリティを施すことが可能になります。
デメリット
もちろんAPIを利用することのデメリットもあります。
APIを提供する側で何らかのトラブルがあった場合、サービスが利用できなくなる可能性があります。また、悪意を持った者にAPI が何らかの攻撃を受けることで、APIを利用しているwebサービスにも攻撃を受ける懸念もあります。
APIの種類
APIはwebアプリケーションで広く利用されており、パブリックAPI: Public API 、パートナーAPI: Partner API、プライベートAPI: Private API、複合API: Composite APIの4種類に分類されます。
パブリックAPI
パブリックAPIは、あらゆる外部の開発者や企業が利用できる一般公開されたAPIです。パブリックAPIは、通常、使用を追跡するための何らかの形式の認証キーや承認キーを含みます。パブリックAPIを利用するための呼び出しにコストを課すことで、APIを収益化しようとする企業もあります。パブリックAPIは、公共の利用を目的とするため、堅牢に開発されている傾向にあります。
一方、すべてのパブリックAPIが必ずしも収益化を目的としたものではありません。一部のパブリックAPIはより大きなエコシステムの一部になり、プライベートAPIと同様の役割を果たします。
パートナーAPI
パートナーAPIは、サービスにアクセスできるユーザーが制限されたAPIです。パートナーAPI は特定の関係者のみが利用できるようになっているため、承認、認証、およびセキュリティがより厳格なルールが適用される傾向があります。一部のパートナーのみをAPIを使用可能とすることで、APIを可能な限り安全に保てます。
プライベートAPI
プライベートAPIは、企業や組織内の内部使用のみを目的とするAPIです。プライベートAPIは、開発が迅速で、パブリックAPIほど堅牢なセキュリティである必要がないため、最も一般的なタイプのAPI です。
複合API
複合APIは、2 つ以上の異なるAPIを組み合わせ、複雑なシステム要件や動作に対処するAPIです。複数のAPI要求を 1 つのAPIに呼び出し、結合することで、データ使用量が節約します。また、API呼び出しの数を最小限に抑えることで、アプリの効率を向上します。
まとめ
この記事はAPIについてまとめました。
- APIの役割
- 「サービスやデータを利用したいユーザー」と「それを提供する事業者」を繋ぐためのソフトウェア・インターフェース
- API利用のメリット
- 「アプリケーション開発の効率化」「データ・機能の拡張」「イノベーションへの対応」「セキュリティの向上」
- API利用のデメリット
- 「APIトラブル時のサービス稼働」「攻撃対象領域の拡大」
- APIの種類
- 「パブリックAPI」「パートナーAPI」「プライベートAPI」「複合API」
ひとまず、APIが外部のデータやサービスを簡単に利用するための窓口というイメージがつきました。
この記事は以上です。最後まで読んで頂きありがとうございました。
参考資料
(1)Red Hat, APIとは, October 31 2017
(2)axway, What is an API?, April 8, 2022
(3)IBM Cloud Education, Application Programming Interface (API), August 19 2020
(4)今さら聞けない「API」とは?初心者にもわかりやすく解説, April 18 2022
(5)6 Types of APIs: Open, Public, Partner, Private, Composite, Unified, March 15 2022
APIとよく耳にしますが、APIが何なのかまだよく分かりません。