前回はMule開発するにあたって必要な環境を準備しました。本記事からは実践編。まずはMuleの基礎となるAPI作成について簡単に手順を記載したいと思います。
今回はAPIを作って、実際にローカル環境で動かすところまでを確認してゴールとしたいと思います。
環境・バージョン
今回のAPI作成にあたり、使用したOSやソフトウェアのバージョンは以下の通りです。
OS:macOS Monterey ver 12.1
Anypoint Studio:Eclipse 4.19 for Mac OS X Anypoint Studio 7 and Mule 4
今回はMacOSでの作成、検証でしたが、多少のバージョン違いやWindowsでの実施も問題なくできるようです。
Anypoint Studioのソフトウェアアップデート
MuleのAPI作成はAnypoint Studioから作成します。
Anypoint Platform上からでも作成可能ですが、今回はAnypoint Studioから作成します。
まずは前回インストールしたAnypoint Studioを起動しましょう。ワークスペースは任意の場所に作成します。
API作成前にソフトウェアを確認します。[Help]→[Check for Update]で更新可能なソフトウェアがないか確認。
おそらく、インストール直後は最新になっていないので、最新版に更新してしまいましょう。
利用規約に同意してアップデートが実行されます(多少時間かかります)。
アップデート完了後、ソフトウェアが更新されると再起動を要求されるので、Anypoint Studioを再起動します。
APIを作成する
プロジェクトの作成
Mule周りのソフトウェアを最新にしたところで、Muleプロジェクトを作成します。
Package ExplorerのCreate a Mule Projectを選択。
([File] → [New] →[Mule Project] でもOK)
プロジェクト名を入力します。
任意名でOKですが、今回は「HelloMule」にします。
その他、ランタイムなどの選択もありますが、デフォルトのものでOKです。
このようにプロジェクトと必要なモジュールが作成されます。
デフォルトで開いているhellomule.xmlがAPIのフローを定義するxmlファイルとなっており、ここを編集することでAPIが構築されます。
xmlってことは構文を覚えなきゃいけないの?と思うかもしれませんが、心配ご無用!
右側にあるMule Paletteを駆使することで、パレットにドラッグ&ドロップを作成することで自動的にxmlが生成され、GUIベースでのフロー構築が可能になります。
フローの作成
では、実際にAPIを作成してみましょう。今回はHTTPリクエストを受け取るコネクタエンドポイントを作成します。
右のMule Paletteから[HTTP]→[Listener]を選択し、hellomuleのキャンバスにドラッグ&ドロップします。
Generalから以下内容を設定します。
◆Connector configuration
まだ何も定義されていないので、Create a new configurationで作成します(+アイコン)。
HTTPの接続情報を入力しますが、今はlocalhostでの検証なので、デフォルトのままでOKです。
◆Path
エンドポイントのパスを設定。ここでは「/hellomule」を設定します。
◆Display Name
フローコンポーネントの表示名になります。
デフォルトのままでもOKですが、分かりやすい表示名にするのが推奨とされています。
今回は「GET /hellomule」という表記でいきたいと思います。
続いて、Advancedも設定します。
こちらはAllowed methodsを設定します。
今回はHTTPのGETメソッドでAPI処理をしたいので、Allowed methodsにGETを指定しましょう。
これで、HTTPリクエストを受け取れるようになりました。
このままでは、その後の処理がないため、何もせずに終わってしまいます。
動作することを確認するために、Loggerを使って、HTTPリクエストを受け取った時に「Hello Mule!」を表示するようにします。
右のMule Paletteから[Core]→[Logger]を選択し、hellomuleのキャンバスにドラッグ&ドロップします。
ドロップする位置は、先ほど作成したListener(GET /hellomule)のやや右側に配置するようにします。
(Processという文字があるあたり)
ドロップするとこのように、Listenerの後にLogger処理されるフローが出来上がります。
Loggerを選択して、GeneralのMessageに「Hello Mule!」と設定します。
これでLoggerにメッセージが記録されます。
これで、どシンプルですがフローが作成できました。
プロジェクトを保存してください。
作成したAPIを呼び出してみる
アプリケーションの起動
それでは作成したAPIが動くか検証してみましょう。
キャンバスを右クリックし、「Run project hellomule」でアプリケーションが起動します。
コンソールにhellomuleがDEPLOYEDになれば成功です。
Advanced REST Clientを使ってリクエスト送信
アプリケーション起動成功と言っても、HTTPリスナーが受け入れ状態になっただけで、リクエストが送信されない限り動きません。実際にHTTPリクエストを送信して動作を確認してみます。
ここで使用するのがAdvanced REST Clientです。
Advanced REST Clientを起動しましょう。
上のURL入力欄にGETメソッドの指定および以下URLを記入し、送信(三角のアイコン)します。
http://localhost:8081/hellomule
レスポンスで200というステータスコードが返れば成功です。
Loggerで設定したメッセージを確認するには、Anypoint Studioのコンソールに「Hello Mule!」が記載されていればOKです。(横にスクロールが必要です)
これで、作成したAPIが動いていることが確認できました。
次回、作成したAPIを公開
本記事では簡単なAPIまで作成しました。
まだ、ローカル環境でしか使えないAPIとなっているため、Anypoint Platformを使用してAPIを公開したいと思います。
コメント