はじめに
IBM API Connect を利用する際、多くの要素や用語が登場します。これらを正しく理解することは、API公開の成功に不可欠です。
この記事では、API Connectの主要な構成要素とその関係性をクイックに理解できるよう、全体像を整理して解説します。
※記載内容はバージョン10.0.8を対象としています。
各構成要素の関係性
ER図のように、主要な構成要素の関係性を視覚的に表現した図です。
- プロバイダー組織:製品自体を管理するCloud Managerで定義します。
- その他の要素:APIの開発全般を担うAPI Managerで定義します。
図の上段に位置する要素はAPI Managerの「管理」メニューから、下段の要素は「開発」メニューからアクセスできます。
各構成要素の解説
プロバイダー組織
内容 | 説明 |
---|---|
役割 | APIを提供する側の組織を定義します。利用者側の観点ではなく、提供者側の組織で分割します。 |
機能上の特徴 | プロバイダー組織単位にAPI Managerのサイトが提供されます。 |
生成および関連付けの導線 | Cloud Manager上のメニュー「プロバイダー組織」から追加します。 |
カタログ
内容 | 説明 |
---|---|
役割 | 利用者に公開する単位で作成します。開発、ステージング、本番などの利用用途別に準備する使い方や、同じ開発元でも異なる業務のAPIを提供するケースで別カタログとして管理する方法があります。 |
機能上の特徴 | 開発者ポータルはカタログ単位で提供され、APIのURLもカタログごとに生成されます。 |
生成および関連付けの導線 | API Manager上のメニュー「Manage」から追加します。 |
コンシューマー組織
内容 | 説明 |
---|---|
役割 | API利用者側の組織です。 |
機能上の特徴 | 管理上の区分であり、コンシューマー固有の機能はありません。 |
生成および関連付けの導線 | API Manager上のメニュー「Manage」で対象のカタログを選択し、「コンシューマー」タブから追加します。 |
アプリケーション
内容 | 説明 |
---|---|
役割 | 利用者側のアプリケーション(1つまたは複数)に対して定義します。 |
機能上の特徴 | APIキーの発行など、認証関連の提供単位となります。 |
生成および関連付けの導線 | API Manager上のメニュー「Manage」で対象のカタログを選択し、「アプリケーション」タブから追加します。追加の際にコンシューマーを選択します。 |
製品
内容 | 説明 |
---|---|
役割 | APIの公開単位として定義します。 |
機能上の特徴 | レート制限などを指定するプランを複数定義できます。また公開範囲を特定のコンシューマー組織に絞り込む設定も可能です。 |
生成および関連付けの導線 | API Manager上のメニュー「開発」から追加します。APIとの関連付けは追加時、または追加後の編集で可能です。 |
API
内容 | 説明 |
---|---|
役割 | 外部に公開するAPIを定義します。 |
機能上の特徴 | 複数のパスおよびHTTPメソッドを同時に定義することが可能です。作成にあたっては宛先APIのOpenAPI定義を活用することができます。 |
生成および関連付けの導線 | API Manager上のメニュー「開発」から追加します。 |
サブスクリプション
内容 | 説明 |
---|---|
役割 | アプリケーションと製品の関連付けです。 |
機能上の特徴 | アプリケーションとは製品・プランの単位で関連付けを行います。 |
生成および関連付けの導線 | API Manager上のメニュー「Manage」で対象のカタログを選択し、「アプリケーション」タブのリスト上にある3点メニューから選択します。 |
利用シナリオ別の各要素の配置例
使い方をより具体的にイメージするために、代表的な利用シナリオにおける要素の配置モデルを考えてみます。
これはあくまで参考例であり、ベストプラクティスではありません。皆様の利用状況に合わせて設計してください。
機能検証
構成要素 | 作成数量 |
---|---|
プロバイダー組織 | 1 |
カタログ | 1(Sandbox利用) |
コンシューマー組織 | 1(Sandbox利用) |
アプリケーション | 1(Sandbox利用) |
製品 | 1 |
API | 1 |
API Connectに慣れるための、最短設定の例です。ビルトインされている「Sandbox」カタログには、コンシューマーとアプリケーションが最初から登録されています。
社内利用
構成要素 | 作成数量 |
---|---|
プロバイダー組織 | 1 |
カタログ | 2 |
コンシューマー組織 | 1 |
アプリケーション | n |
製品 | 1 |
API | n |
本番と開発の2面構成で、本番はバージョン1.0を公開、開発はバージョン1.1を検証するという想定です。個別に運用する想定でカタログを2とします。
コンシューマー組織は1としていますが、利用者側システムからの利用実態を測定する目的でアプリケーションは利用者側プロジェクト毎に作成する想定です。
単一の製品にすべてのAPIを紐づけています。
API提供側に過大な負荷がかからないように製品で流量制御を指定できます。流量制御の異なるプランを準備し、利用者によってサービス提供レベルに差をつけることも考えられます。
社外提供(有償公開)
構成要素 | 作成数量 |
---|---|
プロバイダー組織 | 1 |
カタログ | 2 |
コンシューマー組織 | n |
アプリケーション | n |
製品 | n |
API | n |
契約先が複数となる、複雑な構成のパターンです。コンシューマー組織が複数になり、製品で複数のプランを提供するため、アプリケーションと製品の接続(サブスクリプション)が多数作成されます。
APIを公開する手順
APIの定義は、組織やアプリケーションとは独立して進められます。しかし、最終的に外部からアクセス可能にするには、定義したAPIをいずれかの製品に組み込み、アプリケーションと連携させる必要があります。
また、ゲートウェイサービスにAPI定義を反映させるためには、ステージと公開の手順を踏む必要があります。
- ステージ:ポータルに情報が公開されないため、利用者はアクセス可能であることを認識できません。
- 公開 (Publish):ポータルに情報が公開され、利用者がアクセス可能になります。
どちらの手順も、対象となる製品とカタログを指定して実行します。
おわりに
API Connectは、エンタープライズ向けの多様な要求に応えられる製品である反面、理解すべき要素が多く存在します。この記事が、各要素の繋がりを理解し、より効果的に製品を使いこなすための一助となれば幸いです。
参考
API Connect におけるパッケージング戦略と用語
https://www.ibm.com/docs/ja/api-connect/10.0.8_lts?topic=concepts-packaging-strategy-terminology-in-api-connect
さらに詳しい情報をお探しの方へ
IBMの最新情報、イベント情報、さらに役立つ資料は、以下のIBM Communityでも発信・格納されています。
最新のトレンドや有益な情報をチェックするために、ぜひご覧ください!
- WebSphere: IBM Community - WebSphere
WebSphere関連の最新情報やディスカッション、イベント情報、技術資料を公開中!
- ELM (Engineering Lifecycle Management): IBM Community - ELM
ELMに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック!
- Integration: IBM Community - Integration
Integrationに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック!