0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IBM App Connect Enterprise】 デバッグの基本

Posted at

はじめに

IBM App Connect Enterprise(以下 ACEと略します)は、IBMが提供するシステム間連携のソフトウェアで、システム間のさまざまなギャップを整理して連携を実現します。

メッセージフローの作成は直感的に進められますが、いざ実行すると「メッセージが入力されている筈だが出力まで到達しない、動いているかも分からない」「途中でいつもエラーになる」など、思った通りに進まないのは一般的なプログラム開発と同じです。

当記事では、メッセージフロー開発時に発生する問題の追跡方法をご紹介します(本番運用時に必要なログ出力は、さまざまな要素を考慮した設計が必要です)。
WindowsでToolkitがインストールされている想定です、参考にしているACEのバージョンは13.0.2です。

ログの出力先

Windows環境では、Windowsのアプリケーションログとして出力されます。何か問題が発生したら、まずはこちらを確認してください。

Windowsのアプリケーションログはイベントビューアーで参照可能です。

qiita-square

検索バーから「イベント ビューアー」と入力し、表示されるイベントビューアーを選択してください。

qiita-square

ビューアーでは色々な情報が参照できますが、Windowsログ > Application を選択してください。こちらにログが出力されます。

Traceノードを使う

メッセージフローのなかでどのようにデータが受け取れているのか、編集されたのか、などメッセージの内容を確認したいことがあります。
これを実現するためにはTraceノードを使用します。フローの処理のひとつとして、現在のメッセージの内容などを出力することができます。

qiita-square

Traceノードの主要なプロパティは次のとおりです。

Destination

トレースの出力先をUserTrace、File、LocalErrorLogから選択できます。
LocalErrorLogは、前出のログにトレース内容が出力されます。
Fileの場合は、Append形式でトレースを出力します。次のFilePathに出力先のパスを指定してください。

Windowsであれば、PowerShellを開いて次のようなコマンドを実行しておけば、トレース状況を別ウィンドウでリアルタイムに確認することができます。

Get-Content -Wait -Tail 10 -Path トレースファイルのパス

UserTraceの説明は当記事では省略します。

Pattern

Traceとして出力する情報とレイアウトを指定します。

ESQLで参照するデータは${}で囲み宣言します。
例えば次のようなパターンを指定すると、処理時間とメッセージ全体が出力されます。

--${CURRENT_TIMESTAMP}--
${Root}
qiita-square

例に示したパターンでは上のようにログが出力されます。

Traceノードの配置

qiita-square

ノード間に配置することで、トレースの出力有無でフローがどこまで進んだかが直感的に分かると思います。

qiita-square

ノードの間に挟むのではなく、このようにOutターミナルに複数の宛先を設定することもできます。

LOGステートメントを使う

Computeノードの処理でエラーになる場合、ESQL中の任意のタイミングで変数の状態を参照したいことがあります。
そんなときはESQL中でLOGステートメントを使って、必要な情報をログに出力することができます。

SET var1 = OutputRoot.DFDL.mq3msg.record.fld1;
LOG EVENT VALUES ('start', var1, 'end');

上はログに出力する例で、1行目で変数に値を設定し、2行目でログ出力を行なっています。
VALUESには表示する値を固定値や変数で10個まで指定可能です。

qiita-square

上記のESQLを実行すると、上のようなログが出力されます。var1には「dd」という値が格納されたことが分かります。

おわりに

初めて作成するメッセージフローはなかなか狙いどおりに動かなないことがあります。ただ何が起こっているのかを正確に把握できれば、修正手段を考えることは難しくありません。
ぜひ色々な視点からACEを使いこなしてください。

さらに詳しい情報をお探しの方へ

IBMの最新情報、イベント情報、さらに役立つ資料は、以下のIBM Communityでも発信・格納されています。
最新のトレンドや有益な情報をチェックするために、ぜひご覧ください!

  • WebSphere: IBM Community - WebSphere
    WebSphere関連の最新情報やディスカッション、イベント情報、技術資料を公開中!
  • ELM (Engineering Lifecycle Management): IBM Community - ELM
    ELMに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック!
  • Integration: IBM Community - Integration
    Integrationに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック!
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?