APIとは何か?をできる限りわかりやすく説明したい | 瀬戸内の雲のように

APIとは何か?をできる限りわかりやすく説明したい

Posted: 2019-01-15


スポンサーリンク

目次

はじめに

本ブログでも何度もAPIについて触れてきましたが、改めてAPIとはなんぞや?ということを説明したいと思います。
本記事の対象は初心者エンジニアです。基本的な技術の用語がわかる方向けになっています。
関連記事: REST APIとは何か?をできる限りわかりやすく説明したい
 

読み方

まず超基本から。APIと書いて エーピーアイ と読みます。
なお、これは Application Programming Interface の頭文字を取ったものです。

 

広義のAPI

ウィキペディア様によると、広義の意味では

アプリケーションプログラミングインタフェース(API、英: Application Programming Interface)とは、広義の意味ではソフトウェアコンポーネントが互いにやりとりするのに使用するインタフェースの仕様である。

ということです。平たく言うと、プログラミングをする際に使う各コンポーネント同士でやり取りする仕様 のような意味かと思います。
具体的な例で言えば、関数の入力値/出力値の仕様 のようなものでしょうか。

さて、この説明であなたが知りたかったAPIのことがわかりましたでしょうか。

恐らく2019年現在に「API」と言った時、上記の説明では理解できないかと思います。

なぜなら、現在の「API」が意味するところは ウェブAPI が多いからです。

 

ウェブAPIとは

ではウェブAPIとはなんでしょうか。私の理解を端的に説明すると、

ウェブAPI = HTTP(S)を使って製品やサービスを操作するインターフェイス

だと思います。

 

(補足)インターフェイスとは

ついでと言ってはあれですが、先程から出ているインターフェイスという言葉も説明しておきましょう。(ウィキペディアの引用)

英語で界面や接触面、中間面などといった意味を持ち、転じてコンピュータと周辺機器の接続部分を表すようになった。さらに、ユーザーインターフェースなどのように、人間と自動機械との間の複雑な操作をする手順・規則との意味にも使われる。

引用元: wikipedia

これはつまり、ある製品やサービス に対して この情報をくれればこういう情報を返しますよ という 規則(仕様) のことです。

 
具体例で言うと、例えば最近多い保険の相談窓口などでは、年齢や収入、既存の保険の情報・家族の状況・ライフイベントなどを伝えると最適な保険を教えてくれます。

なので、保険相談窓口のインターフェイス仕様を表すと

項目
サービス 保険相談窓口サービス
言語 日本語
インプット 年齢・収入・既存の保険の情報・家族の状況・ライフイベント
アウトプット 最適な保険

のように表現できるかと思います。

 

ウェブAPIとは(続き)

話がそれましたが、ウェブAPIを一言で言うと、

サービスや製品を操作するインターフェイスウェブ上で かつ プログラミングしやすい形式 で提供するもの

と言えるかと思います。

 
この中で最も重要なのは、 プログラミングしやすい形式 と言う点です。

 

プログラミングしやすいとは

実は、ウェブAPIの特徴のうちの前2つ、つまり サービスや製品を操作するインターフェイスウェブ上で と言う部分だけであればAPIではなくても提供されています。いわゆる GUI (Graphical User Interface) と言うものです。

先ほど例に上げた保険相談窓口サービスであれば、ネット保険などではウェブ画面上で必要な情報を入力すれば簡易な見積もりを行なってくれると言うサービスはたくさんあるかと思います。

 

GUIとウェブAPIの違い

このGUIは人間が操作する場合には直感的でわかりやすいですが、機械が操作する場合、つまりプログラミングする場合にはあまり向いていません。そもそも人間が使いやすいことを目的としているので当然ですが。
(なぜプログラミングしづらいかは後ほど説明します)

プログラミングしやすい とは つまり機械的に処理しやすいと言うことなのですが、一般的なウェブAPIでは json もしくは XML と言う方式でデータを表現しています。

これに対してGUIでは HTML と言う方式で情報を表現します。端的に言えば、GUIとウェブAPIの違いは、この 情報(データ)の表現方法 だけと言えます。

 

データの表現方法の例

具体的にどのように違うのかを例に示します。内容は先ほどもあった保険相談窓口サービスです。
(なお最近のウェブAPIではjsonが使われることがほとんどなのでXMLは割愛します)

HTML(GUI)の表現方法
※GUIで表示するウェブページのソースコードの例です

<h1>保険診断結果</h1>
<p>あなたに最適な保険は以下の通りです。</p>
<h2>××生命保険</h2>
<a href="https://marumaruhoken.co.jp/batsubatsu">詳細はこちら</a>
<h3>特徴<h3>
<br>
この保険は30代のサラリーマンにぴったりの保険です
<h3>価格</h3>
<br>
月々3000円

 
jsonの表現方法

