Skip to main content

コンテキストサービスのコンポーネントとプロセスについて学ぶ

学習の目的

この単元を完了すると、次のことができるようになります。

  • コンテキストサービスのデータモデルを定義する。
  • コンテキストサービスのコンポーネントについて説明する。
  • コンテキストサービスの設計時プロセスについて説明する。
  • コンテキストサービスの実行時プロセスについて説明する。

コンテキストサービスの論理データモデル

コンテキストサービスでは、デジタルプロセスを実行するための関連データとそのリレーションを設定します。デジタルプロセスの例として、銀行がローン申請を処理する場合を考えてみましょう。それにはさまざまなデータが必要です。申込人の名前、職業、収入、信用履歴、担保、保証人などのデータが含まれます。コンテキストサービスでは、データソースに関係なく、デジタルプロセスに必要なすべてのデータで構成される論理データモデルが作成されます。その後、論理データモデルによって関連データが抽象化され、デジタルプロセスに提供されます。

コンテキストサービスのコンポーネント

コンテキストサービスは、さまざまなコンポーネントで構成されています。このコンポーネントを使用して、データを取得し、アプリケーションに提供することができます。次に、各コンポーネントについて詳しく学びます。

コンテキスト定義

コンテキスト定義によって、特定プロセスの実行に必要な情報の完全なセットがモデル化されます。コンテキスト構造は、データモデルのノードとその対応する属性がリストされた定義内のセクションです。定義では、対応付けを使用してコンテキスト構造とソースオブジェクトデータ間のリレーションを定義します。

以下の画像は、既存のカスタム定義のリストが表示されている [Context Definitions (コンテキスト定義)] ページを示しています。

[New (新規)] ボタンと追加アクションを含むカスタムコンテキスト定義のリスト。

コンテキスト定義は、コンテキスト定義ページにある [New (新規)] ボタンを使用して作成します。各定義の横にある 追加のアクション をクリックすると、追加のアクションが表示されます。

コンテキストサービスでは、2 種類のコンテキスト定義が用意されています。要件を明確に特定して、適切な定義を使用してください。

  • 標準定義: Salesforce Industry Cloud には、ワークフローで使用できる事前作成済みコンテキスト定義のセットが用意されています。標準定義のコンポーネントを変更することはできません。
  • カスタム定義: 標準定義でビジネス要件が満たされない場合、次のいずれかの方法を使用してカスタム定義を作成できます。
    • 最初から開始する: 新しいノード、属性、タグ、対応付けを作成して、ゼロからカスタム定義を作成します。
    • 標準定義を拡張する: 標準コンポーネント (ノード、属性、対応付けなど) を継承するように標準定義を拡張してカスタム定義を作成します。継承された標準コンポーネントを変更することはできません。ただし、拡張された標準定義に新しいノードと属性を追加することは可能です。拡張定義は、[Custom Definitions (カスタム定義)] タブの下に表示されます。Industry Cloud で新機能のために標準定義が更新された場合、対応する拡張定義の継承された標準コンポーネントでもその更新が自動的に取得されます。自動更新で失敗が発生したら、拡張コンポーネントを手動で更新することもできます。
    • 定義をコピーする: 既存の標準またはカスタム定義をコピーして変更することもできます。コピーした定義は、[Custom Definitions (カスタム定義)] タブの下に表示されます。

ノード

ノードはオブジェクトに対応付けられている属性のコンテナであり、各ノードには複数の属性を含めることができます。コンテキスト構造は、デジタルデータに使用される階層形式のプレースホルダーです。ノードを使用してコンテキスト構造を定義します。その後、その構造を使用して、プロセスの各ステップ中に正しい情報セットを渡します。

以下は、ノードのリストが表示されている [Structure (構造)] タブを示しています。

ノード構造が強調表示された [Structure (構造)] タブ。

属性

属性は、データのコンテナです。各属性は、オブジェクトの特定項目に対応付けられています。以下は、SalesTransactionInherited ノードの各ノードと属性が表示されている [Structure (構造)] タブを示しています。

SalesTransactionInherited ノードに関連付けられている属性のリストが示されている [Structure (構造)] タブ。

コンテキストタグ

タグは、コンテキスト構造内にあるノードと属性の使いやすい別名です。消費側のアプリケーションは、タグを使用してコンテキスト定義のデータを直接照会します。以下は、SalesTransaction ノードタグと各属性の属性タグが示されている [Context Tags (コンテキストタグ)] タブを示しています。

