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
クライアントとサーバ間で持続的なコネクションを確立し双方向でデータ送受信をするプロトコル
- 用途:チャットツール、共同編集システム、ゲームなど