Muleアプリケーションでデータ変換処理を実装する言語「DataWeave」の便利ツールを紹介します。
DataWeaveで実装した変換処理部分の動作だけを確認したい場合に、Anypoint StudioやDesign CenterでMuleフローを作りPostman等でデータを送信して確認するのは非常に面倒です。
ローカルで DataWeaveをコマンドラインから実行する 方法もありますが、Windowsに対応していなかったりCUIなので入力データもDataWeaveスクリプトも少し長くなるとファイルで扱う事になりまだ面倒です。
それならばと、ブラウザを使ってDataWeaveの動作を確認できるWebアプリケーションをMuleで自作しました。
GitHub - DataWeavePlayground
しかーし!
先日のMuleSoft Connect Digitalの「DataWeave: Powerful data transformations with less code」セッションにて、ブラウザでDataWeaveを実行する神ツールが紹介されていたので、ここでも紹介したいと思います。
dw-playground
dw-playgroundはMuleSoftの中の人(たぶん)であるmachavalさんが公開しているツールです。
Webアプリケーションでブラウザを使ってDataWeaveの動作を確認でき、しかもAnypoint Studioと同じような入力補助まで付いています。
なお、ソースコードの公開やアプリ単位での配布はなくDockerイメージとして公開されています。
セットアップ
Docker自体のセットアップ手順は省きます。
Docker Hub machaval/dw-playgroundからイメージをpullします。
docker pull machaval/dw-playground
私がやった時は上記では上手くいかずdocker pull machaval/dw-playground:2.3.1-SNAPSHOT
でpullしました。
アプリはコンテナ内で8080ポートで起動するので適当なポートをマッピングしてコンテナを起動してください。
docker run --name dw-playground -p 8000:8080 machaval/dw-playground:2.3.1-SNAPSHOT
使い方
INPUT EXPLORERで入力値となるpayloadやvarsの中身を定義します。
SCRIPT EXPLORERでスクリプトを定義します。関数などを定義した外部ファイルも追加可能です。
入力値やスクリプトが変更されるとリアルタイムでOUTPUTが表示されます。
余談
Windows 10 May 2020 UpdateでGAしたWSL2(Windows Subsystem for Linux)とDocker for Windowsの組み合わせでサクッとコンテナを起動して試せるのは素晴らしいですね。