IBM® Business Process Manager(IBM BPM)は包括的なビジネスプロセス管理プラットフォームです。これにより、ビジネスプロセスの作成、テスト、および展開を可能にするツール、および管理機能が提供されます。IBM のドキュメントを参照してください。

IBM BPM 8.5.7 は、ヒューマン インタラクション クライアント側ヒューマンサービス(CSHS)または「ユーザタスク」の要素を組み合わせたビジネスプロセス定義(BPD)を定義して実行するために使用されます。たとえば、システム統合の要素を使用した手動でのローン承認や CRM システムでのローン承認の登録などのシステムタスクがあります。これらのプロセスはきわめて重要であり、AppDynamics ビジネストランザクションを使用してプロセスのシステム統合要素をモニタし、これらの技術的な統合のパフォーマンスと信頼性を確保します。また、AppDynamics ビジネスジャーニー機能を使用して、ユーザによる介入の要素を含むプロセスのエンドツーエンドの進捗をモニタすることもできます。

AppDynamicsインストゥルメンテーションのユースケース

上述のようなモニタリングユースケースに役立つよう、AppDynamics のエージェントには、以下を行うために必要なデフォルトの構成が用意されています。

  • App iQ APMによるシステムタスクの管理を可能にするため、IBM BPM内で発生したビジネストランザクションを適切に開始して命名する。 
  • ビジネストランザクションのエンドツーエンドのトレースを容易にするため、IBM BPMでのそれらの処理を相互に関連付ける
  • これらのビジネストランザクションをビジネスジャーニー内で使用して、ユーザによる介入を含むプロセスの進捗を可視化できるよう、十分なプロセスメタデータを収集する

エージェントのインストールとセットアップ

IBM BPM は WebSphere で実行されます。詳細については、「IBM WebSphere and InfoSphere Startup Settings」を参照してください。

ビジネスプロセス定義: システムタスクとユーザータスク

BPDプロセスはビジネスプロセスのフローで構成され、これにはユーザーの対話が含まれることがあります。これは、ユーザタスク、システムタスク、他のロジックで構成されます。 

以下のスクリーンショットは、BPD Designerでのサンプルプロセスを示しています。

ユーザタスクはフォームの送信や決定の承認といった 1 つ以上のユーザ対話にさらに細分化され、それらは CSHS として実装できます。その 1 つを以下に示します。

Business Process DefinitionCSHS

CSHS は常にスタートイベントで開始し、基盤となる実装としてシステムサービスを使用する 1 つ以上のアクティビティと、ユーザの対話を定義する 1 つ以上の Coach で構成されます。

ビジネストランザクションサポート

クライアントサイドヒューマンサービスのビジネストランザクションサポート

CSHSトランザクションの命名

CSHS 内で検出されたすべてのビジネストランザクションは、サーブレットタイプのトランザクションとして検出され、それらの名前はカスタムサーブレットの命名規則を使用して設定できます。デフォルトのサーブレット命名規則では、URL の最初の 2 つのセグメントのみが命名のために使用されるため、カスタム命名設定を行わないと、ビジネストランザクションは次のように検出されます。

/<Project Name>/<BPD Name>

CSHSトランザクション命名の制御

CSHS のビジネストランザクションに対する IBM BPM 固有の命名を無効にするには、disable-ibmbpm-usertask-bt-naming ノードプロパティを使用します。

ビジネストランザクションは技術的なアクティビティのみをモニタリングするよう設計されているため、1つのCSHSで複数のビジネストランザクションが発生することがあります。

CSHS Business Transactions

CSHS内のすべての要素は、以下の識別子に関連付けられています。

  • プロジェクト名
  • BPDプロセス名
  • ユーザータスク名 
  • CSHSプロセス名
  • アクティビティ名またはCoach名

さらに、アクティビティ(サービス)について言えば、アクティビティは独自の識別子(サービス名)を持つサービスを実装として持っています。          

以下のIBM設計ツールのスクリーンショットでは、これらに注釈がつけられています。

BPD の画面

BDP Screen

CSHSの画面  

CSHS Screen

CSHS内のスタートポイントとエンドポイントでのビジネストランザクションの検出と命名

