- 会員限定
- 2023/04/27 掲載
APIとは何か? API連携ってどういうこと? 図解で仕組みをやさしく解説(2/3)
Web APIとは? APIの種類と違い
APIにはいくつかの種類があり、それぞれ目的や用途が異なります。前述のネットショップやWebサイトへのログインに使われるようなAPIは「Web API」と呼ばれるもので、いわゆる「HTTP/HTTPS」の通信方式を使ってインターネット経由でリクエスト/レスポンスのやり取りが行われる方式です。基本的にブラウザでできることはWeb APIにもできることがほとんどで「ムダな情報を省いて必要な情報だけをもらいたい」といった用途にも使われます。そのほかにも、WindowsやAndroidのようなOSが提供する「ネイティブAPI」があります。こちらはOSが持っている機能を、他のアプリケーションでも呼び出すことができるAPIです。WindowsがOSとして持っている機能をサードパーティ製のアプリでも使えるようにしています。OSが進化するとともに、OSが提供する機能は多岐にわたり、手軽にAPIを使えるようなツール(フレームワーク)が提供されることも増えています。
さらに、JavaやC++のようなプログラミング言語が提供する「ライブラリAPI」や「ランタイムAPI」があり、プログラミング言語が持つ能力を最大限発揮できるような環境を整えています。また、データベースが提供する「データベースAPI」では、データベース内部のデータを効率的に扱えるようなAPIを提供しています。
・APIの種類
名称 | 提供者 | 具体例 |
Web API | Webサービスベンダー | Google API, Twitter API, |
ネイティブAPI | オペレーティングシステム | Windows API, Android API, |
ライブラリAPI | (主に言語の)フレームワーク | Java Spring Framework, C++ STL, |
ランタイムAPI | (主に言語の)ランタイム環境 | DOM API(JavaScript), Ruby on Rails API, |
データベースAPI | データベースベンダー | OCL API(Oracle), ODBC API(Microsoft) |
Web APIと比較すると、その他のAPIはアプリケーションの開発者による使用が想定されているものが多く、あまり聞き慣れないものが多いかもしれません。これに対してWeb APIを使うユーザーはエンジニアに限らないため、より使いやすい環境が整備されている事が多く、導入ハードルが低いものが多いです。
また、Web APIやデータベースAPIのようなネットワークを経由してサーバにアクセスすることを前提にしているAPIの場合、アクセスに制限をかけなければサーバに過度な負担がかかります。このため、アクセスにどのような制限をかけるかによっていくつかの提供方式に分かれています。
・APIの提供方式
名称 | 利用者 |
パブリックAPI | 登録すれば誰でも利用できる |
ビジネスAPI | 課金契約などを通じて利用する |
メンバーAPI | 開かれたコミュニティメンバーが利用する |
パートナーAPI | パートナー企業や協力組織が利用する |
クローズドAPI | 社内・組織の内部で利用する |
プライベートAPI | 特定の開発者やユーザーのみで利用する |
パブリック・ビジネス(商用)・メンバーAPIは、利用登録・契約・審査などが伴うものの、基本的には誰でも利用申請ができるオープンなAPIです。これに対して、パートナー・クローズド・プライベートAPIはユーザーが限定されたAPIです。どのようなAPIの提供方式が取られるかは「APIを提供する対象と目的」によって違います。
多くの人に利用してもらうことがAPI提供者の利益になるのであれば「パブリック型」が選択されますし、APIの機能そのもので利益が出るなら「ビジネス型」となるでしょう。また、多くの人に使ってもらいたいもののサーバに制約がある場合は「メンバー型」としてウェイティングリストを作る形になるのではないでしょうか。
このようにAPIにはさまざまな種類と提供方式がありますが、一般的に広く利用されているのは「パブリック/ビジネス型」の「Web API」です。しかし、エンジニアはそれ以外のAPIもよく使っているので、文脈や意図を考慮してどのAPIを指しているのかを判断する必要があるでしょう。 【次ページ】API事例4選 Google、LINEにPayPayも
関連コンテンツ
PR
PR
PR