だいぶ前からAPI(読み方はエーピーアイ)という単語を耳にする機会が増えてきましたよね。
今回はシステム開発経験が乏しく、Webの知識があまりない文系出身ITコンサルタントに向けたAPIの説明をしてみたいと思います。
イメージとしては「ITパスポートに合格したけど教科書的な知識しかありません。でもプロジェクトでAPIが絡むらしいです。」という何をしたら良いか困っている人を対象としています。
なので、ITに精通している方は読む時間が無駄になるので、読まれないほうが良いかと思 います。
この記事の冒頭で(厳格な定義ではないですが)、あなたのモヤモヤを解消するための説明をお伝えします。
「APIとはWebの技術を使って、システムの持っている機能やサービス、データを外部シス テムに提供するための仕組み」のことです。
上記の文を読んで「なるほど」となるのであれば、それはそれで問題ないと思います。
プロジェクトや役割によって必要となる知識は異なりますからね。
もう少しAPIについて知りたいと思われたら、このまま読み進めてみてください。
そもそもITとは何か
私が学生の頃は、ITと呼ばれる存在が大嫌いでした。
なんたって意味が分からない。
理解できない対象には恐怖を感じるものです。
さて、ITとは何でしょうか?
ある英語の略称なのですが・・・。
Information Technology(インフォメーションテクノロジー)という英語の頭文字を取った略称です。
コンピュータや情報処理関連技術の総称を表す言葉です。
私は人の心の動きを扱う心理学を学んでいたので、対極にあるようなITについては全く興味がありませんでした。
でも必要に駆られて(総合系コンサルティングファームに内定が決まって逃げられなくなって)、ITについて勉強しました。
必要に迫られると人間は秘めたる力を発揮するもので、入社前にITパスポートという資格を取得し、新卒1年目で基本情報技術者試験に合格していました。
数年前には応用情報技術者試験にも合格しました。
より上位の資格取得も考えてはいますが、他に強めるべき分野があるので、現在は優先順位を下げています。
余談が長くなりましたが、要はIT音痴だった私も理解できました。
IT理解の内で、最も基礎たる部分をお伝えしたいと思います。
※技術の進化は早いですが、基礎部分は変わらないものです。
IT=アプリとハードとネットワーク
誤解やご指摘を恐れずに簡略化します。

