データオブジェクト
ケースを処理するために、Pega Platform™アプリケーションは、データオブジェクトを使用して関連するケースデータを収集します。 データオブジェクトは、関連フィールドをグループ化して、人やアイテムなどのエンティティを説明するためのテンプレートです。
たとえば、アプリケーションには、2つのケースタイプで利用可能な「Account」データオブジェクトが含まれていることがあります。片方は、顧客が銀行口座間で資金を移動できるようにするタイプ、もう片方は、顧客が口座に関連付けられている住所を変更できるようにするタイプ、といったものです。 「Account」データオブジェクトには、「Account Number」、「Current Balance」、「Next Statement Date」などのアカウントを説明するフィールドが含まれます。 「Account」データオブジェクトを参照することで、各ケースタイプに対してアカウント関連のフィールドを定義する必要がなくなります。
データオブジェクトは、必要に応じて何度でもアプリケーションで使用できます。 前述の例では、「Transfer Funds」のケースタイプは、送金元と送金先アカウントの両方をモデル化するために、「Account」データオブジェクトを使用できます。
アプリケーションのケースタイプとデータオブジェクトのコレクションは、アプリケーションのデータモデルを全体的に定義します。
ヒント: データモデルを設計するときは、ケースを処理するのに必要なビジネスデータを整理するためにデータオブジェクトを使用します。 ベストプラクティスとして、ケースタイプは、作成日やオープンタスクに割り当てられた人など、ケースとケースの業務を説明するフィールドである、ケースメタデータのみを含めることをお勧めします。 ほとんどのケースメタデータは、ケースタイプから継承されたシステムプロパティを使用して、Pegaプラットフォームにより自動的に収集されます。 必要に応じて、追加のメタデータフィールドを定義することができます。
Structure
各データオブジェクト内では、データタイプは、エンティティに関する情報を取得して表示するために使用されるフィールドの名前やタイプなど、データオブジェクトのための技術的な実装を表します。 さまざまなフィールドが集合的に単一のオブジェクトを表し、データオブジェクトの構造を定義します。 データオブジェクトを作成すると、Pegaプラットフォームは自動的に対応するデータタイプを作成します。
補足: Dev Studioでは、開発者は、データオブジェクトではなく、基礎となるデータタイプを直接使用しています。 その結果、プロジェクトとドキュメンテーションで、データオブジェクトとデータタイプという用語が区別なく使われていることに気づくかもしれません。
たとえば、HRアプリケーションには、求人を管理し、空いているポジションについて応募者を整理するために、ケースタイプが含まれます。 HRは新しい候補者のプロセスのために、候補者に関する基本情報を収集する必要があります。 空いている求人に対して候補者に関する情報を収集するために、開発者は、First name、Last name、Email、Phoneなどのフィールドを含んだ対応するデータタイプで、「Candidate」のデータオブジェクトを作成することができます。
データ要素のグループ化に加えて、データオブジェクトは、ビューやデータオブジェクトに関連するその他のルールをグループ化できます。 たとえば、「Candidate」データオブジェクトには、John Smithのように、フルネームにするために候補者の名と姓を組み合わせる計算を含めることができます。
他のデータオブジェクトを参照することで、データオブジェクトの構造を拡張することができます。 1つのデータオブジェクトが2番目のデータオブジェクトを参照すると、2番目のデータタイプのフィールドは、参照しているデータオブジェクトのデータタイプの一部になります。 参照されたデータオブジェクトは、ニーズに応じて、1回または複数回のいずれか使用できます。
たとえば、「Candidate」データオブジェクトはまた、郵送先住所や職歴などの情報に対するフィールドを含む必要もあります。 住所と職歴は、「Candidate」データオブジェクトが参照するデータオブジェクトとして設定することができます。 「Address」データオブジェクトは、「Street name」、「City」、「Postal code」などのフィールドで「Candidate」データオブジェクトを拡張し、一方、「Employment history」データオブジェクトは、「Start date」、「End date」、「Position」、「Employer」などのフィールドを追加します。 「Address」データオブジェクトは、1つの住所を取得するために1回使用されますが、一方「Employment history」データオブジェクトは、候補者の前の雇用主のリストを作成するために、1回以上使用することができます。
以下の画像で+のアイコンをクリックすると、データオブジェクトと対応するデータタイプの関係についての詳細が表示されます。
継承
データオブジェクトを作成して、継承を通じて既存のデータオブジェクトからのアセットを再利用できます。 たとえば、「Person」は一般的なデータオブジェクトまたは親データオブジェクトですが、「Customer」や「Call Center Representative (CCR)」はより専門的なデータオブジェクトとなります。 親と子のデータオブジェクト間の関係を示すには、「Person-Customer」や「Person-CCR」といった「Parent-Child」パターンを使用します。 3つのデータオブジェクトにはすべて、「Name」、「Telephone」、「Email」などの共通フィールドがあります。 「Person」データオブジェクトに共通フィールドを作成すると、「Customer」や「Call Center Representatives」データオブジェクトでフィールドを再利用できます。 「Tax Identification Number」フィールドおよび「Membership Number」フィールドは顧客のみに適用されるので、「Customer」データオブジェクトで定義します。 「Employee ID」フィールドは従業員のみに適用されるため、「Call Center Representative」データオブジェクトでフィールドを定義します。
取得
データオブジェクトは、Pegaプラットフォームのシステムオブレコードからローカルに、または既存の人事・在庫データベースなどの外部のシステムオブレコードからも取得できます。 その他、データオブジェクトは、ユーザーまたはケース参加者がアプリケーションのプロセス中に入力あるいは変更したデータで、いずれのシステムオブレコードとも関連付けられていないものも取得できます。
データタオブジェクトを取得する方法を決定する際には、次の画像にある質問を検討してください。 質問では、Pega Platformを初めて使用し、アプリケーションをゼロから作成する場合を想定しています。
次の画像で「+」アイコンをクリックすると、各データオブジェクトの取得オプションの例が表示されます。
ベスト プラクティス:
可能な限り、「Address-Postal」や「Address-Email」といったPega Platformが提供する一般的に使用される標準のデータオブジェクトを使用してください。 アプリケーションに関連するデータオブジェクトを追加することもできます。
データオブジェクトが一部のみニーズを満たしている場合は、そのデータオブジェクトを拡張できます。 たとえば、「Employee」データオブジェクトを作成する場合、既存の「Person」データオブジェクトを拡張して、「Person-Employee」データオブジェクトを作成できます。
適切なデータオブジェクトが存在しない場合は、新しいデータオブジェクトを作成してください。 たとえば、「Airport Codes」データオブジェクトを追加したいけれども、既存のデータオブジェクトを使用または拡張できない場合、Pega Platformで新しいデータオブジェクトを作成します。
ヒント: App Studioのケースワークフローに新しいデータオブジェクトを追加した場合、Pegaプラットフォームは、ドラフトオブジェクトとして、データオブジェクトを作成します。 ドラフトデータオブジェクトは、データタイプを参照しません。 ドラフトオブジェクトは、データタイプの設計に影響を与える可能性がある、ケースライフサイクルにおいてデータが使用される方法とタイミングを特定できるようにします。 「Data objects and integrations」ページを使用して、ドラフトデータオブジェクトにデータタイプを追加できます。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。