開発者のための BAM 概念
BAM 開発者は、アクティビティ、Continuation、参照など重要な BAM 概念を十分に理解する必要があります。 また、追跡とトランザクション処理の違いについても理解する必要があります。
BAM アクティビティについて
BAM アクティビティは、ビジネス プロセスの 1 つの項目 (1 つの注文書など) の対象となるデータの定義です。 BAM データベース内に格納される列を定義します。
アクティビティのインスタンスは、注文書やローンの申し込みなど、ビジネスの作業単位を表します。 アクティビティは、マイルストーン (アクティビティの履歴) の一覧と対象データを指定します。 アクティビティのインスタンスは、BAM プライマリ インポート データベース内の単一の行として示されます。 アクティビティのそのインスタンスに対するデータ項目の値は 1 つだけ存在します。
アクティビティを使用して、作業単位に関するマイルストーンとデータをビジネス エンド ユーザーまたはインフォメーション ワーカーに提示します。 たとえば、BAM SDK サンプルで定義されているアクティビティには、"支払い済み" や "送信" などのマイルストーンに加え、"合計金額" などの対象データも含まれています。
BAM アクティビティは、抽象化レベルが高いため実際に実装されている IT インフラストラクチャから独立していますが、ビジネス プロセスに直接マップされることもあります。
開発者は、特定のアクティビティのコンテキストに含まれる実装から関連のあるマイルストーンとデータのみを公開することによって、この抽象化のレベルを維持する必要があります。
Continuation について
Continuation は、次の情報に関するガイダンスを BAM インフラストラクチャに提供します。
イベントの発生順序
イベント項目が関連付けられている一意 ID が変更された場合の処理方法
継続とその使用方法の詳細については、「 継続と継続ID ノード」を参照してください。
参照について
参照 (関連アクティビティとも呼びます) は、アクティビティと他の項目間の関係を指定します。 関連付けることができる項目には、別のアクティビティやドキュメントの場所などがあります。
Note
アクティビティを関連アクティビティとして指定すると、Continuation アクティビティとは異なり、関連アクティビティが完了していない場合でも現在のアクティビティは完了対象から除外されません。
追跡とトランザクション処理
BAM のコードを記述して、データの追跡方法、つまり追跡機能を使用するか、トランザクション処理を使用するかを制御できます。 既定では、BAM は追跡と処理を同等に重視します。 つまり、追跡機能またはトランザクション処理が失敗すると、どちらも続行できなくなります。 追跡データベースには何も記録されず、トランザクションはロールバックされます。 この方法は、ソリューションに対して推奨される追跡方法ではない場合があります。 BAM 用に開発することで、追跡機能とトランザクション処理のどちらを優先するかを決定できます。
次の表に、BAM でのデータ追跡モードを示します。
シナリオ | 説明 |
---|---|
処理よりも追跡を優先 | 処理が成功すると、追跡情報が書き込まれます。 処理が失敗すると、エラーに関する情報が書き込まれます。 |
処理と追跡は同等 | 追跡または処理が失敗すると、すべてがロールバックされます。 |
追跡よりも処理を優先 | 処理が成功し、追跡機能が失敗すると、処理は続行されます。 |