{"insurance": 
  {
    "name": "××生命保険",
    "price": "3000円"
    "detail": "https://marumaruhoken.co.jp/batsubatsu"
  }
}

 
上記のようにjsonはデータの表現方法がシンプルで、必要な情報を取得しやすいのが特徴です。

それに対してHTMLは人間が見やすいことを目的としているので、データの表現方法に幅を持たせることができるため機械的に処理するのが逆に難しいと言う違いがあります。

 

他のインターフェイスとの比較

ここまで色々説明してきた通り、APIとはインターフェイスの一種であり、プログラミングのしやすさを重視したものです。
ここで理解を深めるために、他のインターフェイスとの比較をしてみます。

 

他のインターフェイスの種類

いろいろありますが、エンジニアが主に触るのは以下の3つでしょう。

略称 読み方 特徴 用途
CLI Command Line Interface テキストベースであること。基本的にシステムへのログインが必要 システム管理者向け
GUI Graphical User Interface グラフィカルな表示であること ユーザー向け
API Application Proggraming Interface プログラミングしやすいようデータの取得が容易 機械(プログラム)向け

ざっくり分類すると、このようになるかと思います。
次にそれぞれの具体例を示します。例は先程と同様 保険相談窓口サービス です。

 

CLIの場合

例えばデータベースに保険の情報が入っている場合を想定すると、こんな感じで表現できるかと思います。

SQL> select name,price from insurance where target_age = 30 and salary = 5000000 and families = 4;
| name  | price  |
------------------
| ××保険 | 3000  |

SQLを扱ったことがある方はこのような表示を見たことがあるかと思います。
このようにあるシステムにログインし、情報をテキストベースで表示するものがCLIです

 

GUIの場合

これは先程も例を示しましたが、以下のようなウェブ画面になるかと思います。
 
picture

このように情報を人間に見やすく表示させたものがGUIです。

 

APIの場合

これも先程示した通りなのですが、

{"insurance": 
  {
    "name": "××生命保険",
    "price": "3000円"
    "detail": "https://marumaruhoken.co.jp/batsubatsu"
  }
}

このようにjsonやXMLなど機械に処理しやすい形式で表示するものがAPIです。

 

まとめ

3つの例を見ておわかり頂けるかと思いますが、どれも 情報の中身(保険名・価格等の情報)はほぼ同じ であることがわかるかと思います。

このように、各インターフェイスの違いは 情報の表現方法 だけであり、実際に伝える中身は同じなのです。
各インターフェイスの違いというのは、用途や目的から来ており、APIの場合は機械に対してわかりやすいことを目的としている というわけです。

 

全体まとめ

内容をまとめますと、

  • APIはインターフェイスの一種であり、機械(プログラミング)に向いている情報の表現方法
  • 2019年現在では、より狭義にウェブAPIのことを指す場合が多い

また、ウェブAPIとは

  • json(もしくはXML)という機械にわかりやすい形式で表現されたデータを
  • HTTPという通信のルールでやり取りされる
  • インターフェイスの仕様のこと

となります。


スポンサーリンク




コメント一覧

2022/05/20 20:56:18

Ebbeexictさん

buy cialis without cialisВ® https://dccialisxvf.com/


2022/05/20 21:52:33

mgtdgbrnさん

erythromycin for acne erythromycin ophthalmic ointment


2022/05/21 08:16:58

CharlaOaOaさん

need help writing dissertation
statistics help for dissertation
prospectus dissertation


2022/04/07 19:44:15

Dbngplugsさん

online sildenafil brand name for sildenafil


2022/04/08 08:52:29

Ntfbfplugsさん

cialis for sale generic tadalafil


2022/04/08 07:34:56

AndaAudircurnさん

who invented tadalafil what is the difference between cialis and tadalafil?


2022/04/09 11:25:57

Cleangeさん

jelly kamagra sildenafil citrate Gqvuhy https://bestadalafil.com/ - cialis pills freeze on cialis trees cialis tablets for sale Sivwru https://bestadalafil.com/ - cialis generic tadalafil Tlsczv


2022/04/09 22:04:49

Fnenvunnyさん

buy cheap purchase uk viagra viagra natural


2022/04/09 23:15:40

Crnnwongeさん

online generic viagra viagra tablets real viagra buy discount viagra online


2022/04/10 07:05:39

Keezexictさん

viagra tadalafil tadalafil cheapest


2022/04/11 16:33:58

Dennplugsさん

canadian pharmacies tadalafil viagra canadian pharmacy prices


