APIとは?
APIとは、アプリケーションプログラミングインタフェース( Application Programming Interface)の略称でソフトウェアコンポーネントが互いにやりとりするのに使用するインタフェースの仕様である。
ひとことでいうと、APIとは「ソフトウェアの機能を共有すること」です。
つまり、APIとは自分のソフトウェアを一部公開して、他のソフトウェアと機能を共有できるようにしたものです。
このようにソフトウェアの一部をWEB上に公開することによって、誰でも外部から利用することができるようになります。
それによって、自分のソフトウェアに他のソフトウェアの機能を埋め込むことができるようになるので、アプリケーション同士で連携することが可能になるのです。
皆さんの身近なものだと、Twitterの連携して自分のツイートから性格などを診断するサービスはWebAPIを使った代表的な例です。
他にもline@もAPI機能を使ったものですし、仮想通貨も取引所のAPIを使うことでBotを作りシステムトレードをすることができます。
APIの特徴
上述したように、APIは自社のソフトウェアの一部の機能を他のソフトウェアでも使えるようにするものですが内部のコードまでは公開していません。
またセキュリティの観点から、使用方法についてもなどのルールも定められています。
APIは、このような仕様やルールと一緒にまとめてWEB上に公開しているのが一般的です。
なお、APIはWEB上で通信して利用することが普通なので「WEB API」と呼ばれることも多く、API=WEB APIというのが一般的になっています。
インターフェースとは何か?
APIは日本語名称は「アプリケーションプログラミングインターフェース」です。
IT用語としての『インターフェース』とは、人間とコンピューターの間で、情報のやりとりをしてくれる役割を果たすものです。
具体的にいうと、パソコンのキーボードやマウス、テレビのリモコンや駅の券売機などがインターフェースにあたります。
これらはすべて、人間の操作に従ってコンピューターに情報を伝えて会話をしてくれる翻訳機のような役割をしています。
同じように、APIも「プログラマー」の代わりに「アプリケーションに情報や指示を出してプログラミングしてくれる」ような役割をしているので、「アプリケーションプログラミングインターフェース」と呼ばれているのです。
APIの目的
APIを作る側としては自社サービスの機能をAPIとして公開することで、同じ特徴をもったサービスが開発しやすくなります。
それによって、ある機能に特化させたり、さらに使いやすく一部の機能だけ改良することができ、その結果さらに多くのサービスが生まれ自社サービスの発展に繋がります。
またAPIでは他社のデータを使うこともできるので、同じ情報を様々な分野で活用してもらうことで、情報を分析することが容易になり、各分野に特化した分析をおこなうことができます。
そこから顧客の傾向や特徴を発見することで、イノベーションが生まれ、新しいビジネスが生まれるのです。
反対にAPIを使う側は作りたい機能がすでにAPIで公開されているなら、同じプログラムを1から作る必要がないので開発時間を大幅に短縮できます。
こういった自社のノウハウを一部公開していくことで、新しいイノベーションを生み出そうとする試みをオープンイノベーションと言います。
こういった企業が提供するAPIは無料で利用できるため、開発者側としては開発コストも大幅に削減でき、かつ効率的にアプリケーションを制作することができます。
APIは昔からある概念でしたが、AIやブロックチェーンを始めとしたITテクノロジーが加速的に成長していることなどから、近年改めて企業のビジネスを広く外部に提供するための接点や手段としてあらためて注目されています。
コメント
[…] 暇人の研究室【Web技術】APIについての分かりやすい解説https://tkstock.site/2017/07/14/2017-07-14-065944/APIとは?APIとは、アプリケーションプログラミングインタフェース( Application Programming I […]