Concepts
APIMシステムは、フルライフサイクルAPI管理をサポートするために連携して動作する主要なエンティティとコンポーネントで構成されています。このセクションでは、各概念、そのシステム内での役割、およびAPIの開発、公開、消費にどのように貢献するかを定義します。
API Manager
Definition: API Managerは、APIのライフサイクル全体にわたって定義、構成、および維持管理を行うシステムユーザーです。
System Location: すべての構成および管理タスクにAPIMコンソールを使用します。
Key Responsibilities:
- バックエンドサービスの開発と登録
- APIエンドポイントと仕様の定義
- APIドキュメントの作成と管理
- ルーティングとポリシーの適用を構成
- 指定されたゲートウェイにAPIを公開
API User
Definition: API Userは、プラットフォーム上で公開されたAPIを消費する開発者またはアプリケーションチームです。
System Location:: 開発者ポータルおよびフロントエンドアプリケーションを介してシステムと対話します。
Key Responsibilities:
- APIドキュメントにアクセスし、レビューする
- APIアクセスと認証情報をリクエストする
- フロントエンドアプリケーション(Web/Mobile)にAPIを統合する
- 使用状況を監視し、APIトークンを管理する
Backend Service
Definition: バックエンドサービスは、APIが公開するコアビジネスロジックまたはデータ処理ユニットです。
System Location: APIMシステムの外部に存在しますが、登録され、そこを通じてアクセスされます。
Function:
- APIリクエストを受信し、処理する
- ゲートウェイを介してクライアントに構造化データまたはサービスの結果を返す
Frontend Application
Definition: エンドユーザーにビジネス機能を提供するためにAPIを利用する消費者向けのWebまたはモバイルアプリケーションです。
System Location: APIユーザーによって外部で構築および運営されます。
Function:
- APIゲートウェイに構造化リクエストを送信する
- エンドユーザーにAPIレスポンスを受信し、表示する
- APIベースのインタラクションのためのクライアントインターフェースとして機能する
API Gateway
Definition: APIゲートウェイは、ポリシーの適用、トラフィックのルーティング、およびAPIコールの処理を担当するコアランタイムコンポーネントです。
System Location: フロントエンドアプリケーションとバックエンドサービスの間に位置します。
Key Functions:
- 受信APIリクエストの検証と認証を行う
- リクエストおよびレスポンスポリシーを適用する(例:スロットリング、変換)
- リクエストを適切なバックエンドサービスにルーティングする
- 複数のプロジェクト間でのレプリケーション、スケーラビリティ、および分離をサポートする
APIM Console (API Management Console)
Definition: APIMコンソールは、API、ポリシー、ゲートウェイ、およびプロジェクトを管理するための主要な管理インターフェースです。
Target Users: APIマネージャー、プラットフォーム管理者
Key Functions:
- APIを定義、登録、公開する
- ポリシーとアクセスルールを構成する
- APIゲートウェイを作成および管理する
- APIの使用状況、パフォーマンス、およびシステムログを監視する
Developer Portal
Definition: 開発者ポータルは、APIユーザーが公開されたAPIを発見、探索、およびアクセスするためのセルフサービスプラットフォームです。
Target Users: 内部チーム、パートナー開発者、外部消費者
Key Functions:
- 利用可能なAPIとドキュメントをブラウズする
- APIアクセスをリクエストし、認証情報を管理する
- 個人の使用状況と承認状況を追跡する
- Open APIコラボレーションのためのインターフェースとして機能する
API Test Portal
Definition: リクエスト/レスポンスシミュレーションを使用してAPIをリアルタイムでテストするための専用ツールです。
Target Users: APIマネージャーとAPIユーザーの両方
Key Functions:
- パラメータとヘッダーを含むサンプルリクエストを送信する
- APIの機能的正確性を検証する
- APIキーやトークンなどの認証方法を使用する
- 本番使用前にAPIの動作をデバッグする
Tenant Management Console (User Management)
Definition: テナントマネージャーコンソールは、プラットフォームレベルの管理者向けにユーザーおよびプロジェクト管理機能を提供します。
Target Users: システムレベルの管理者
Key Functions:
- ユーザーとプロジェクトを作成および管理する
- ユーザーに役割、権限を割り当てる
- ユーザーをプロジェクトに割り当てる
API
Definition: API(アプリケーションプログラミングインターフェース)は、APIMプラットフォームを介して消費者に公開される主要なサービスユニットです。
System Location: APIMコンソールで登録および公開され、ゲートウェイを介してアクセスされます。
Attributes:
- Swagger/OpenAPIを使用して定義される
- バックエンドサービスに接続される
- ライフサイクル管理およびポリシーの対象となる
- フロントエンドアプリまたは外部システムによって消費される
API Documentation
Definition: APIを消費する方法を説明する構造化された技術文書です。
System Location: APIMコンソールで作成され、開発者ポータルに公開されます。
Contents Include:
- エンドポイントの説明とメソッド
- 入力パラメータと出力構造
- 認証要件と使用例
API Policy
Definition: APIポリシーは、APIリクエストとレスポンスがAPIゲートウェイによって処理される方法を規定するルールのセットです。これらのポリシーは、アクセス、セキュリティ、データ変換、およびトラフィックの動作を制御します。
Policy Placement: ポリシーはAPIフローの2つの異なる段階で適用されます:
- Inbound Policies (Request Policies): リクエストがバックエンドサービスに到達する前に適用されます。目的:
- 呼び出し元を認証する(例:APIキー、トークン、OAuth)
- ヘッダー、ペイロード、またはパラメータ形式の検証など、リクエストを変換または前処理する。
- レート制限とクォータの適用
- ルーティングの決定またはヘッダーの強化を行う
- Outbound Policies (Response Policies): バックエンドからレスポンスが返された後、APIユーザーに到達する前に適用されます。目的:
- レスポンスボディ内の機密データをマスクする
- レスポンス形式を変換する(例:XMLからJSON)
- レスポンスヘッダーを追加または変更する
- レスポンス内容またはステータスコードをログに記録する
- APIMコンソールで構成される
- APIゲートウェイによって動的に強制される
APIユーザーがリクエストを送信すると、ゲートウェイは最初に認証と有効性を確認するためにインバウンドポリシーを適用します。リクエストがバックエンドにルーティングされ、レスポンスが生成されると、アウトバウンドポリシーが適用され、レスポンスがセキュリティ、形式、またはログ要件に準拠していることを確認してからフロントエンドアプリケーションに返されます。
Multi-Gateway Management
Definition: 複数のゲートウェイを定義および運営する能力であり、各プロジェクトは1つのゲートウェイに制限されます。
Purpose and Benefits:
- プロジェクト間のトラフィックの分離
- リソース特定のデプロイメントによるスケーラビリティ
- ローリングアップデートとレプリケーション制御のサポート
- チーム、部門、またはテナントごとの柔軟なデプロイメント
API Lifecycle
Definition: APIの作成、デプロイメント、および運用のエンドツーエンドプロセスです。
Lifecycle Stages:
- バックエンドサービスの開発
- APIの定義とドキュメント作成
- ゲートウェイの作成とポリシー設定
- APIの公開
- テストとフロントエンド統合
- ランタイムリクエスト/レスポンスの実行
- 監視とバージョン管理
API Request and Response Flow
Definition: APIコールが消費者からプロバイダーへ、そして再び戻る実際のランタイムシーケンスです。
Flow Steps:
- フロントエンドアプリケーションがAPIゲートウェイにリクエストを送信する
- ゲートウェイがリクエストポリシーを適用する
- リクエストがバックエンドサービスにルーティングされる
- レスポンスが生成され、返される
- ゲートウェイがレスポンスポリシーを適用する
- 最終レスポンスがフロントエンドアプリに送信される