2022/04/12 05:50:49

Nmioplugsさん

legitimate canadian online pharmacy methylphenidate online pharmacy


2022/04/13 07:18:07

Tom Martinさん

Hoodie Jackets , Denim Jackets , Sherpa Jackets , Pull over Jackets , fleece Jackets , Biker Jackets , Bomber Jackets , Tracksuits , Game jackets , Movies Jackets , TV series Jackets Leather Jackets , Embroidered wool coats and Wool Coats for Men & Women All's are in Outclassjackets.com If You want buy to click Embroidered wool coats.


2022/04/13 07:59:26

Dsnnplugsさん

wedgewood pharmacy reliable canadian pharmacy online


2022/04/13 21:25:33

Nbttplugsさん

cheap canadian cialis cialis oral


2022/04/13 19:48:58

AnuoAudircurnさん

online pharmacy consultation pharmacy technician online programs


2022/04/15 09:06:48

Fuupvunnyさん

cost of viagra 2018 cheap sildenafil citrate


2022/04/15 10:05:13

Ckanwongeさん

rx levitra 40 mg levitra


2022/04/15 21:03:11

Knrnexictさん

online pharmacy technician programs canadian pharmacy reviews consumer reports


2022/04/16 00:05:15

Analtyさん

cheap viagra online sildenafil generic price vietnamese viagra


2022/04/16 09:06:00

Jtnnplugsさん

ivermectin paste stromectol for chickens


2022/04/16 21:15:59

AnnoAudircurnさん

online viagra prescription viagra price uk


2022/04/16 23:36:06

Zbttplugsさん

ivermectin tablets 12mg merck ivermectin


2022/04/18 11:38:36

Wevgwongeさん

national pharmacies dispose of prescription drugs


2022/04/18 10:06:57

Auupvunnyさん

comprar tadalafil 40 mg en walmart sin receta houston texas 10mg tadalafil


2022/04/18 22:10:48

Enrnexictさん

generic cialis bestelle viagra cialis enzyte


2022/04/19 18:01:59

Jnnyplugsさん

does cialis work for women viagra cialis levitra sample pack


2022/04/20 05:12:29

AnuuAudircurnさん

cialis canada online pharmacy generic levitra online pharmacy


2022/04/20 07:43:13

nyyyplugsさん

levitra headache levitra 10 mg costo


2022/04/21 17:11:02

Ahhpvunnyさん

what happens when you mix cialis with grapefruit? viagra vs cialis vs levitra reviews


2022/04/21 17:51:15

Wnsnwongeさん

buy generic levitra online buy levitra online 7


2022/04/22 04:18:59

Ennsexictさん

cheap viagra prescription online viagra 100 price


2022/04/22 22:20:02

Jmmplugsさん

Astelin good online pharmacy


2022/04/22 16:47:05

cluttyさん

how to take cialis 20mg does cialis make you last longer viagra vs cialis price


2022/04/23 09:38:43

JyhAudircurnさん

walmart pharmacy store number express scripts com pharmacies


2022/04/23 12:09:57

Ntcxplugsさん

rate online pharmacies cure rx pharmacy


2022/04/24 00:17:01

Aveddiskさん

sildenafil 20 mg tablet viagra cvs viagra para mujer


2022/04/24 21:41:18

Ansnvunnyさん

canadian prescription pharmacy pharmacy conversion course canada


2022/04/24 22:38:18

Wnnhwongeさん

tylenol with codeine online pharmacy rite aid pharmacy how many store


2022/04/25 08:58:33

Trieceさん

does cialis lowers blood pressure tadalafil buy cialis sample


2022/04/25 09:07:47

Eaaqexictさん

anti fungal licensed canadian pharmacies


2022/04/29 10:12:30

Jebplugsさん

viagra discount prices viagra gel online https://sgiviagraikn.com/


2022/04/29 21:19:10

JyhgAudircurnさん

ivermectin pyrantel generic to heartgard plus oral ivermectin https://stromectolujlo.com/


2022/04/29 23:44:09

Nndnplugsさん

prescription drugs identifier Exelon https://jzpharmacyukj.com/


2022/05/01 01:02:54

Evatmetsさん

vardenafil hcl 20mg tab cost what does levitra look like vardenafil and grapefruit


2022/05/01 08:21:37

Anbnvunnyさん

sildenafil high blood pressure sildenafil and dapoxetine https://sildenafilkiol.com/


2022/05/01 09:17:16

Wnbhwongeさん

where can i buy generic levitra levitra patent expiry date https://glevitrargu.com/


2022/05/01 19:36:43

Ebbexictさん

brazilian pharmacy online indian pharmacy https://dtupharmyjn.com/


