はじめに
タイトルについて記事にしました。
このシリーズで得る内容は以下の通りです。
・ Web APIを正しく使えるようになる
・ Web APIを正しく設計して作ることができるようになる(使いやすく・保守をしやすくする)
Web APIを使ったり設計したりするのにも、フロントエンド・バックエンドの領域を問わずエンジニアにとって
必要不可欠な知識かと思いましたのでご紹介します。
■ Web API入門についての記事
・ Web API入門#2 〜REST、アーキテクチャについて〜
・ Web API入門#3 〜URIの基礎知識〜
・ Web API入門#4 〜クールなURIの設計方法について〜
・ Web API入門#5 〜HTTPの基礎〜
・ Web API入門#6 〜CRUDとHTTPメソッド〜
・ Web API入門#7 〜ステータスコードの意味と活用〜
・ Web API入門#8 〜HTTPヘッダー・キャッシュ〜
APIとWeb APIとは何か
API(Application Programming Interface)とは、サービス提供者が、そのサービスを利用する為に提供する
インターフェース(プログラム同士の間でデータのやり取りをする際の形式を定めたもの)です。
Web APIは、HTTP通信によってやりとりを行うAPIのことです。
なぜ全てのエンジニアが知っておいた方が良いのか
マイクロサービスが流行していて、マイクロサービスを利用する為に、APIが必要になります。
また、便利なSaaSが増え、これを扱うのにもAPIの利用が不可欠となります。
マイクロサービス
1つのアプリケーション内で、特定の機能に応じて細かく開発を行うことです。アプリケーションをリリースする時に、APIを使ってマイクロサービスを連結します。
SaaS(Software as a Service)
今までソフトウェアとして提供されていたものが、APIを使ってアクセスし、その機能を使うことができるようになる仕組みです。(オンライン決済や認証など)
マイクロサービスやSaaSを扱う上で、APIを実行する機会が増えます。
その上、簡単なAPIであれば、フロントエンドエンジニアでも扱うので、現在のWebサービス開発ではAPIは必須と言えます。そしてWeb APIでやりとりされる大半のデータフォーマットは、JSONではないでしょうか。
現代のWebを支える技術
HTTP
通信を行う為のルールで、プロトコルと呼ばれます。
シンプルで扱いやすいという特徴を持っているので、全世界で広まり、使われ続けています。
URI(Uniform Resource Identifier)
端的に表現すると、リソースを識別するIDです。皆さんがよく聞き慣れているのはURLではないでしょうか。
URIは、データが存在している場所にIDが紐付いている状態のことで、URLはデータが存在する場所は分かりますが、IDが分かっていない状態です。URIの中にURLが含まれていると考えれば良いのかもしれません。
HTML
Webエンジニアの皆さんでしたら触っていると思いますが、Webで表示する為の文書フォーマットです。
HTMLで定義されている書式に従い記述すると、文字を表示させたり大きくしたりすることができます。
集中システムと分散システム
集中システム
メインフレームと呼ばれる巨大なコンピュータみたいなものが、全て処理をしているシステムです。
1980年代に主流だったそうで、巨大なコンピュータを用意する必要があり、多大なコストがかかってしまいます。
ただ、コンピュータが1台になるので、信頼性が重視されるシステム運用管理の面で、現代でも多少なりとも使われているところはあるそうです。
分散システム
複数のコンピュータが相互に処理を担当し、それぞれで1つのシステムを作っているような状態です。
Webは世界規模の分散システムと呼ばれています。仮に1つサーバーがダウンしても、同じ役割を持つサーバーが動き続けることにより、サービスを止めずに稼働し続けることができます。