これがITの全体像です。
- コンピュータ等のハードウェア(人が触れる形で物理的に存在する機械)に
- OfficeソフトやGoogle Chrome等のソフトウェア(人が触れない、コンピュータの中に存在する便利機能の集合体)がインストールされていて
- インターネット等の通信技術で形成されたネットワーク(複数のコンピュータが繋がっている状態)を活用してデータを加工したり、送りあったり(情報処理)する技術の総称
究極的にITを抽象化すると、これ以上でもこれ以下でもありません。
IT活用による問題解決力を高めるか、ITによる問題解決策の実装力を高めるか
「プログラミングの世界」や「機械や数式の世界」というのは、これらを実現する為の深い深い世界の話になります。
システムを作ったり管理する立場でない限り、その深さの知識は不要なことが多いです。
むしろITの基礎的な知識や概念を理解し、「ITを使ってこんなことがしたい。」と示せることが大事な場面もあります。
ただそれを実現する為には、ソフトウェアエンジニアやプログラマーという「プログラミングの世界」や「機械や数式の世界」で自己研鑽をされている方々と会話をしていく必要もあります。
その橋渡しがITコンサルタントだったり、ITアーキテクトと呼ばれる存在です。
あなたに「新しい事業を生み出したい・業務効率化を実現したい」という想いがあり、その実現方法のオプションとしてIT活用を考える立場を目指すなら、より深いITの理解が必要になります。
そして、ITコンサルタント等と会話をしながら、実際にシステムを開発(=問題解決策を実装)する場合は、更に深いITの知識が必要になります。
あなたが「IT活用による問題解決力を高める」のか、「ITによる問題解決策の実装力を高める」のかによって必要な知識の深さが変わってきます。
ただ、何れにしても、本日お伝えしたことがITの基礎ですので、いつでも冒頭の絵が思い浮かぶようにしてください。
最近話題になるAPIはWebの技術を使ったAPI
では、APIとは何か。
Application Programming Interfaceの頭文字を取った略称になります。
あるプログラムAから、別のプログラムBやCが備えている機能(もしくは機能を統合して形成されるサービス)を呼び出す為の仕組みのことです。
誰かの作ったプログラムの細かい中身を知らずとも「○○というデータを送ってくれたら××を返すよ!」という約束を守ってコミュニケーションをすれば、望む結果(××が返ってくる)という風です。
Application Programming Interfaceの3語目にあるインターフェースというのはITの世界で頻繁に使われるのですが、プログラムやシステムがコミュニケーションをするための仕組みを表します。
第三者が提供したプログラムを1つのシステム内に取り込んで使うこともあるのですが、第三者のプログラムを使うためのインターフェースをAPIと読んだりもします。
更にややこしいのが、APIのことを単にインターフェースの略であるIFと表現しても意味としては通じるので、知識や経験が乏しいと少し混乱してしまうかもしれませんね。
このようなプログラム提供の仕組みであるAPIがWebの技術を使って成り立っている場合、強調するためなのか区別するためなのか「Web」という単語を付けてWeb APIと呼びます。
最近はAPIという単語が使われる前提として、システム間連携を目的としたWeb API(API連携)という意味合いが主であり、API = Web APIと解釈して差し支えない文脈がほとんどです。
説明はここまでにして、感覚的にAPIのことが掴めるAPI連携の例をご紹介します。
飲食店の評価サイトにはお店の地図が載っているケースがほとんどだと思います。
この地図情報は飲食店の評価サイトが保持している情報ではなく、主にGoogleがWeb APIを通して提供している地図データとなります。
飲食店の評価サイトの運営会社が地図データを保持してメンテしていくとなると莫大なコストが掛かります。
そこで、Googleが提供する地図データの情報をWeb APIを通して使っているのです。
少し長くなりましたね。
上記の通り、実はAPI自体が何かという話になると、Webの技術を使っているかどうかは関係ないのです。
IT技術の発展によりWebの技術を使ってAPIというプログラム提供の仕組み(Web API)が普及した、ということです。
「Webの技術を使って」と言われて、少しモヤモヤが増えたかもしれませんね。
あなたがこの記事を読んでくださっている(Webサイトを閲覧されている)ようにインターネット経由で他システムの機能やサービスを使える、ということです。
Webについて細かく記載すると混乱が増えてしまうので、ここまでにしますが、気になる方はイラスト図解式 この一冊で全部わかるWeb技術の基本で勉強されると良いでしょう。
簡単な図と平易な文章でWebの仕組みとWED技術を応用したシステム構築まで解説されています。
初学者の入門書としてオススメです。
APIエコノミーの隆盛
APIについて少し感覚が掴めてきたと信じて、ここでビジネス的な側面でAPIについて考えてみましょう。
前述した地図データを外部(飲食店の評価サイトなど)に提供するという例について、API提供企業とAPI利用企業のそれぞれが得られるメリットはなんでしょうか?
30秒で良いので、少し考えてみてください。
・・・。
自分で考える習慣が大事ですからね。
API利用企業のメリット
まず、API利用企業のメリットからいきましょう。
APIを利用する企業のメリットは比較的簡単に思い付きますよね。
要は「楽ができる」ということです。
Googleが提供するような全世界の地図データを集めて最新化していくのはとても困難です。
あとはSNSアカウントを使って他のサービスにログインする機能なんかを見たことがあると思います。
あれもAPI(と関連した認証の仕組み)を使って 「このSNSアカウントでログインしている人はちゃんとしたユーザーです。なので、御社のサービスにログインさせても問題ないですよ。」というお墨付きをあげているわけです。
APIで認証の仕組みを提供している企業はセキュリティ的にも強固です。
自社で新しくログインの仕組みを作るよりも、そういった企業の仕組みを拝借した方が「楽に、質の良い」サービスを作ることができるというわけです。
API提供企業のメリット
では、APIで機能やサービス、データを提供する企業のメリットはなんでしょうか?
せっかく自社が開発した機能や蓄積したデータを外部に提供するのですから、目的があるはずです。
大きいところでいえば、当たり前ですが「儲かる」からです。
APIを使うことに対する利用料を取るというビジネスです。
正確にいえばAPIを通して提供されるサービスやデータを使うことに対する利用料です。
わかりやすいので同じ例ばかりで申し訳ないのですが、Googleの地図サービス(Google Maps)はほとんどの人が使ったことのことのあるサービスでしよう。
このGoogle Mapsですが、基本的には無料で使えます。
無料の割にデザインも使い勝手も良いのですから、たくさんの企業が導入しますよね。
そして、Google Mapsがたくさんの企業で導入されているとユーザーは同じ地図に見慣れる訳ですから、まだ使っていない企業もGoogle Mapsを使って地図を表示しようとなるのです。
無料提供のAPIがたくさんの企業に採用されているだけでは、Googleは儲かりません。
そこで「一定のAPI利用回数に達すると、そこから先は有料プランに切り替えてください。」だったり、「もっと便利な機能を使いたかったら追加の料金払ってね」という仕組みにしているのです。
他にもGoogleはOSやメール、ブラウザなんかも無料で提供していますよね?
そうすると、Googleのサービスを使って広告を閲覧する人が増えますから、広告収入が見込めます。
さらにGoogleのサービスが使われることで多くのデータが1社に集まることになります。
集まったデータを元にしてGoogleは、既存サービスを改良したり、新しいサービスを開発したりと「正のスパイラル」がグルグル回っていくことになります。
このような理由からAPIを提供する側も利用する側もメリットがあって、企業間の連携や サービス開発が盛り上がる世界感をAPIエコノミーと表現します。
Fintech領域では、改正銀行法や海外のPSD2などの法令がAPIの普及を促進しているという実情があります。
ざっくり言うと、金融業界の高コスト体質にメスを入れて、新興企業の参入促進や利便性を高めていくことなどが狙いです。
近年は、APIエコノミーの隆盛を受けて、国内でも楽天やKDDIがプラットフォーマーとして、APIマーケットプレイスの提供を始めています。
生鮮市場で野菜や魚を売るように、APIを売り出して(公開して)利用料を得るためのプラットフォームです。
プラットフォーマー目線とすると、APIマーケットプレイスの利用料も収益源になりますね。
公開範囲によるAPI分類
APIは、企業間の連携で使われることを説明しました。
しかし、全てのAPIを誰もが使えるというわけではありません。
公開される範囲に応じて細分化すると5つに分類することができるのですが、大きくは2つに分けられます。
第三者からのアクセスを許容するAPIを”Open API”と呼び、許容しないAPIを”Closed API” と呼びます。
対象機能によるAPI分類
次は機能という観点でのAPI分類です。
APIが提供する機能は大きく3つに分類されます。
- 参照系API・・・データ提供(Google Mapsなど)
- 更新系API・・・データ生成/更新/削除(Amazonでの商品購入など)
- 認証系API・・・利用者の正当性確認(SNSアカウントを使ったログイン機能など)
API自体を開発・APIを利用して開発
「APIとは?」という内容から、ビジネス的な観点も含めてAPIについて説明をしましたが、少しはあなたの勉強に役立ちましたか?
APIは便利ですが、まだまだ日本の大企業ではシステム連携の方法として充分に使いこなせているとは言い難いのが実情なように思います。
この記事を読んで少しでも日本企業の競争力強化と日本の皆さんの生活を良くするビジネスパーソンが増えてくれたらな、と思います。
もし、少しでもプログラミングを学んで実際にAPIを開発・APIを使って開発したいという気持ちが芽生えたのならプログラミングのオンラインスクールCodeCampで無料オンライン・レッスンを受けてみてください。
プログラミングやITは最初の壁がとても高いです。
わからない用語だらけで、わからない用語を調べると解説の中に新しくわからない用語が出てくるという辛い状況が続きます・・・。
最初は誰かに教わることで、あなたの人生を無駄にせずにITについて、開発について学ぶことができます。
無料体験実施中に、ぜひトライしてみてください!
\ 無料レッスンで未来を切り拓け!! /