Skip to main content

PushルーティングとPullルーティング

PushルーティングとPullルーティング

ルーティングには、基本となるPushルーティングとPullルーティングの2種類があります。

Pushルーティングロジックは、ケースフロー処理中に呼び出され、ケースの次のアサインメントに対するルーティングを決定します。 Pushルーティングは、ワークリストアサインメントまたはワークバスケットアサインメントを作成できます。 ワークリストアサインメントにルーティングする際に、Pegaは、稼働状況(オペレーターが稼働可能であるか休暇中か)、オペレーターのワークグループ、オペレーターのスキル、現在の作業量など、複数の条件を使用して最終的なオーナーを選択できます。 選択したオペレーターが不在の場合は、代替のオペレーターに対してルーティングを設定することもできます。

Pullルーティングは、システム選択アサインメントモデルともいい、アサインメントを作成するケースのコンテキスト外で発生します。 標準のポータルでは、ポータルの上部にある「Next Assignment」をクリックすると、Get Next Workを使用して、作業対象のアサインメントを引き出すことができます。 また、フロールールの「Process」タブで「Look for an assignment to perform after add? 」を、フローアクションルールの「Action」タブで「Look for an assignment to perform?」を選択すると、作業対象のアサインメントを引き出すことができます。

Get Next Work機能は、一連のアサインメントリストの中から最も緊急性の高いアサインメントを選択します。 ワークキューが取得したアサインメントの所有権は、MoveToWorklistアクティビティが呼び出されるか、ユーザーが取得したアサインメントのフローアクションを送信するまで発生しません。 GetNextWork_MoveAssignmentToWorklistアプリケーション設定ルールは、MoveToWorklistアクティビティが呼び出されるように、trueに設定する必要があります。

補足: MoveToWorklistは、Assign-.GetNextWorkCriteriaデシジョンツリーが正常に実行された後、関数pzOpenAssignmentForGetNextWorkから呼び出されます。

次の図は、ケース処理コンテキストでの実行時に、ルーティングアクティビティをどのように使用してPushルーティングを実現しているかを示しています。 また、非ケース処理コンテキストで実行されるGetNextWork関連のルールをどのように使用してPullルーティングを実現しているかも示しています。

Push vs Pull routing
この図は、PushルーティングとPullルーティングの違いを示しています。 Pushルーティングは、ケースが新しいアサインメントを作成するケース処理コンテキストの中で発生し、プロセスにおいてどのユーザーまたはキューがそのアサインメントを所有する必要があるかを決定します。 Pullルーティングはケース処理コンテキスト外で発生します。 ユーザーは、作業対象として最適なアサインメントを選択するようシステムに依頼します。 事実上、作業はそのユーザーにルーティングされます。  

Pushルーティングのアクティビティは、以下の表に示すとおり、大きく4つのカテゴリーに分類されます。

共通 組織ベース デシジョンベース スキルベース

ToAssignedOperator
ToCreateOperator
ToCurrentOperator
ToWorkParty
ToNewWorkParty
ToWorkbasket
ToWorklist

ToWorkGroup
ToWorkGroupManager
ToOrgUnitManager

 

ToDecisionMap
ToDecisionTable
ToDecisionTree

 

ToLeveledGroup
ToSkilledGroup
ToSkilledWorkbasket

 

ToCurrentOperatorの正当な使用方法 

ToCurrentOperatorルーティングアクティビティは慎重に使用してください。 ケースを後方に移動させるChange Stageアクションが実行された場合は、アクションを実行したユーザーが新しく作成されたアサインメントのオーナーになります。 その代わり、移動を実行したユーザーは、ケースに関連するパーティにアサインメントをルーティングしようとする可能性があります。 そのような時は、ワークパーティルーティングが役に立つ場合があります。

標準エージェントや上級エージェントなどのバックグラウンドプロセスで、ToCurrentOperatorルーティングを使用するアサインメントにケースが転送された場合には、アサインメントルーティングエラーが発生することがあります。 その後、ケースはProblemFlowに送られ、送られなければ参照先がなかったケースに対するアサインメント参照が保存されます。 また、このような状況は、ToCurrentOperatorを使ったアサインメントが、Waitシェープに続くときにも生じる可能性があります

アサインメントルーティングのロールの活用

ToWorklistToCreateOperatorToCurrentOperatorなどのルーティングアクティビティ(pyActivityType = ROUTE)は、アサインメントを受けるユーザーのロールを指定せず、特定のオペレーターにルーティングします。 しかし、特定のワークパーティロールにルーティングすることで、アサインメントがそのユーザーにルーティングされる理由がより明確になります。 さらに重要なのは、ワークパーティロールがアサインメントのルーティングに抽象化レイヤーを提供することです。 これにより、同じルーティング方法(ToWorkParty)を使用しても、そのロールを実行するために割り当てられたオペレーターを変更することで、別のオペレーターに割り当てることができます。

ToWorklistルーティングを使用する場合は、ハードコードされたオペレーターIDではなく、受信者のロールを示すプロパティ名を使用することをお勧めします。

また、パーティのロールは、ソリューションに特化させ、汎化しすぎないようにしてください。 最初はケースを作成したユーザーがオーナーとみなされますが、 ケースライフサイクルの後半になり、複数のユーザーにルーティングされた後では、誰がオーナーなのかわからなくなりがちです。 しかし、Pegaが提供するロール名に利用を限る必要はありません。 発案者、販売代理店、ラインマネージャー、執行役員などの具体的なロール名を作成し、各ロールにわかりやすい説明を付けるようにしてください。

ToNewWorkPartyToWorkPartyはいずれも、PartyRoleパラメーターで指定したパーティのワークリストに割り当てをルーティングします。 また、ToNewWorkPartyは、PartyRoleにまだワークパーティが存在しない場合は、ワークパーティも追加します。 一方、ToWorkPartyは、構成されたPartyRoleがアサインメントの前に存在しなかった場合は、エラーをスローします。

次以下のアクティビティは、いずれも@pickBalancedOperator()関数を使用しています。 この関数は、オペレーターの必須のスキルや望ましいスキル、作業量などを評価します。 

  • Work–.ToSkilledGroup 
    スキルベースのルーティングを使用して、ワークグループ内の必須のスキルや望ましいスキルを持つオペレーターにアサインメントがルーティングされます。 ワークグループの中に条件を満たすオペレーターがいない場合は、そのアサインメントはワークグループマネージャーにルーティングされます。 
  • Work–.ToLeveledGroup 
    このルーティングアクティビティは、Work-.ToSkilledGroupに似ていますが、オペレーターの作業量を考慮しながら特定のワークグループ内のオペレーターにアサインメントを送信し、必須のスキルを持つ最も手が空いているオペレーターに作業を割り当てるという点が異なります。 

会社に最適なルーティング方法を決定するのは、リードシステムアーキテクト(LSA)の仕事です。 スタッフの稼働率を高め、高いスループットを実現するには、「最適な」オペレーターにアサインメントをルーティングすることが重要です。 

 


このトピックは、下記のモジュールにも含まれています。

If you are having problems with your training, please review the Pega Academy Support FAQs.

このコンテンツは役に立ちましたか?

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice