コラム APIとは?【初心者向け】種類や仕組み、具体例を紹介

15-1

 

プログラミングやWeb開発などで、必ず触れると言っても過言ではない「API」。その意味がいまいち分からず、困っていませんか。ここでは、APIについて分かりやすく解説し、種類や仕組み、具体例とあわせてご紹介します。

 

 

APIとは何か? 

15-2

 

APIとは、正しくは「アプリケーション・プログラミング・インターフェース」といい、ソフトウェアやプログラムなどをつなぐ接点のようなものを指します。この「接点」は、つまり「インターフェース」ですが、実はさまざまな場面で用いられる言葉です。例えば、USBは機械と機械をつなぐ「ハードウェアインターフェース」であり、私たちがよく使うキーボードやマウスは人間と機械とをつなぐ「ユーザーインターフェース」です。

顧客側からすると、あまり気づかないものですが、APIは私たちの生活のさまざまなところに存在しています。

例えば、電子マネーの決済では決済代行サービスのAPIによって情報がやりとりされています。また、Googleアカウントでログインする際は、GoogleのAPIがログイン情報を暗号化して認証し、さまざまなサイトの閲覧ができるのです。

 

 

APIの特徴

15-3

 

APIは、お店の窓口のような存在だと言われることがあります。基本的に、APIは利用者によるリクエストと提供者によるレスポンスで構成されており、そのリクエストに対するレスポンスは設計の段階で考えられる形になります。

私たちが、インターネットを介して安全にお買い物ができるのも、APIのお陰と言っても過言ではありません。たとえば、ネット注文をしてカード決済をするとしましょう。注文時には、ネットの画面上にカード情報を打ち込むこととなりますが、この情報はネットショップを通さずカード会社のサーバーに届いています。

これには、カード会社のAPIが関わっており、「顧客のカード情報を確認してくれ」というリクエストに対し、その結果をショップ側に伝えているのです。つまり、カード情報という重要な個人情報がショップ側に漏れないために、APIが一役買っているという状況です。

以上は一例にすぎませんが、APIを活用することで本来なら扱えなかったデータの交換が行えたり、面倒な手間なくネット上の手続きが行えたりすることにつながり、大きなメリットをもたらします。

 

 

APIの定義とは?

15-4

 

APIは、「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略称であることを先ほどご紹介しました。

アプリケーション・プログラミングとは、「目的のもと活用されるソフトウェアプログラム」のことを指します。そして、インターフェースとは、それを「つなぐもの」という意味をもちます。

 

 

APIの2つの種類

APIには、Webサイトへのログインに使われるような「Web API」と「プロトコル(通信方法)」とでは、それぞれ考え方が異なります。

 

①Webで利用されるAPI 

名称

概要

Open API

あるアプリケーションが管理しているデータや、保有している機能を、他のアプリケーションから呼び出して利用するための仕組みを、他の企業に公開することを指します。

Partner API

特定の相手だけにAPIを限定公開するAPIのことを指します。

Closed API

企業内やグループ企業内だけなど、業務用として限定公開するAPIのことを指します。

Composite API

1つのAPIがハブ的な役割を担って、複数のWebアプリケーションやAPIにアクセスできる手法を指します。

 

②プロトコル仕様 

名称

概要

REST API

2つのコンピュータシステムが、インターネット上で安全に情報を交換するための通信方法を指します。

XML-RPC

ネットワークを通じて別のコンピュータに処理を依頼する際の遠隔手続き呼び出しの仕様の1つです。メッセージの記述はXMLを使い、データの送受信はHTTPを使います。

JSON-RPC

エンコードにJSONを採用した、遠隔手続き呼び出しの一種。サーバー側が実装しているメソッドをクライアントが呼び出すことで処理が行われる仕組みを指します。

SOAP

XMLのみでメッセージングサービスを提供する仕組みを指します。

 

Web APIとは

15-5

Web APIとは、Webサイトへのログインなどに使われるような、HTTP・HTTPS通信によってやり取りするAPIのことを指します。例えば、GoogleやX(旧Twitter)、Windows、Outlookなどが代表的です。

 

 

Web APIの具体例 

Web APIについて、代表的な例を1つ見てみましょう。

