0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[API] WebAPIの分類_TreeDiagram

Last updated at Posted at 2025-04-07

WebAPIの分類_TreeDiagram

WebAPI:
├── RESTful API:
│   ├── OData
│   ├── JSON API
│   ├── HAL (Hypertext Application Language)
│   └── Siren
├── SOAP API:
│   └── WSDL (Web Services Description Language)
├── GraphQL:
├── JSON-RPC:
├── XML-RPC:
└── gRPC:

詳細

RESTful API (Representational State Transfer)

特徴

  • HTTPメソッド(GET、POST、PUT、DELETE)を使用
  • ステートレスな通信(各リクエストは独立)
  • JSON、XMLなど複数のデータフォーマットをサポート
  • Uniform Resource Locator (URL) を使用してリソースを識別

使用例

  • ウェブサービスやモバイルアプリケーション
  • ソーシャルメディアプラットフォーム(例:Twitter API)
  • Eコマースアプリケーション

具体的なWeb API

  • ODate: ビジネスインテリジェンスツール(例:PowerBI)との連携

SOAP (Simple Object Access Protocol)

特徴

  • XMLベースのメッセージングプロトコル
  • 高いセキュリティと信頼性
  • 複雑なトランザクションやセキュリティが必要な場合に適している

使用例

  • 金融サービス、医療システム
  • エンタープライズソフトウェア

GraphQL

特徴

  • クエリ言語で、クライアントが必要なデータのみを取得
  • 単一のエンドポイントを使用
  • 強く型付けされたスキーマ

使用例

  • ソーシャルメディアプラットフォーム(例:Facebook、GitHub API)
  • 動的なデータニーズを持つモバイルアプリケーション
  • データ量が多いアプリケーション

JSON-RPC

特徴

  • JSONを使用したリモートプロシージャコール
  • シンプルで軽量
  • 低レイテンシーで効率的な通信

使用例

  • モバイルアプリやマイクロサービス間の通信
  • リアルタイム、高パフォーマンスシステム

XML-RPC

特徴

  • XMLを使用したリモートプロシージャコール
  • 古いプロトコルで、複雑なデータを扱う

使用例

  • レガシーシステムや特定のエンタープライズアプリケーション

gRPC (gRPC Remote Procedure Calls)

特徴

  • HTTP/2を使用した高速通信
  • プロトコルバッファ(Protocol Buffers)を使用した効率的なデータシリアライゼーション
  • 双方向ストリーミングをサポート

使用例

  • マイクロサービスアーキテクチャ
  • リアルタイム通信が必要なアプリケーション(例:チャットアプリ)
  • 高パフォーマンスが求められるシステム

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?