
ラボ 4: Omni Channel APIを直接管理(オプション)
概要
API管理 は、3つのレイヤーすべてでAPIにガバナンスフレームワークを提供するため、API主導アーキテクチャには不可欠です。ラボ1では、ポリシーの適用や分析のためのデータ収集に使用されるAPI Gateway上で、MuleSoftが既存のAPIをプロキシする方法を見てきました。
MuleSoftのユニークで強力な機能の1つは、MuleSoftが実装したAPIに直接ガバナンスを適用できることです。サービスに直接ガバナンスを適用することで、APIゲートウェイを経由する追加のホップが不要になり、サービスに直接ラストマイルのセキュリティを提供することができます。
ここで使用するAPIは、以前にデプロイしたOmni Channel APIです。
ここでは、MuleSoftのもう1つのユニークな機能、APIオートディスカバリー機能を使用します。APIオートディスカバリー機能は、アプリケーションのHTTPエンドポイントに対して、Anypoint PlatformからAPI管理を可能にするためにMuleアプリケーションで使用されます。オートディスカバリーを組み込んだアプリを実行すると、オートディスカバリープロセスがAPI Managerにアプリを登録して起動します。登録と起動は、ユーザーの介入なしに行われます。APIは、ラップトップ、オンプレミス、クラウドのいずれで実行されているかに関わらず、検出され、管理されます。
クライアントは、同じ HTTP エンドポイントを介してデプロイされたOmni Channel API にアクセスし続けます。API Managerは、API の管理、アクセス制御、および使用状況の監視を行います。これについては、以降のラボで説明します。
ステップ 1: API Managerで API を作成
Omni Channel APIを使用して、APIを実装します。
-
API Managerのページを開いて、Add API をクリックし、そして Add new API を選択します。
-
Mule Gateway をランタイムとして選択し、そして Deploy a proxy application をチェックします。
-
. 以下に記す情報に基づいて構成します。
-
Proxy Type: 既存アプリケーションに接続します(basic endpoint)
-
Runtime version: '4.4.0' もしくは利用可能な最新のバージョンを選択します。 proertyでプロキシーのURLやランタイムマネージャーでのMule Applicationの名前を定義できます。
-
-
Next ボタンをクリックします。
-
Select API from Exchange and select *Omni Channel Experience API*を選択します」
-
画面の最下部に表示されている値をチェックする
-
Asset type: ドロップダウンリストから’RAML/OAS’を選択します。
-
API version: ドロップダウンリストから'1.0.0’を選択します。
-
Asset version: ドロップダウンリストから'1.0.0’を選択します。
-
-
Next ボタンをクリックします。
-
以下に書かれている情報でAPIを構成します。
-
API instance Label:
<username>-impl-omni-channel
。このパラメータは、API Managerにおいて、このAPIを識別するために使われます。
-
-
Next ボタンをクリックして、構成内容を確認します。
-
もし内容に間違いがなければ、Save ボタンをクリックします。
Save ボタンをクリックすると、API構成の画面が表示されます。API IDをメモします。オートディスカバリーコンポーネントの構成に使用します。
ステップ 2:Anypoint StudioでOmni Channelに戻る
-
モジュール2のラボ2では、Anypoint StudioのOmni Channelプロジェクト全体をダウンロードしました。その際、利用したプロジェクトをスタジオで開きます。
ステップ 3:AnypointプラットフォームとのAPIペアリングを有効にする
アプリケーションが自動検出されるためには、組織に対して正しいクライアント資格情報を持っている必要があります。
-
Anypointプラットフォームで Access Management を選択します。
-
左メニューから Environments を選択します。
-
Sandbox を選択します。
-
APIのペアリングには、スタジオの client_id と client_secret を使用します。client_secretを表示するには、Show をクリックします。
-
Anypoint Studioに戻って、メインメニューから Preferences を選択します。 (Macの場合は Anypoint Studio→ Preferences の下にあります。Windowsの場合は、Window→ Preferences の下にあります)API Manager を検索して選択します。クライアント資格情報フィールドに client_id と client_secret をコピーして貼り付けます。これらが正しいことを確認するには、Validate ボタンをクリックします。Apply ボタンをクリックして Close ボタンをクリックします。
+ image::module5_lab4_pairing.png[align="center"]
ステップ 4: APIオートディスカバリ機能のグローバル要素の作成
-
キャンバスの一番下にある Global Elements タブを開きます。
-
Create ボタンをクリックします。
-
フィルタ を使用して、auto と検索すると、API Autodiscovery が表示されますので選択後、OK ボタンをクリックします。
-
API Id と Flow Name を入力します。
この値を取得するには、API Managerから情報を取得する必要があります。
-
API Managerに移動し、Step1で作成したAPIを探します。
APIはまだペアリングされていないので、未登録 の状態です。 -
API ID をメモしておきます。
-
-
前のステップで取得したAPI IDで API Id に入力します。
-
Flow Name に api-main を選択します。
-
OK ボタンをクリックします。
新しい API autodiscovery グローバル要素が表示されるはずです。プロジェクトを 保存 します。
ステップ 5: アプリケーションがAPI Managerと正しくペアリングされていることをテスト
-
テストモードでアプリケーションを起動します。この方法について確認が必要な場合は、モジュール2、ラボ2、ステップ3を参照してください。アプリケーションが正常に起動したら、API Manager に移動して API Status が Active になっているかどうかを確認してください。これには1分ほどかかる可能性があります。
-
おめでとうございます。オムニチャネルアプリケーションは、テストモードでもオンプレミスでもクラウドでも、API Manager によって管理されるようになりました。
ステップ 6: API Omni Channel アプリケーションの再デプロイ
-
モジュール2、ラボ3で行ったのと同じ手順でアプリケーションを再デプロイします。
環境を選択する必要がある場合は、Sandboxを選択します。 -
Anypoint Runtime Manager を使用してアプリケーションが正常に再配置されたことを確認します。ステータスが Updating から Started になっている必要があります。
Your application is started と表示されたら、次に進みます。
-
API Manager でAPI StatusがActiveになっていることを再度確認します(ステップ4と同様)。ステータスバーに緑色のDeploy Successfulと表示されるはずです。
まとめ
このラボでは、次の手順を完了しました:
-
API Managerで APIを作成
-
Anypoint StudioでOmni Channel プロジェクトを完成させる
-
AnypointプラットフォームとのAPIペアリングを有効にする
-
API自動検出グローバル要素の作成
-
アプリケーションがAPI Managerと正しくペアリングされていることをテスト
-
API Omni Channel アプリケーションの再デプロイ
アプリケーションを自動検出できるようにするのがいかに簡単かを確認しました。 オートディスカバリー機能により、オンプレミスでもクラウドでも、環境全体を通してMuleSoftが実装したAPIを シンプル な手法で管理することができます。別のAPI Gatewayを経由することなく、MuleSoftアプリケーションのセキュリティを確保し、管理することができます。これは、ポリシーがエンジンレベルで直接適用されるため、「ラストマイルのセキュリティ」も提供します。このラボでは、APIをCloudHubにデプロイすることで、インフラストラクチャの管理やメンテナンスをしなくても、デプロイを大幅にスピードアップ できることを確認しました。
APIゲートウェイのデプロイとAPIのプロキシの詳細については、次のドキュメントを参照してください:

次の(オプション)ラボでは、ExchangeにないレガシーAPIをプロキシする方法を示します。
必要に応じて、 ラボ 5 に進んでください。 そうでない場合…
おめでとうございます!ラボ4が完了しました。
モジュール 6に進んでください。