CSHS内では、フローに1つ以上のアクティビティ(サービス)が含まれている可能性があります。その1つ1つは、特定のREST URLにヒットします。そのため、これらのサービスごとにHTTPエントリポイントが定義されます。

  • たとえば、Start BT のデフォルト URL は次のようになります。
    /teamworks/process.lsw
  • たとえば、End BT のデフォルト URL は次のようになります。
    /teamworks/cfecontroller

CSHS Entry Points

ユーザタスクのスタートから発生するビジネストランザクションは、Servlet ビジネストランザクションとして検出され、次の方式に従って命名されます。
/<Project Name>/<BPD Name>/<Task Name>/<CSHS Name>/Start:Event

たとえば上の BPD と CSHS の画像では、ビジネストランザクションは次のように命名されます。
/My Hiring Sample/Standard HR Open New Position/Step: Submit job requisition/Client-Side Http Service/Start:Event
/My Hiring Sample/Standard HR Open New Position/Step: Submit job requisition/Client-Side Http Service/End:Event

CSHS内のアクティビティ(サービス)ノードでのビジネストランザクションの検出と命名

BPD プロセスの各ユーザタスクには、その実装として CSHS があります。CSHS内では、フローに1つ以上のアクティビティ(サービス)が含まれている可能性があります。その1つ1つは、特定のREST URLにヒットします。そのため、これらのサービスごとにHTTPエントリポイントが定義されます。

たとえば、デフォルトURLは以下のとおりです。

/rest/bpm/wle/v1/coachflow/service/1.a22ce595-1573-4fdd-90f6-734884753610

CSHS Entry Points
CSHS アクティビティサービスで発生したビジネストランザクションは、Servlet のビジネストランザクションとして検出され、次の方式に従って命名されます。
/<Project Name>/<BPD Name>/<Task Name>/<CSHS Name>/<Activity Name>/<Implementation Service Name>:Service

たとえば BPD と CSHS の画像では、ビジネストランザクションは次のように命名されます。
/My Hiring Sample/Standard HR Open New Position/Step: Submit job requisition/Client-Side Http Service/Activity1/HttpClient IService:Service

 CSHS Coach でのビジネストランザクションの検出

BPD プロセスのユーザタスクには、その実装として CSHS があります。CSHS内では、フローに1つ以上のUI Coachが含まれている可能性があります。各UI Coachは、ユーザーが何らかのアクション(フォームの入力や何かの承認など)を実行するために開かれるUIページを表します。これらはそれぞれ、特定のREST–URLにヒットします。そのため、UI Coarchの命名にはServletエントリポイントが使用されます。

たとえば、このビジネストランザクションのデフォルトのURLは以下のとおりです。

/teamworks/generatecoachng

CSHS Business Transactions

CSHS の Coach でのビジネストランザクションの命名方式

UI Coach へのエントリで発生するビジネストランザクションは、以下のように Servlet ビジネストランザクションとして検出されます。
/<Project Name>/<BPD Name>/<Task Name>/<CSHS Name>/<Coach Name>:Coach

たとえば BPD と CSHS の画像では、ビジネストランザクションは次のように命名されます。
/My Hiring Sample/Standard HR Open New Position/Step:Submit job requisition/Client-Side Http Service/UI Coach:Coach

CSHS内での要素間のプロセス内相関関係

ユーザタスクCSHS)内の複数の要素が関係している場合があり、それらの間にユーザインタラクションはありません。これらの要素は、同じビジネストランザクションの一部を形成します。結果として得られるビジネストランザクションでは、以下の図に示すように、サービスエンドポイントによって個々のステップを認識できます。

CSHS Service Endpoints

BPDプロセス内におけるシステムタスクのビジネストランザクションのサポート

BPD プロセス内のシステムタスク では、POJO ビジネストランザクションが生成されます。

