Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAPI 仕様が作成できたので、次はこれを使用して Mule アプリケーションを作成します。
Anypoint Platform では、Mule Runtime Engine (Mule) のインスタンスにデプロイするアプリケーションに API をパッケージします。 Mule は、Mule アプリケーションを実行する軽量のインテグレーションエンジンです。Mule のインスタンスは、Studio と、Mule アプリケーションおよび API をデプロイする環境に埋め込まれます。 これらの環境は対象と呼ばれます。対象の 1 つは Studio に埋め込まれる Mule で、開発とテストに使用します。もう 1 つの対象は CloudHub で、MuleSoft によって管理されるクラウドベースの環境です。
最初に、アプリケーションを Studio の Mule にデプロイし、次に CloudHub の Mule にデプロイします。
Package Explorer では、各プロジェクトで作成したファイルを操作できます。
キャンバスでは、プロジェクトの要素をドラッグして接続することで、フローを作成します。
[Mule Palette (Mule パレット)] では、コネクタやモジュールなどの標準アセットやカスタムアセットに簡単にアクセスできます。
設定セクションにあるタブは、設定ダイアログや Mule デバッガーなどの開発者用ダイアログへのアクセスに使用します。
Anypoint Platform のログイン情報は、Studio に 1 回だけ追加すれば、以降に作成するすべてのプロジェクトで使用できます。
Studio を開き、[Anypoint Studio] > [Settings (設定)] を選択します。
[Preferences (プリファレンス)] ウィンドウで、[Anypoint Studio] をクリックし、[Authentication (認証)] をクリックします。
[Add (追加)] をクリックし、Anypoint Platform のユーザー名とパスワードを入力します。
[Sign In (サインイン)] をクリックします。
必要に応じて、[Secure Storage - Password Hint Needed (セキュアストレージ - パスワードヒントが必要)] ダイアログで [Yes (はい)] をクリックします。
[Apply and Close (適用して閉じる)] をクリックします。
このログイン情報は、Studio の多くの操作で自動的に使用されます。
このステップではプロジェクトを作成します。
Studio で、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] を選択します。
ダイアログボックスで、次の値を設定します。
Project Name (プロジェクト名): hello-world-app
Runtime: 選択肢があれば、最新バージョンの Mule を選択します。これが Studio でテスト用にホストされる Mule Runtime Engine となります。
[Import a published API (パブリッシュ済みの API をインポート)] タブを選択します。
緑のプラス記号をクリックして [From Exchange (Exchange から)] を選択します。
必要であれば組織にログインします。
検索ボックスに hello-world
と入力します。
hello-world-api をクリックして選択します。
[Add (追加)] をクリックして [Selected modules (選択したモジュール)] リストに移動し、[Finish (完了)] をクリックします。
[Scaffold flows from these API specifications (これらの API 仕様からフローをスキャフォールディングする)] チェックボックスがオンであることを確認し、[Finish (完了)] をクリックします。
この設定では、Studio はデフォルトのエラー処理や他の便利な機能をプロジェクトに追加します。
Studio によって hello-world.xml
という XML ファイルが作成され、キャンバスの [Message Flow (メッセージフロー)] ビューで開かれ、API インターフェースで必要な基本要素が表示されます。
キャンバスを下にスクロールして、アプリケーションに追加されたスキャフォールディングを確認します。
要求を受信できる HTTP リスナー
メッセージをルーティングする APIkit ルーター
各種エラー条件用のエラーハンドラー
hello-world-app-console というコンソール (このプロジェクトでは使用しません)
設定の大半を行うエンドポイント /greeting
への GET 要求
キャンバスには 3 つの異なるビューがあります。
[Message Flow (メッセージフロー)] は、モジュール、コネクタなどのアセットをキャンバスにドラッグし、それらのリレーションを作成するために使用します。
[Global Elements (グローバル要素)] は、複数のプロジェクトで使用するグローバル要素を指定するために使用します。
[Configuration XML (設定 XML)] は、プロジェクトの XML を直接編集するために使用します。
キャンバスの Listener コンポーネントで設定されている値を確認します。
[Listener] をダブルクリックして、全体的な設定値を表示します。
設定名の横にある編集アイコン をクリックして、ホストが 0.0.0.0
でポートが 8081
であることを確認します。
[Test Connection (接続をテスト)] をクリックし、接続テストが成功したと報告されたら [OK] をクリックします。
[OK] をクリックして、設定を閉じます。
[Global Configuration Elements (グローバル設定要素)] タブに戻ります。
[Message Flow (メッセージフロー)] をクリックしてキャンバスに戻ります。
Listener コンポーネントの全体的な設定値が引き続き表示されます。
[Path (パス)] が /api/* に設定されていることを確認します。このベストプラクティスにより、すべてのエンドポイントが base-URI/api/endpoint
のような形式になります。
次のステップでは、ビジネスロジックを作成して、この API に必要な要素を設定します。
Studio から提供されたスキャフォールディングを使用し、/greeting
エンドポイントモジュールを設定してアプリケーションを完成させます。
[Message Flow (メッセージフロー)] ビューで、/greeting
エンドポイントモジュールが表示されるまでキャンバスを下にスクロールします。
[Transform Message] コンポーネントを右クリックして削除します。
[Mule Palette (Mule パレット)] で [Favorites (お気に入り)] を選択して、コンポーネント、サービス、トランスフォーマー、ルーターのリストを表示します。
[Set Payload] をクリックして選択し、Transform Message を削除した [Process (プロセス)] スペースにドラッグします。
hello-world-api
API からの応答として送信されるデータを表示するロジックを指定します。
フローに追加した Set Payload トランスフォーマーをクリックします。
[General (一般)] タブで [fx] (関数) ボタンをクリックして選択解除します。このチュートリアルでは、値をハードコードします。
[Settings (設定)] で、[Value (値)] を Today the greeting is Hello
に設定します。
Anypoint Studio メニューで、[File (ファイル)] > [Save All (すべて保存)] を選択します。
キャンバスの [Configuration XML (設定 XML)] をクリックして、作業で生成された XML を確認します。
[Message Flow (メッセージフロー)] をクリックして、次のステップ用にキャンバスを設定します。
これで、API を公開するためにデプロイできるシンプルな Mule アプリケーションを含むプロジェクトが作成されました。
この API は、通常の本番対応 API よりシンプルです。
|
API を含む Studio プロジェクトを Mule Runtime Engine (Mule) で実行し、サードパーティクライアントでテストします。
キャンバス上の任意の場所を右クリックして、[Run project hello-world-app (hello-world-app プロジェクトを実行)] を選択します。
Studio 内でコンソールが開き、アプリケーションが Mule にデプロイされると状況メッセージが表示されます。 API を含むアプリケーションが Mule にデプロイされると、次のメッセージが表示されます。
******************************************************************************************************* * - - + APPLICATION + - - * - - + DOMAIN + - - * - - + STATUS + - - * ******************************************************************************************************* * hello-world-app * default * DEPLOYED * *******************************************************************************************************
アプリケーションをテストするため、REST クライアント (Advanced Rest クライアント) を開いて GET 要求を送信します。
http://localhost:8081/api/greeting
REST クライアントで 200 OK
メッセージと Today the greeting is Hello
という本文が返されます。
キャンバス内を右クリックして、[Stop project hello-word-app (hello-word-app プロジェクトを停止)] を選択します。
アプリケーションを Exchange にパブリッシュして他のユーザーと共有するためには、先にトライアル組織でビジネスグループを作成する必要があります。 Exchange のアセットは、ルートビジネスグループ以外のビジネスグループに属している必要があります。
すでに組織でビジネスグループを作成してある場合は、このステップは省略してください。
ビジネスグループを作成する手順は次のとおりです。
Anypoint Platform にログインします。
ランディングページの [Management Center] を見つけて、[Access Management (アクセス管理)] をクリックします。
ナビゲーションパネルで、[Business Groups (ビジネスグループ)] をクリックします。
[Create business group (ビジネスグループを作成)] をクリックして [Name (名前)] に「My Top Business Group」
(上位のビジネスグループ) と入力します。
[Parent business group (パートナービジネスグループ)] ドロップダウンから、自分が管理者になっているビジネスグループを選択します。
[Owner (オーナー)] に自分のユーザー名を入力し、見つかった場合は選択します。
[Can create environments (環境を作成可能)] チェックボックスをオンにして、[Create (作成)] をクリックします。
[Access Management (アクセス管理)] 画面の組織名の下に新しいビジネスグループが表示されます。
他のユーザーがテンプレートやサンプルとして使用できるように、API を Exchange にパブリッシュします。
Studio の Package Explorer で、hello-world-app
プロジェクトを右クリックします。
[Anypoint Platform] > [Publish to Exchange (Exchange にパブリッシュ)] を選択します。
プロジェクトの値を入力します。
[User (ユーザー)] では、自分のユーザー名を選択します。
[Business group (ビジネスグループ)] で、作成した [My Top Business Group (上位のビジネスグループ)] ビジネスグループを選択します。この項目にデフォルトで表示されるルートビジネスグループを使用することはできません。ログイン情報の期限が切れている場合は、[Add account (アカウントを追加)] をクリックしてログイン情報を再び追加します。
[Version (バージョン)] はデフォルト値のままにしておきます。
[Project type (プロジェクトタイプ)] > [Example (サンプル)] を選択します。
[Next (次へ)] をクリックします。
ユーザーが Exchange で使用可能なアセットを見つけやすくなるように、ドキュメント、説明、タグを追加できます。
[Finish (完了)] をクリックします。
確認が求められたら [Yes (はい)] をクリックして続行します。
プロジェクトが Exchange にアップロードされると、プロジェクトへの直接リンクが表示されます。
リンクをクリックして、Exchange でプロジェクトを表示します。
[Back to Assets List (アセットリストに戻る)] をクリックします。
パブリッシュしたばかりのアセットの Exchange タイルを確認できるようになっています。
(省略可能) Exchange からサインアウトして、作成したばかりのアセットを検索します。
hello-world-app のタイルをクリックします。
[Asset Versions (アセットバージョン)] セクションで、その他 (…) メニューをクリックして [Version detail (バージョン詳細)] を選択します。HTTP Connector、Sockets Connector、APIKit モジュールが連動関係としてリストされます。 +
Exchange でパブリッシュしたアセットを確認したら、Studio に戻って [OK] をクリックし、開いているダイアログウィンドウを閉じます。
API の開発を完了するため、次に以下を追加します。
Validation
デバッグをサポートするイベントログ
エラー処理
API の単体テスト
完成したら、アプリケーションの更新後のバージョンを改めてパブリッシュします。
Anypoint Platform と Studio の機能について知るには、以下を参照してください。
フロー、サブフロー、非同期キューを使用して Mule アプリケーションを組み立てる。
アプリケーションのメタデータ (スキーマ) を定義して管理する。メタデータエディター。
API Manager の Analytics を使用して重要業績指標を実装する。
イベントを条件的にルーティングする。Choice router、Scatter-Gather ルーター。