26 BPMプロジェクトのデバッグ
Oracle JDeveloperデバッガを使用して、BPMプロジェクトに含まれているBPMNプロセスをデバッグする方法を学習します。
26.1 BPMプロジェクトのデバッグの概要
Oracle JDeveloperデバッガを使用してBPMプロジェクトに含まれているBPMNプロセスをデバッグできます。BPMNプロセスをデバッグすると、プロセスの正常な実行を妨げるワークフローまたは論理的な問題を特定し、修正できます。
デバッグ処理には、SOAコンポジットまたはBPMNプロセスへのブレークポイントの追加が含まれ、それにより、デバッガがそれらのブレークポイントの1つに到達したときに実行を停止し、次のことを実行できるようになります。
-
SOAコンポジットまたはBPMNプロセス・ワークフローのトレース
-
プロセス・インスタンス属性の値のインスペクトまたはウォッチ
-
データ・オブジェクトの値のインスペクトまたはウォッチ
-
相関キーのインスペクトまたはウォッチ
-
会話のインスペクトまたはウォッチ
-
他のコンポーネントのコールのトレース実行およびBPMコンポーネントとの間で送受信される正規化されたメッセージ値の表示
プロセスの論理スレッドは、実行されるときに様々なフレームをアクティブ化します。これらのフレームは、プロセス・フローに応じてネストできます。各フレームは、特定の宣言レベルでのデータ・オブジェクトおよびプロセス・インスタンス属性の値を表すデータ値のセットで構成されています。フレームのネストは、スタック・フレームに準拠したものになります。
プロセスがデータ宣言コンテナに入ると、新しいフレームがアクティブ化されます。BPMNプロセスを実行するときに出現できる様々な宣言コンテナは次のとおりです。
-
BPMNプロセス自体
-
埋込みサブプロセス
-
コール可能プロセス
-
イベントのサブプロセス
これらのプロセス・コンテナそれぞれは、データ・オブジェクト、相関キーおよび会話の宣言をサポートします。これらのプロセス・コンテナがアクティブ化されると、デバッガによって新しいフレームが作成されます。
デバッガは、これらのプロセス・コンテナのネストのされかたに従ってスタック・フレームを構築します。スタック・フレームは、データ可視性を提供し、BPMNプロセス内のデータへのアクセスを可能にするモデルです。たとえば、再利用可能なBPMNプロセスのコール・アクティビティが含まれている埋込みサブプロセスが含まれているBPMNプロセスは、3つのレベルのネストを定義します。再利用可能なサブプロセス内で実行されるデバッガ・スレッドには、3つの要素を持つ1つのスタック・フレームが含まれています。最上位のフレームは再利用可能なプロセスに対応し、最後のスタック要素はBPMNプロセスに対応します。
Oracle JDeveloperデバッガの詳細は、『Oracle JDeveloperによるアプリケーションの開発』の「Javaプログラムの実行およびデバッグ」を参照してください。
26.2 BPMNフロー・オブジェクトへのブレークポイントの追加
BPMNフロー・オブジェクトにブレークポイントを追加して、プロセス・フローがそのBPMNフロー・オブジェクトに到達したときにデバッガを停止できます。
ブレークポイントは、BPMNプロセスの実行中にどこでデバッガが停止するのかを定義します。ブレークポイントは、複数のBPMNフロー・オブジェクトに追加できます。デバッガはこれらのブレークポイントに到達すると停止し、ユーザーはプロジェクト内の様々な変数の値を監視できます。これらの値は、BPMNプロセスのワークフローまたはロジックでの問題の解決に役立ちます。
26.3 BPMNコンポーネントへのブレークポイントの追加
BPMNコンポーネントにブレークポイントを追加して、SOAコンポジットの実行中にデバッガがそれに到達したときにデバッガを停止できます。
ブレークポイントは、BPMNプロセスの実行中にどこでデバッガが停止するのかを定義します。ブレークポイントは、複数のBPMNフロー・オブジェクトに追加できます。デバッガはこれらのブレークポイントに到達すると停止し、ユーザーはプロジェクト内の様々な変数の値を監視できます。これらの値は、BPMNプロセスのワークフローまたはロジックでの問題の解決に役立ちます。
26.4 ブレークポイントの無効化
デバッグの特定の時点で、不要なブレークポイントを無効化できます。
デバッグ・セッションが進行するに従って、追加したブレークポイントのいくつかを削除し、他の場所にブレークポイントを追加する必要が生じる場合があります。