APIとは、Application Programming Interfaceの頭文字をとったもので、2つのアプリケーションがお互いに会話できるようにするためのソフトウェアの仲介役です。 Facebookのようなアプリケーションを使用したり、インスタントメッセージを送信したり、携帯電話で天気を確認したりするたびに、APIを使用していることになります。
APIとは一体何なのでしょうか?
APIの例とは
携帯電話でアプリケーションを使用するとき、アプリケーションはインターネットに接続し、データをサーバーに送信します。 サーバーは、そのデータを取得し、解釈し、必要な処理を行い、携帯電話に送り返します。 アプリケーションは、そのデータを解釈して、あなたが欲しかった情報を読みやすい形で提示します。
これを説明するために、身近な例を挙げてみましょう。
あなたがレストランのテーブルに座って、メニューを見ながら注文しているとします。 厨房は、あなたの注文を準備する「システム」の一部です。 ここで足りないのは、あなたの注文をキッチンに伝え、あなたのテーブルに料理を届けるための重要なリンクです。 そこで登場するのが、ウェイターやAPIです。 ウェイターは、お客様のリクエストや注文を受けて、システムであるキッチンに何をすべきかを伝えるメッセンジャー(API)です。
ここでは、実際のAPIの例をご紹介します。 オンラインで航空券を検索するプロセスはよく知られているでしょう。 レストランと同じように、さまざまな都市、出発日、帰国日など、さまざまな選択肢から選ぶことができます。 例えば、航空会社のウェブサイトでフライトを予約する場合を考えてみましょう。 出発地と日付、帰国地と日付、キャビンクラス、その他の変数を選択します。
しかし、情報に直接アクセスできる航空会社のWebサイトを利用していない場合はどうでしょうか。
この場合、トラベルサービスは、航空会社のAPIと対話します。 APIとは、親切なウェイターのように、オンラインの旅行サービスから、航空会社のデータベースから座席や手荷物のオプションなどの予約に関する情報を取得するように依頼できるインターフェースです。
APIが提供するのはセキュリティの層
携帯電話のデータが完全にサーバーに公開されることはありませんし、同様にサーバーが携帯電話に完全に公開されることもありません。 その代わり、それぞれが小さなデータパケットで通信し、必要なものだけを共有します。例えば、テイクアウトを注文する場合。
APIは非常に価値のあるものとなり、多くの企業の収益の大部分を占めるようになりました。 Google、eBay、Salesforce.com、Amazon、Expediaなどの大手企業は、APIを利用して収益を上げている企業のほんの一例です。
The Modern API
これまで「API」とは、アプリケーションへの汎用的な接続インターフェースを表すことが多かった。
- 最新の API は、開発者にとって使いやすく、簡単にアクセスでき、広く理解されている標準 (一般的には HTTP および REST) に準拠しています
- コードというよりも製品のように扱われています。 特定の利用者(例:モバイル開発者)が利用できるように設計されています。
- はるかに標準化されているため、セキュリティとガバナンスのためのはるかに強力な規律があり、パフォーマンスとスケールのために監視および管理されています
- 製品化されたソフトウェアの他の部分と同様に、現代の API は、設計、テスト、構築、管理、およびバージョン管理という独自のソフトウェア開発ライフサイクル (SDLC) を持っています。
APIの詳細や優れたAPIの設計方法については、eBook「Undisturbed REST: A Guide to Designing the Perfect API.