本文へスキップ
← 記事一覧に戻る

WebAPI アーキテクチャ

現代の主流なWebAPIのアーキテクチャ

同期系

  • REST
  • gRPC
  • graqhQL

非同期系

  • WebSocket
  • Webhooks

REST(Representational State Transfer)

現代のWebAPIで最も普及しているアーキテクチャ。リソース指向の設計である。

基本原理
  • リソース特定:
  • HTTPメソッドの活用:
  • ステートレス制

gRPC

Googleが開発した高速かつ省データ通信を特徴とするRPCフレームワーク

基本原理
  • 通信プロトコルにHTTP/2を使用
  • データのシリアライズにProtocol Buffers (Protobuf)と呼ばれるバイナリ形式を使用
  • メソッドの呼び出しインタフェースを .proto ファイルで事前定義し、各言語のコードを自動生成する

graqhQL(Google Remote Procedure Call)

Facebookが開発クエリ言語を用いたAPIアーキテクチャ

基本原理
  • エンドポイントは基本1つのみ(/graqhql)を使用
  • クライアントが必要なフィールドをJSONに似たクエリ構文で明示的に指示してリクエストする
  • スキーマ定義言語(SDL)によって型安全なAPIを定義する

WebSocket

クライアントとサーバ間で持続的なコネクションを確立し双方向でデータ送受信をするプロトコル

  • 用途:チャットツール、共同編集システム、ゲームなど