第1回「APIと構成管理ツールの活用法」で解説したとおり、APIにはさまざまな種類があります。その中でも、ネットワーク経由でアプリケーション間連携が可能なWeb APIの活用が盛んになってきています。
Web API自体は10年以上前から利用されていますが、特にREST APIは、HTTPをベースとした理解しやすいプロトコルであるため取り扱いや実装が容易なことから、システム間連携の選択肢として有力になっています。
そして近年、ネットワーク分野においてもREST APIを利用した運用・管理の重要度が高まっています。これは、事業構造の変革が急速に進むデータセンター事業者の動向が牽引しています。
昨今、多くのデータセンター事業者が、建物・回線・電源のような物理的な設備だけでなく、インターネットやパブリッククラウドとの接続やIaaS/SaaS等のサービスの提供を増やしています。こうしたサービスを迅速・低コストで提供するためには、非常に多くのシステムやリソースを統合的に管理することで、サービスの開通・変更・終了などの運用を高度に自動化する必要があります。
この動向はネットワーク機器メーカーにも大きな影響を及ぼしています。ソフトウェアで効率よく制御できるネットワークが求められたことから、SDN(Software Defined Network)が大きく注目されました。
その結果、現在では、人間の介在を前提としたTelnetやSSHといったプロトコルに加えて、REST APIのように、システム間連携に使用しやすいプロトコルの実装が盛んに行われるようになってきています。
REST APIとは?それでは、REST APIの技術概要と活用方法を解説していきましょう。
RESTとはRepresentational State Transferの略で、下記のような原則に沿って設計するソフトウェアアーキテクチャの1つです。
・HTTP技術をベースとし、HTTPメソッドで操作方法を表現
・リソースを一意なURI(Uniform Resource Identifi er)で表現
・処理結果をコードで表現
・ステートレスである
この設計思想に則ったアーキテクチャを「RESTful」と呼び、この考え方を取り入れたWeb APIを一般的に「REST API」と呼んでいます。
REST APIの構成要素と処理の流れは図表1のようになります。
図表1 REST APIの動作
REST APIでは機能を利用したい側を「クライアント」、制御されるリソース対象を「サーバー」と呼びます。両者間の通信を転送するプロトコルにはHTTPまたはHTTPSを用います。