← メディア一覧

APIはシステムをつなぐ厳格な約束事

5分22秒 | API

基本情報技術者試験の頻出テーマを解説した音声コンテンツです。

トランスクリプト(字幕テキスト)

普段お使いのウェブサービスで Google でログインする機能とかありますよね。あとは旅行サイトに地図が埋め込まれていたり。 これって全く別のサービスのはずなのに、どうしてこんなにスムーズに連携してるんだろうって思ったことありませんか? 今日はその裏側にある約束事について、ちょっと深掘りしてみたいと思います。 ええ、その連携の鍵を握っているのが API と呼ばれる存在なんです。 よくレストランのウェイターにたとえられるんですけど、今日はそのたとえを足がかりに、もう少し奥まで見ていけたらなと。 ウェイターですか。レストランだと僕らはメニューを見て注文しますけど、そのメニューにあたるものAPI にもあるんですか? まさにそこが今日の核心なんです。API には「こういう形式で注文、えーと リクエスト してくれれば」 「こういう料理、レスポンス を返しますよ」というすごく厳格なメニュー、まあ 仕様書 があるんです。 アプリケーションというお客さんは、その 仕様書 に書いてある通りに API に注文するだけ。 サーバー内部の複雑で騒がしい厨房に直接入っていく必要は一切ないんですよ。勝手に厨房に入られたら困りますもんね。 そこで API が活躍するわけです。先ほど言った決まった形式の注文を リクエスト と呼びます。 そして厨房から出来上がった料理、これが レスポンス です。 API はこの リクエストレスポンス のやり取りだけを仲介してくれるんです。 見た目の フロントエンド と裏側の バックエンド がデータをやり取りするのも API を使っているんですね。 その通りです。そしてここで重要になるのが、先ほどから出ている約束事という考え方なんです。 どんなデータをどんな形式で送るかというルールがあるからこそ、全く違うシステム同士でも会話ができるんです。 でも、そのウェイターに悪意があったら?信頼性やセキュリティはどうなってるんですか? 非常に重要なポイントですね。その約束事には身分証明の仕組みも含まれてるんです。 APIキー と呼ばれる、まあ一種の鍵ですね。それを持っていないと注文もできません。 以前、あるECサイトのプロジェクトで 決済API の仕様がなんの連絡もなく急に変更されてしまい、 数時間すべての注文が止まってしまったんです。ウェイターが急にメニューにないものを要求し始めた状況ですね。 それは怖い。約束事はシステム間の信頼を守るための生命線でもあるわけですね。 おっしゃる通りです。逆に言えば、その厳格な約束事さえ守れば他社の機能を部品として借りてくることも可能です。 それが APIエコノミー という考え方です。APIは世界共通の電源アダプターのようなものです。 発電所の仕組みは知らなくても、規格に合ったプラグを挿せば電気が使える。それと同じ感覚です。 やり取りで使われるデータ形式には、最近だと JSON という形式がよく使われます。 JSON は人間にも読みやすいシンプルな形式で、システム同士が情報を交換するのに効率的なんです。 共通言語があるから、違うシステム同士もスムーズに連携できる。 APIイノベーションを生む共通規格なんですね。 まとめますと、 API とはシステム間の厳格な約束事を管理する優秀なウェイターであると言えます。 それによって安全で効率的なデジタル社会が成り立っているということです。世界の見え方が少し変わりました。 もしあなたが作る側だったら、どんな API を組み合わせてみたいですか? 例えば天気予報の API とスマートホームを繋いで、雨が降りそうなら自動で窓を閉めるシステムとか。 身の回りのサービスがどんな約束事で繋がっているのか、想像してみるのも面白いかもしれませんね。

このコンテンツは Web society で視聴・学習できます。