2022/05/02 18:30:17

dounlindさん

sildenafil cost generic viagra better than viagra


2022/05/03 12:53:04

Jebnplugsさん

canadian vipps pharmacies canadian pharmacy tampa


2022/05/03 23:37:34

JolwAudircurnさん

levitra for women sildenafil 150 mg https://aviagrasbt.com/


2022/05/04 01:53:08

Nndenplugsさん

levitra and cialis levitra gsk https://xclevitradb.com/


2022/05/05 21:17:53

Ebbeexictさん

cialis from china brand cialis https://dccialisxvf.com/


2022/05/07 00:55:52

excectさん

generic viagra online for sale buy generic 100mg viagra online buying viagra online legally


2022/05/08 09:17:57

Knosseさん

generic for viagra buying sildenafil citrate online viagra connect


2022/05/08 23:41:00

qteihrさん

hydroxychloroquine high hydroxychloroquine prophylaxis


2022/05/09 07:01:11

Jebnplugsさん

fry's pharmacy importing prescription drugs for personal use


2022/05/09 17:47:04

JolwAudircurnさん

purchase sildenafil citrate viagra 2019 https://aviagrasbt.com/


2022/05/09 19:48:48

Nndenplugsさん

viagra vs levitra vs cialis levitra website https://xclevitradb.com/


2022/05/10 11:17:22

bildiroMさん

cialis cost https://cialisarma.net/ cialis for sale online in canada


2022/05/10 16:46:58

Abrarfさん

best over the counter viagra viagra online buy viagra online cheap


2022/05/11 03:18:14

Anbnvunnyさん

how fast does sildenafil work what is sildenafil citrate used for https://sildenafilkiol.com/


2022/05/11 04:09:40

Wnbhwongeさん

is levitra safe levitra professional 20 mg https://glevitrargu.com/


2022/05/11 09:59:50

wiqztvtoさん

modafinil 200mg cheap provigil buy online modafinil 200mg oral


2022/05/11 14:31:23

Ebbeexictさん

cialis dapoxetine online canada overnight shipping of cialis https://dccialisxvf.com/


2022/05/14 09:23:15

Jebnplugsさん

legitimate online pharmacy usa quality rx pharmacy hyde park ma


2022/05/14 22:28:42

Nndenplugsさん

buying levitra online canada viagra levitra cialis side effects https://xclevitradb.com/


2022/05/15 03:08:49

MaggeeOaOaさん

dissertation citation chicago
dissertation coaching
18-month doctorate without dissertation


2022/05/15 20:06:37

juxkujrdさん

order provigil 200mg pills modafinil 200mg generic


2022/05/16 02:08:26

RegineOaOaさん

writing dissertation proposal sample
thesis or dissertation
cheap dissertation help in chicago


2022/05/16 06:43:23

Anbnvunnyさん

does sildenafil 20 mg work sildenafil citrate vs viagra https://sildenafilkiol.com/


2022/05/16 07:38:03

Wnbhwongeさん

levitra coupon 3 free pills levitra prescription cost https://glevitrargu.com/


2022/05/18 05:37:12

bcnnamqbさん

buy modafinil 200mg generic purchase provigil for sale


2022/05/18 12:33:39

Jebnplugsさん

apply for cvs pharmacy online carefirst rx pharmacy


2022/05/18 18:06:24

xcxrfxwuさん

provigil 200mg usa cost modafinil 100mg modafinil 100mg usa


2022/05/18 23:17:05

JolwAudircurnさん

female viagra pill otc cheap viagra no prescription https://aviagrasbt.com/


2022/05/19 01:41:06

Nndenplugsさん

www levitra cost viagra vs levitra https://xclevitradb.com/


2022/05/19 14:47:49

KirstiOaOaさん

writing dissertation outline
doctoral dissertation writing help
doctoral dissertation help requirements


2022/05/19 21:21:59

keogdlauさん

buy modafinil 200mg for sale provigil medication modafinil 100mg pills


2022/05/19 21:12:02

cjvwqhlwさん

modafinil 200mg oral modafinil 200mg cheap provigil 100mg uk


2022/05/20 04:01:32

eiezingoさん

order modafinil sale brand modafinil


2022/05/20 09:47:02

Anbnvunnyさん

que es sildenafil how much does sildenafil cost at cvs https://sildenafilkiol.com/


2022/05/20 10:40:44

Wnbhwongeさん

does levitra lower blood pressure where to buy levitra over the counter https://glevitrargu.com/


2022/05/20 17:48:54

vekawoasさん

cost provigil 100mg buy modafinil 200mg pill



コメントを投稿する


お名前


コメント内容





TOP back