データリレーションシップの作成
Pega Platform™では、アプリケーションの各データオブジェクトは、そのアプリケーション内のすべてのケースタイプで使用できます。 データオブジェクトは、データリレーションシップを通じてケースタイプで利用できるようになります。
このトピックでは、データリレーションシップの概念と、データオブジェクトに関連する情報をケースタイプからアクセスできるようにする方法について説明します。
データリレーションシップ
データリレーションシップは、関連するフィールドのセットを関連付けるコンテナになります。 データオブジェクトや、データを含むフィールドとは異なり、データリレーションシップにはデータがありません。 データリレーションシップは、むしろ、データを保存するアプリケーションの要素と、ケースを正常に完了するためにそのデータを必要とするアプリケーションの要素との間で、データを関連付ける働きをします。
データリレーションシップは、データオブジェクトとケースタイプの間、データオブジェクト間、およびケースタイプ間でデータを関連付けるために使用されます。
データリレーションシップのフィールドタイプ
データリレーションシップには様々なユースケースがあるため、様々な設定をサポートするためのいくつかのフィールドタイプが用意されています。 以下の表では、データリレーションシップに関連するさまざまなフィールドタイプを示しています。
データリレーションシップのフィールドタイプ | データソース | ユースケース |
---|---|---|
Embedded data | 情報は、アプリケーションのユーザーがケースに直接入力または選択します。 | 企業では、ユーザーの新しい配送先住所を取得する必要があります。 |
Data reference |
情報は、Pegaデータベースにローカルに保存されているデータレコードや、外部のシステムオブレコードから取得した情報から取得されます。 |
オンライン小売企業は、自社データベースから取得した在庫のある商品のリストを提供しています。 |
Case reference | 情報は、選択したケースタイプから取得されます。 | ユーザーは、サービスケースのリストからServiceケースタイプを選択します。 |
どのフィールドタイプを使用するかを決定する際には、データオブジェクトに関連付けられた値が、どこに由来するものであるのかを考慮します。
An Embedded data フィールドタイプは、ケースインスタンス内で直接行われるユーザー入力またはユーザーアクションからデータが取得される場合に使用します。
データオブジェクトがケースの外部、すなわちローカルに保存されたデータレコード、外部データソース、またはその他のケースから取得される場合は、Data reference やCase referenceなど、これらのユースケースを考慮した特殊なフィールドタイプがあります。
3つのデータリレーションシップのフィールドタイプのうち、Embedded dataとData referenceが最も使用されています。
1つのレコードのデータリレーションシップまたはレコードリストのデータリレーションシップ
データリレーションシップを定義するために使用されるフィールドタイプに関係なく、データリレーションシップは1つのレコードまたは複数のレコードを参照するように構成される。
1つのレコードのデータリレーションシップでは、データオブジェクトからのフィールドと値の単一セットのみが、ケースの完了に使用される状況を参照します。 次の画像に示すように、1つのレコードのリレーションシップの例はCustomerレコードです。
レコードのリストのデータリレーションシップでは、データオブジェクトからのグループ化されたフィールドと値のリストがケース完了に使用される状況を参照します。 レコードのリストのデータリレーションシップの例は、各顧客のレコードが含まれる現在の顧客のリストです。 「Current customer list of records」データリレーションシップの例は、次の画像のようになります。
以下のインタラクションで理解度をチェックしてください。
データリレーションシップを理解しやすくするために、スーパーマーケットのOnline Orderアプリケーションの例を使用して、3つの一般的なシナリオを検討します。 アプリケーションはデータリレーションシップを使用して、データオブジェクトをDelivery Orderケースタイプに関連付けます。
Embedded dataリレーションシップ
Embedded dataフィールドタイプは、ケースインスタンス内で直接行われるユーザー入力またはユーザーアクションからデータが取得される場合に使用します。 Embedded dataフィールドタイプのデータは、データソースを共有する代わりに、ケースインスタンス内に保存されます。 これにより、フィールドの使用はすべて、アプリケーション全体で共通の形式で行われる必要があります。 データオブジェクトを再利用してEmbedded dataフィールドを作成することで、より一貫性のあるデータを効率的に確保できます。 ただし、データがケースとケースタイプ間で簡単に共有できるように、データはケースの外部で保存されません。
たとえば、オンライン注文アプリケーションには、Credit cardデータオブジェクトが含まれています。 Credit cardデータオブジェクトには、Card number、Expiration date、Card type、および一意に割り当てられたPega IDフィールドが含まれています。 Delivery OrderケースタイプのMLP1のビジネス要件は、注文を行う顧客が、注文のたびに支払情報を入力する必要があり、1つのクレジットカードの情報のみが注文の支払いに使用できることを示しています。
ユーザーは、ケースインスタンスで直接データを提供しているため、Credit cardデータオブジェクトは、Embedded dataフィールドタイプを持つPayment informationと呼ばれるフィールドのOrderケースタイプに関連しています。 各注文に対して1つのクレジットカード情報のみを入力できるため、Single recordオプションが選択されます。 Credit cardデータオブジェクトとPay payment informationの埋め込みデータフィールドは、次の図のように表示されます。
Payment informationデータリレーションシップを作成することで、Delivery OrderケースタイプはCredit cardデータオブジェクトに関連付けられたすべてのフィールドにアクセスできるようになります。
ユーザーがDelivery Orderケースを操作する際のタスクは、クレジットカード、特にカードの種類、カード番号、有効期限のデータを入力することです。 Credit cardデータオブジェクトは、ユーザーが入力した情報と一意に割り当てられたPega ID値を保持し、この情報をPegaデータベースに書き込みます。 ケースインスタンスが保存されると、その一意のキーと、ケースに関連付けられた他のメタデータやフィールド値を使用して、クレジットカードレコードへの参照も保存します。
Data Referenceデータリレーションシップ
ケースを処理するために、ケース外から取得したデータにアクセスしなければならないことがよくあります。 Data referenceデータリレーションシップは、ローカルに保存されたデータレコードまたはデータのうち、外部のシステムオブレコードからのアクセスが行われるデータレコードまたはデータから、ケースに必要なデータが取得される場合に使用されます。
たとえば、オンライン注文アプリケーションにはCustomerデータオブジェクトが含まれています。 Customerデータオブジェクトには、First name、Last name、Full name、Email、およびPhoneフィールドが含まれています。 CustomerデータオブジェクトのFirst name、Last name、Full name、Email、およびPhoneに関連する情報は、スーパーマーケットのIT部門が管理する外部のシステムオブレコードに保存されています。 各Delivery orderケースは1人の顧客にのみ関連付けられているため、Single recordオプションが選択されます。 CustomerデータオブジェクトとOrdering customer Data Referenceフィールドは、次の図のように表示されます。
Ordering customerデータリレーションシップを作成することで、Delivery OrderケースタイプはCustomerデータオブジェクトに関連付けられたすべてのフィールドとデータ値にアクセスできるようになります。
データオブジェクト間のデータリレーションシップ
データリレーションシップを通してケースタイプでデータオブジェクトに関連付けられたフィールドやデータ値を利用できるようにするほか、データリレーションシップによって、別のデータオブジェクト内の1つのデータオブジェクトを参照することもできます。
たとえば、オンラインデリバリー注文を作成するには、利用可能な製品のリストを表示するケースタイプが必要です。 Productデータオブジェクトには、Name、Description、Price per unit、およびSKUフィールドが含まれています。 Productデータオブジェクトは、スーパーマーケットのIT部門が管理する外部データベースから取得します。 顧客は商品情報の横に数量を入力して、購入する商品を特定します。 このワークフローをサポートするために、Product lineデータオブジェクトを作成します。 Product lineデータオブジェクトには、Productsフィールドや、ProductデータオブジェクトとのデータリレーションシップであるQuantityフィールドも含まれています。 Productデータオブジェクトは外部のシステムオブレコードから取得されているため、データリレーションシップのフィールドタイプはData referenceです。 情報のリストが含まれているため、選択するオプションはList of recordsです。 Product lineデータオブジェクト、Product データオブジェクト、Ordered items Embedded Dataフィールドは、次の図のように表示されます。
Delivery OrderケースタイプでProduct lineデータオブジェクトを使用できるようにするために、データリレーションシップが作成されます。 Product lineデータオブジェクトでは、ユーザーはQuantityフィールドに数値を入力する必要があるため、Ordered productsデータリレーションシップには、Embedded dataフィールドタイプが付与されます。 ユーザーは注文元の商品リストを受け取るため、選択されたOptionは、List of recordsになります。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。