Google MAP APIは、自社のサービスにGoogleマップを組み込むことができるWeb APIです。例えば、飲食店のWebサイトで自分のお店の位置を示すGoogleマップを組み込むと、それを閲覧したユーザーはページを離れることなくGoogleマップでお店の位置の確認ができます。

 

 

Web API通信の仕組みとは

15-6

 

Web API通信は、構築・開発・実装・連携・認証の5段階に分けて考えることができます。それぞれの内容やポイントについてご紹介します。

 

1.構築

Web API環境の構築では、「テナント」「リージョン」「アベイラビリティゾーン」の3つの観点から全体を把握していきます。

テナントと は、システムやサービスの利用範囲を示す言葉で、細かな単位で設定する場合と大まかに分割する場合があります。

リージョンは、クラウドサービスのデータセンターが置かれてある場所のことを示します。災害による影響やシステムダウンのリスクを考慮して、地理的に離れた場所に稼働できる別のリージョンがあると、サービスや事業が継続できるというメリットがあります。

アベイラビリティゾーンは、同じリージョンエリア内でそれぞれの機器がバックアップをとり、同じ役割が果たせる機器を複数もっておくことを指します。これにより、システム障害や機器本体の故障があったとしても、大規模な障害に発展するのを防げます。

   

2.開発

Web API開発では、主に設計の部分がメインとなります。多くの人が利用しやすいデザインかどうか、という観点が重要なポイントです。

 

3.実装

Web APIの実装方式には、「SOAP」と「REST」の2種類があります。

複雑な入力や入出力へのチェックが必要なサービスではSOAPが用いられることも多いですが、一般的なのはRESTによる実装です。不特定多数を対象とした情報配信や検索サービスにはRESTが向いていると考えられています。

それぞれの特徴を理解した上で、使い勝手のよい方法で実装していくこととなります。

 

4.連携

Web APIの大きなメリットは、既存の提供されているAPIと簡単に連携できる点にあります。連携することでシステムやサービスの質は向上し、開発にかかるコストも抑えられます。

しかし、連携先のAPIが何らかの理由で停止した場合、悪影響がある場合も考えられるため、信頼できる企業が提供しているかどうかが重要なポイントとなるでしょう。一般的には、GoogleやApple、Amazonなど世界的に信頼が厚くアップデートやセキュリティ対策に余念のない企業のものが選定されています。

 

5.認証

セキュリティ対策を考えるうえで、Web API認証技術は不可欠な要素です。API認証方式の仕組みは「標準化されたHTTP認証方式」「APIキー認証」「Form認証 / アクセストークン認証」の3つの方法が主流です。それぞれの特徴や目的に合う認証方式を採用する必要があります。

 

 

データサイエンティストを目指すなら”順天堂大学”

順天堂大学は、長い歴史をもつ「健康」を学問する大学・大学院です。2022年新設の健康データサイエンス学部では、健康とデータサイエンスの両面から人々の暮らしを支えるスペシャリストの育成を行っており、十分な設備と体制が整っている学部です。

人々にとって、「健康」はいつの日も重要です。健康データサイエンス学部では、今まさに人々が直面する健康課題に挑める、実践的なスキルが身に付きます。

医療や健康、福祉、保健とのつながりの濃い順天堂大学だからこそ、各分野のプロフェッショナルが教授として指導にあたり、3年次・4年次には付属病院や連携企業でインターンシップによる実践スキルを磨きます。

 

健康データサイエンス学部|順天堂大学
https://www.juntendo.ac.jp/academics/faculty/hds/

資料請求|順天堂大学健康データサイエンス学部
https://www.umcnavi.jp/jtm/sm/index.asp

お問い合わせ|順天堂大学健康データサイエンス学部https://www.juntendo.ac.jp/academics/faculty/hds/contact/contact

 

 

まとめ

APIは、日頃何気なく利用しているサービスなどでも活用されており、ITについて調べていると必ずと言ってよいほど目にする言葉です。最近は、企業のDX化の推進も進められ、ますます広まってきた言葉とも言えます。コンピュータに関連する人をはじめ多くの人々が触れる可能性があるため、しっかり押さえておきましょう。