IBM API Connect 関連メモ - (3)カタログ、開発者ポータルの構成

# はじめに

IBM Cloud上のAPI Connectを試してみた時の作業ログです。
今回はカタログ、および、開発者ポータルのセットアップ辺りをやってみます。

## 関連記事

[IBM API Connect 関連メモ - (1)既存REST APIの取り込み](https://qiita.com/tomotagwork/private/d02f8e6092740b0e782f)
[IBM API Connect 関連メモ - (2)API Connectツールキットを使用したNode.jsアプリ作成(Loopback)](https://qiita.com/tomotagwork/private/7872ec8f99de57d7819a)
[IBM API Connect 関連メモ - (3)カタログ、開発者ポータルの構成](https://qiita.com/tomotagwork/private/da577551d7f4c50c4fd2)
[IBM API Connect 関連メモ - (4)各種APIの管理](https://qiita.com/tomotagwork/private/99e9b35227a0f80b2a91)
[IBM API Connect 関連メモ - (5)Secure Gateway経由でのz/OS Connectとの連携](https://qiita.com/tomotagwork/private/59e88b782bb72f1d0c1a)
[IBM API Connect 関連メモ - (6)API Connect-z/OS Connect間TLS接続](https://qiita.com/tomotagwork/private/c70b8566129e51c92423)
[IBM API Connect 関連メモ - (7)z/OS Connect 基本認証 + ID伝播](https://qiita.com/tomotagwork/private/38d41cbc01f92352f649)
[IBM API Connect 関連メモ - (8)z/OS Connect 連携におけるインターフェースの浄化](https://qiita.com/tomotagwork/private/0ec8d2224ad141756510)
[IBM API Connect 関連メモ - (9)z/OS Connect 連携まとめ](https://qiita.com/tomotagwork/private/a9fae53f02773a0c67b1)

# API公開フロー全体像
なんとなーくAPI公開までのフローのイメージが湧いてきたので図にしてみます。多分こんな感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/1dcb66ba-8c2d-069b-b5c5-98e1a0cf1a69.png)
前回はAPIの定義作成して製品にパッケージしてカタログに公開するあたりまで。
今回は、カタログ、開発者用ポータルあたりの操作をやってみます。

最初、"製品"とか"カタログ"とかいう文言があんまりピンときてなかったのですが、利用者向けに商品を紹介する時の商品カタログのイメージなんですね。こういう製品がこういうプランでご提供できますよというのをカタログに載せておくと、利用者はそれを見て使いたいプランを選んで使うという....。

# チュートリアル実施

## カタログの構成
チュートリアルとしては、デフォルトで用意されているSandboxというカタログを使うような手順になっていますが、ここでは以下の記述を参考に別のカタログ作成してそちらを使用してみます。

参考: [カタログの構成](https://cloud.ibm.com/docs/apiconnect/tutorials?topic=apiconnect-create_catalog&locale=ja)

### 新規カタログ作成

API Connectのダッシュボードから、追加 - カタログを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/e5cc4613-fb97-0c27-95f6-a7a9a36930e0.png)

名前を指定して追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/b5185966-f9f3-724d-376d-5aee4d2a1b25.png)

追加されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/d81cd592-e9e2-4716-47d4-66d2bd0d3a41.png)

### 設定確認
カタログの設定内容を確認します。
追加されたCatalog-Test01をクリック-設定タブを開きます。

概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/8a9e511e-e594-038a-1c21-71e1e3adb2d2.png)

承認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/1f45cd0a-d754-bf96-b03b-be2c01ea33cf.png)

ゲートウェイ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/8575474e-a6a9-9da6-0103-85244a3a4fe5.png)

ポータル
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/c35d6803-9457-4cc8-59ea-a8d001fc603d.png)

ロール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/867cac08-32c7-b0cc-61f0-b25f8402246d.png)

拡張
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/84de0333-cc6e-e34b-8a98-3950fdb1357d.png)

### カタログのパーティション化
カタログは複数の論理的な"スペース"という単位に分割して管理することができるようです(シンジケーション機能)。
スペースを作成してみます。
カタログの設定 - 概要 から "スペース"を有効化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/bdbe20da-0759-0cea-14e9-723b27afeaaa.png)

有効にするをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/e78a94a6-af18-4cc7-d016-d89893e72cf5.png)

右上の保存をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/85ef1815-1084-8648-d833-e67cee00a6e7.png)

左側のメニュー、および、"スペース"のスイッチの下にスペースの管理へのリンクが表示されるのでいずれかをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/449c85d3-26cf-14bb-82a0-07a7d996ea6d.png)

New Spaceの右側のプルダウンメニューから編集を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/79636899-09eb-fd4d-0453-5358fe1a1aac.png)

名前を指定して保存
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/ded90351-e6f7-061e-2e73-8598197ceba8.png)

追加でもう一つスペースを作ってみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/4bdd1ccb-a4ad-4edd-2f36-52c5df94cc9f.png)

Space-Test01, Space-Test02という2つのスペースが作成された状態になりました。


### 製品をカタログにステージング

以前作成した製品を、新規に作成したカタログ/スペースに登録(ステージング)してみます。