SalesTransactionInherited ノードの各ノードと属性、その関連付けられたコンテキストタグが示されている [Context Tags (コンテキストタグ)] タブ。

コンテキストの対応付け

コンテキストの対応付けでは、ノードと属性が入力データソースに対応付けられます。対応付けにより、実行時にデータがコンテキストインスタンスに読み込まれます。このデータを使用してアプリケーションのプロセスを完了します。以下は、ノードとオブジェクトの対応付け、属性と項目の対応付けが表示された [Context Mapping (コンテキストの対応付け)] ページを示しています。

ノードとオブジェクト、および属性と項目との間の対応付けが示されている [Context Mapping (コンテキストの対応付け)] ページ。

ノードを Salesforce オブジェクトまたはデータモデルオブジェクト (DMO) に、属性をそのオブジェクト内の項目に対応付けます。

行列置換可能としてマーク

ノードを行列置換可能としてマークした場合、データはキー - 値ペアとして属性に保存されます。消費者側のアプリケーションで、どのようにデータを転置するかが決定されます。キー属性にキーが保持され、値としてマークされた対応する属性に関連値が保存されます。子ノードは、行列置換可能としてのみマークできます。この機能は、カスタム定義またはカスタムノードでのみ使用可能です。以下は、ノードと [Mark as Transposable (行列置換可能としてマーク)] オプションが表示されている [Add Nodes (ノードを追加)] ウィンドウを示しています。

取引先責任者ノードに [Mark as Transposable (行列置換可能としてマーク)] オプションが示されている [Add Nodes (ノードを追加)] ページ。

たとえば、属性の 1 つ (商品の色など) に基づいて商品の価格を決定する場合、ProductAttribute というノードを作成して行列置換可能としてマークします。ProductAttribute ノードの下に、2 つの属性 (キーとなる属性名と値となる属性値) を追加できます。色を属性名として、青色を属性値として保存できます。

次に、設計時にコンテキストサービスを設定する方法と実行時に処理する方法を説明します。

コンテキストサービスの設計時プロセス

コンテキストサービスの設計時プロセスでは、データアクセス要件に従ってコンテキストサービスのメタデータと構造を設定します。コンテキストサービスの設計時プロセスは次のようになります。

コンテキストサービスの設計時プロセス。

次の概要手順を使用してコンテキストサービスを設定します。

  1. まず、コンテキスト定義を作成します。定義により、さまざまなデジタルプロセスで抽象的な方法によってデータが取得、提供されます。
  2. 次に、ノード、属性、関連付けられたデータ型が追加されたコンテキスト構造を作成します。
  3. 次に、コンテキストタグを作成して各ノードと属性に関連付けます。
  4. 最後に、コンテキストの対応付けを作成します。

これにより、作成済みのコンテキスト定義と対応付けを使用してアプリケーションでデータを取得する準備が整いました。

コンテキストサービスの実行時プロセス

コンテキストサービスの実行時プロセスを使用して、アプリケーションからコンテキストサービス API をコールします。設計時に定義したコンテキスト定義と対応付けに従って、コンテキストデータの構築、クエリ、更新、保持を行うことができます。

以下は、コンテキストサービスの実行時プロセスワークフローの概要です。

コンテキストサービスの実行時プロセス。

設計時プロセスの一環としてコンテキスト定義と対応付けの設定を完了したら、デジタルプロセスでコンテキストサービス構築 API を呼び出して実行時コンテキストインスタンスを作成することができます。このインスタンスは、コンテキストの対応付けで定義されたさまざまなオブジェクトからデータを抽出します。コンテキストインスタンスは、すばやくデータにアクセスできるように一時的な仮のデータストアに保持されます。各プロセスは、常にデータベースにアクセスする代わりに、このインスタンスと効率的にやり取りできます。デジタルプロセスでコンテキストインスタンスが消費、更新された場合、変更されたインスタンスをオブジェクトに保持できます。必要に応じて、1 つの対応付けを使用してオブジェクトからデータを読み取り、異なる対応付けを使用してデータを別のオブジェクトに書き込むことができます。

まとめ

お疲れ様でした。このモジュールでは、コンテキストサービスの概要と、コンテキストサービスが企業から必要とされる理由について学習しました。コンテキストサービスの利点と機能について理解しました。コンテキストサービスの設計時プロセスと実行時プロセスについても詳しく学びました。

これで、コンテキストサービスとその利点について基本事項がわかったことから、この知識を使用して、ユーザーのためにデータアクセスおよび統合環境を改善できます。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む