ケースロック
同時アクセスと上書きのリスク
2つ以上のアクションがケースを更新しようとすると、最後に実行されたアクションによって、前のアクションによって書き込まれたデータが上書きされることがあります。 上書きにより、データの破損や損失、ケースプロセスの遅延が起こる可能性があります。また、ケースが正しく完了しないこともあります。 アプリケーションがユーザーの同時アクセスに対応している場合、データの整合性を保つためには、適切なケースロック戦略が不可欠です。
上書きによるデータの破損や損失を防ぐために、ケースの種類に応じて適切なロック戦略を設定します。 Pega Platform™では、ユーザーのアクセスとデータ保護の必要性のバランスをとるために、Allow one user(1人のユーザーを許可)ロックとAllow multiple users(複数のユーザーを許可)ロックの2つの戦略をサポートしています。
Allow one user(1人のユーザーを許可)ロック
Allow one user(1人のユーザーを許可)ロック戦略では、アプリケーションはケースなどのアイテムを開く際に排他的ロックを適用します。 オブジェクトを開くユーザーやシステムは、アプリケーションがロックを解除するまで、そのオブジェクトへの排他的なアクセス権を獲得します。 アイテムがロックされている間は、他のユーザーはそのアイテムを編集できません。
たとえば、保険清算人は、生命保険の請求書を作成し、保険証券と照らし合わせて、請求者が受け取ることのできる保険金を決定します。 複雑な請求では、清算人がデータを収集してケースを更新する際に、膨大な計算や外部関係者への照会が必要になることがあります。 それ以外の変更を行うと、請求金額が上書きされ、請求者への支払いが正しく行われない可能性があります。 Allow one user(1人のユーザーを許可)ロック戦略を適用すると、清算人が請求を更新するときに、他のユーザーがデータを上書きして支払額を変更してしまうことのないようにします。
次の図で「+」アイコンをクリックすると、Allow one user(1人のユーザーを許可)ロック戦略の例が表示されます。
以下のインタラクションで理解度をチェックしてください。
Allow multiple users(複数のユーザーを許可)ロック
Allow multiple users(複数のユーザーを許可)ロック戦略では、アプリケーションはアイテムを開く際に排他的なロックを適用しません。 その代わり、どのユーザーも、あるいはシステム自体も、いつでもケースを開いて編集できます。 ユーザーが保存しようとすると、アプリケーションでは、変更をコミットする前に、ケースが変更されたかどうかを確認します。
たとえば、マネージャーは特定のサービスリクエストケースについて、最新の情報を確認する必要があります。 マネージャーは情報を更新する必要がなく、ケースワーカーはケースを同時に更新しなければならないとします。 このような状況では、Allow multiple users(複数のユーザーを許可)ロック戦略を適用することにより、マネージャーがケースをロックしたためにケースワーカーがケースを解決に向けて完了できなくなってしまうような事態を防ぎます。 マネージャーがケースを更新した場合、マネージャーはケースを再度読み込むか、保存せずにケースを閉じるように促されます。
次の図で「+」アイコンをクリックすると、Allow multiple users(複数のユーザーを許可)ロック戦略の例が表示されます。
以下のインタラクションで理解度をチェックしてください。
ケースロックのデフォルト
デフォルトでは、Pega Platformではケースタイプの作成時に「Allow one user」オプションが選択されます。これにより、ケースアクション中のデータの整合性が保証されます。
補足: ケースタイプに応じてデフォルトのロック戦略を変更するには、関連するプロセスとペルソナについて熟知している必要があります。 プロジェクトのステークホルダーと相談して、ロック戦略の選択に影響を与えるビジネスニーズを特定します。
注: アクティビティなどの自動化されたアクションを持つケースを更新する際には、操作の一環としてロックを確認し、ロックされたケースに対処するための手順を含めます。 また、Obj-OpenメソッドやObj-Open-By-Handleメソッドを使用する場合はケースをロックし、アクションを完了したら必ずロックを解除します。
次の図で「+」アイコンをクリックすると、「Allow one user」と「Allow multiple users」のロックオプションについての詳細が表示されます。
補足: ロック戦略設定にアクセスするには、App StudioまたはDev Studioのナビゲーションパネルで「Case types」をクリックし、開きたいケースタイプをクリックします。 「Settings 」タブで、「Locking」をクリックします。
ケースロックと子ケース
複数の関係者や複数タイプのワークを含む複雑なビジネスプロセスでは、ビジネスプロセスの一部をモデル化するために1つまたは複数の子ケースを使用できます。 たとえば、自動車保険請求ケースタイプでは、子ケースを使用して、車両、プロパティ、および人身傷害に対する損害賠償請求をプロセスできます。 専門のケースワーカーが各子ケースを並行して処理することで、親請求のプロセス時間を短縮できます。
ケースに1つ以上の子ケースが含まれている場合、子ケースは親ケースからロック戦略を継承します。 Pega Platformでは、「Settings」タブで、子ケースで使用されているロック戦略を特定します。
デフォルトでは、親ケースで「Allow one user」が選択されている場合、Pega Platformではユーザーが子ケースを開くたびに親ケースがロックされます。 この動作を無効にして、子ケースが開いているときに2人目のユーザーが親ケースを更新できるようにするには、「Allow other users to access parent case when the child case is opened」チェックボックスを選択します。
注: 親ケースのロック戦略を子ケースで上書きするように構成する場合は、子ケースのタイムアウト値が親ケースのタイムアウト値よりも小さくなるように構成します。
親ケースで「Allow multiple users」が選択されている場合、Pega Platform™では、どの子ケースでもケースロックを構成できなくなります。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。