POJOビジネストランザクションは、以下の4つの識別子を使用して命名されます。

  1. プロジェクト名 <project-name>
  2. BPD プロセス名 <bpd-name>
  3. システムタスク名(<task-name>
  4. 実装プロセス名 <implementation-name>

いずれかの識別子の値がない場合、結果として得られるトランザクション名では <UNKNOWN> に置き換えられます.

たとえば、以下はデフォルト構成(<project-name> / <bpd-name> / <task-name> / <implementation-name>)で検出されるビジネストランザクションです。

Business Transactions

デフォルトの命名方式は、ibmbpm-systemtask-bt-naming ノードプロパティを使用することでカスタマイズできます。

プロパティ値は、project、bpd、task、implementation から選択した識別子をカンマ区切りで並べたもので、順序が考慮されます。.
たとえば、次の場合です。

値が "project, task" であれば、POJO ビジネストランザクションが <project-name>/<task-name> として命名されることを意味します。

値が "task, project" であれば、POJO ビジネストランザクションが <task-name>/<project-name> として命名されることを意味します。
値が "none" であれば、POJO ビジネストランザクションが検出されないこと(無効)を意味します。
値が "default" であれば、ビジネストランザクションの命名にすべての識別子がデフォルトの順序で使用されることを意味します。つまり、<project-name>/<bpd-name>/<task-name>/<implementation-name>として命名されるということです

システムタスクのビジネストランザクションの検出を無効にするには、ibmbpm-systemtask-bt-naming プロパティを "none" に設定します。

ビルトインのデータコレクタ

ビルトインのデータコレクタの制御

デフォルトのデータコレクタを無効にするには、disable-ibmbpm-data-collectors ノードプロパティを使用します。

システムタスクまたはユーザタスクでは、以下のデータコレクタを使用できます。

  • プロセス名
  • タスク ID
  • タスク名
  • BPD インスタンス ID
  • BPD 名
  • プロジェクト名

上記に加えて、CSHS 実装(ユーザタスクの)では、IBM BPM 固有の命名であるビジネストランザクション命名方式が有効である場合に、追加のデータコレクタの ACTUAL URL も使用できます。ACTUAL URL には、ビジネストランザクションが開始される際にヒットした実際の URL が入力されます。

呼び出される CSHS の要素に応じて、ユーザタスクに定義された追加のデータコレクタは次のようになります。

  • Coach の COACH NAME
  • Start および End の EVENT TYPE(イベントに応じて値は Start か End のいずれかです)

  • アクティビティ(サービス)の ACTIVITY NAME
  • アクティビティ(つまりアクティビティの実装サービスを示すサービス)のSERVICE NAME

サンプルデータコレクタ

データコレクタのスナップショットは以下として表示できます。 

  • システムタスクのデータコレクタ
    Snapshot Data Collectors
  • ユーザタスクの CSHS の Start イベントのデータコレクタ
    Snapshot Data Collectors
  • ユーザタスクの CSHS のアクティビティ(サービス)要素のデータコレクタ
    Snapshot Data Collectors
  • ユーザタスクの CSHS の Coach 要素のデータコレクタ
    Snapshot Data Collectors
  • ユーザタスクの CSHS の End イベントのデータコレクタ
    Snapshot Data Collectors

構成に関する備考

IBM BPMによるモニタリング用にAppDynamicsを実装する際に役立つ可能性のあるその他の構成設定を以下にいくつか示します。

  • 必要に応じてノードプロパティ max-business-transactions の値を増やし、BPD プロセスに含まれるタスクの数を調整します(デフォルトは 50)。
  • 値が "none" のノードプロパティ framework-support  を追加し、CometD および GWT POJO のビジネストランザクションを無効にし、それ以外は大量のトランザクションが検出されます。これらは IBM ツール内のアクティビティに対応しており、BPM モニタリングには価値がありません。
  • /portal/login/webasset/.., といった Servlet ビジネストランザクションを除外します。これらは BPM モニタリングで有益ではありません。 

IBM BPM インストゥルメンテーションを制御するノードプロパティ

IBM-BPMサポートを使用する際に設定できるノードプロパティは以下のとおりです。

  • disable-ibmbpm-usertask-bt-namingIBM-BPM ユーザタスク ビジネス トランザクションのビジネストランザクション命名方式を無効(値は true)にするか有効(値は false)にするかを設定します。
    "true" に設定すると、 ビジネストランザクションはデフォルト URL に従って命名され、意味のある名前にはなりません。
  • disable-ibmbpm-usertask-bt-in-process-correlationIBM-BPM ユーザタスク ビジネス トランザクションのビジネス トランザクション プロセス内相関関係を無効(値は true)にするか有効(値は false)にするかを設定します。
  • ibmbpm-systemtask-bt-namingIBM-BPM システムタスク POJO ビジネストランザクションのビジネストランザクション命名方式を決定します。
  • disable-ibmbpm-data-collectorsIBM-BPM タスクのビジネストランザクションのデータコレクタを無効(値は true)にするか有効( false)にするかを設定します。