ドラフトの画面からステージングするAPIを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/7448732d-363b-1759-b7d5-4b338e97c99e.png)

右上のステージングアイコンをクリックすると、ステージング先の選択肢として、上で追加した<カタログ名>-<スペース名>が表示されます。
ここでは、<Catalog-Test01 - Space-Test01>を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/95ba3223-e8c6-792c-88e0-0aa4d15443ea.png)

成功メッセージを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/5f3abcf0-f47b-8bea-0533-c1d529cc6a41.png)

カタログ"Catalog-Test01"の画面に戻ります。
左上のプルダウンメニューから、Space-Test01のスペースを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/dd010232-40b6-90c9-b559-fbcaf6deb563.png)

製品が追加されていて、ステージング済みになっていることが確認できます。
製品の右側のプルダウンメニューから、公開を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/63aa2284-c1bd-8b4e-8d42-d44cd8639b56.png)

そのまま公開
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/3ad5a60f-c61d-b520-2cad-d49a82a23b9f.png)

成功メッセージが出て公開済みとなります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/cdbea334-4b19-a715-b4c3-ada0c777ec2c.png)


## 開発者ポータルの構成
参考: [開発者ポータルのセットアップと構成](https://cloud.ibm.com/docs/apiconnect?topic=apiconnect-tut_config_dev_portal&locale=ja)

### 開発者ポータルを作成
DashboardからCatalog-Test01を選択します。

左上のプルダウンメニューからCatalog-Test01(カタログ)を選択しておきます。(スペースを選択した状態だと後続のポータル構成が行えませんでした)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/3b3709ee-4815-1295-e705-147a372aeb0c.png)

設定タブからポータル構成画面を開きます。
ポータルの選択のプルダウンメニューからIBM開発者ポータルを選択し、保存します。
ポータルURLをメモっておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/d7324b9f-49a9-4d85-f282-f6f6483f26b8.png)

メッセージを確認してOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/74fe476f-6da1-37ea-46a0-a3a6c3adbebf.png)

以下のようなメールが届く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/40138ecf-fdc3-0c73-29aa-b51964454ca3.png)

ログインをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/59eef5d9-a3e7-8979-df60-12079f948a37.png)

パスワードを設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/1c4cd26d-9b23-ad2e-9491-3ba9b7d640c9.png)

そのたProfileを編集して保存
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/c823e0b2-1cdd-fe28-e211-ee38a147ec97.png)

### 開発者ポータルへのアクセス
これまではAPIプロバイダーや管理者が行う操作イメージでしたが、ここの操作は基本的にはAPIコンシューマーが操作する想定のものです。
ここではとりあえず画面の確認だけ。

カタログの設定タブからポータルを選択し、ポータルURLをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/20cd53cf-4512-f062-b727-886564a3abc8.png)

開発者ポータルの画面が開きます。特に制限を設けていないので、Loginしなくても誰でもAPIが見られる状態になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/4954c1a3-dc67-1eee-b20e-3b1426774a7e.png)

上段のメニューからAPI 製品を選択すると、利用可能な製品が確認できます。ここではWeather Provider API productが表示されているのでそれを選択してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/727fc10e-603e-29f3-1b5d-1c1c1412c69d.png)

API毎のプランなどが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/a650f979-ef77-6232-9a2b-73cce5dfd90e.png)

左側のメニューから特定のAPIを選択すると、そのAPIの仕様などが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/9b46b0b8-b90e-d0f2-74ae-33c337791d83.png)


## 開発者ポータルのカスタマイズとテーマの選択
参考: [開発者ポータルのカスタマイズとテーマの選択](https://cloud.ibm.com/docs/apiconnect?topic=apiconnect-tut_custom_dev_portal&locale=ja)

開発者ポータルに管理者権限でログインします。右上のAdmin Loginをクリックして、ユーザー名、パスワードを指定してログイン。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/1b7e41d9-2a58-a33d-c6e1-ca9dd5394640.png)

### バナーと見出しのカスタマイズ

一番上に管理者用のメニューが表示されます。コンテンツからブロックを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/676b7599-3899-a8ec-2098-5029cbb2ce6e.png)

Welcome Bannerの編集をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/2c0b6577-7d30-66af-8900-0135244d58af.png)

内容に適当なタイトルを指定し、最後に保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/499316af-33fd-eb40-9ed6-d01579ae077b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/b7bf98eb-7619-eb89-cd8b-00a6d7de603e.png)


### テーマのカスタマイズ
テーマ - 設定 -API Connect Themeを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/cb5f0176-803e-8d28-eb78-2e1ee7ec56d2.png)

リストを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/deaf5bd0-e074-bb44-e069-490b2c6e4a95.png)

Bartikというのを有効化してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/a17ed1e3-de3a-bc0d-0c9c-a611cd166eab.png)

Bartikが上段の有効なテーマにリストされるようになったので、デフォルトに設定をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/119d76c7-40f5-712b-da24-57702dd02071.png)

開発者ポータルの画面のテーマが変更されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/5658fdc2-3999-082c-11a5-e0a781123816.png)