Skip to main content

Omnistudio Integration Procedure を知る

学習の目的

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

  • Omnistudio Integration Procedure とその機能について説明する。
  • Integration Procedure がどのように複数のデータソースからデータを取得するかを説明する。
Note

このモジュールでは、標準ランタイムと標準デザイナーを使用する Omnistudio について説明します。管理パッケージ用 Omnistudio の類似する機能についての詳細は、「管理パッケージ用 Omnistudio の Integration Procedure」を参照してください。

このバッジが自分に適しているか確かめたい場合は、「Which Version of Omnistudio Do You Have? (Managed Package) (所有している Omnistudio のバージョンは?) (管理パッケージ)」 を参照してください。

始める前に

このモジュールを受講する前に、以下のコンテンツを修了していることを確認してください。ここでの作業は、そのコンテンツの概念や作業に基づいて行います。

Omnistudio Integration Procedure の概要

複数のデータソース、たとえば Salesforce オブジェクト、外部システム、Web サイトなどからデータを取得する必要があるビジネスシナリオについて考えてみましょう。さらにデータ変換をアプリケーションやブラウザーでローカルに実行するのではなくサーバー側で実行する必要があるとします。

そこで役立つのが Omnistudio Integration Procedure です。これは、1 回のサーバーコールで複数のアクションを実行する宣言型のサーバー側プロセスです。このことは何を意味しているのでしょうか? では、詳しく見ていきましょう。

  • 宣言型: Omnistudio Integration Procedure Designer でドラッグアンドドロップ要素を使用してプロセスの構造を構築し、事前作成済みのアクションを設定してプロセスフローを定義します。Integration Procedure Designer についてはこのモジュールの後の方で詳しく学習します。
  • サーバー側の処理: アクションとデータ変換をサーバー上で直接実行します。通常、サーバーはクライアントよりも高速にデータを処理できるため、これによってパフォーマンスが向上します。
  • 1 回のサーバーコールで複数のアクション: Integration Procedure では高パフォーマンスの API を使用して 1 回のコールで複数のアクションを実行します。この機能により、サーバーと何度もやり取りせずに済みます。やり取りが増えるほどパフォーマンスが低下するため、クライアントコールやサーバーコールを最小限に抑えることは有益です。

簡単に言うと、Integration Procedure はバックグラウンドでデータを取得、保存、操作するための方法です。サードパーティソースからのデータにアクセスして変換する必要があり、ユーザーインターフェースは不要である場合には特に有用です。Integration Procedure は、ほかの Omnistudio コンポーネント (Omniscript や Flexcard など)、Apex クラス、一括処理ジョブ、REST API、Salesforce フローから呼び出すことができます。

このモジュールでは、Omnistudio Integration Procedure の基本とそのしくみについて学習します。まずその機能から始めましょう。

Integration Procedure の機能

Integration Procedure には多くの独自機能があり、複雑なサーバー側プロセスを自動化してデータを統合するために最適なツールです。具体的に見ていきましょう。

  • 複数のデータソースを処理する。Omnistudio の Data Mapper 抽出と Data Mapper Load を使用して Salesforce データベースからのデータの参照と更新を行います。外部システムのデータに対して参照と更新を行うには、HTTP アクションを含む Integration Procedure を使用して、外部の Web サイトや API に対して REST (Representational State Transfer) コールを実行します。また、外部システムと通信するには、リモートアクションを使用して Apex クラスメソッドや Apex コードを呼び出します。Integration Procedure では特定のアクションを使用してこれらのコールを実行します。

Integration Procedure がデータの参照と更新を行うために使用する各種データソースとテクノロジー。

  • Integration Procedure を再利用する。Integration Procedure を 1 回作成して、あらゆるところで使用します。たとえば、同じ Integration Procedure を Omnistudio Flexcard でも Omniscript でも使用できます。
  • 一括で処理する。複数のレコードを同時に処理します。Integration Procedure は効率的であるため、大規模なデータセットの処理に適しています。
  • 不要なデータを削除する。パフォーマンスの検討時に見過ごされがちな要因が、ブラウザーとサーバー間で送信されるデータの量です。Integration Procedure の応答アクションを使用して、サーバーからブラウザーに返されるデータから余分なものを削除します。これによりクライアントとサーバーの間のデータ転送が最小化されます。これは、遅いネットワークやモバイル接続を使用している場合に役立ちます。
  • 条件ロジックを使用する: Integration Procedure のフローを制御するルールを定義します。具体的なデータ条件に基づいて異なるステップを実行できます。
  • 同期的または非同期的に実行する。Integration Procedure 内のステップを 1 つずつ実行するか (同期的)、バックグラウンドで前のステップの完了を待たずに実行するか (非同期的) を設定します。
  • 設計をプレビューする。プレビュー機能でサンプルデータを使用して Integration Procedure をステップごとにテストします。こうすることで、ステップのデバッグと検証が容易になります。
  • 開発を加速する。サンプルデータを使用することで、サーバー側システムの準備状況とは関係なくユーザーインターフェース開発を行います。たとえば、サーバー側システムの準備ができていない場合、サンプルデータを使用した Integration Procedure を作成し、そこに Flexcard を接続します。サーバー側システムの準備ができたら、Integration Procedure を更新するだけで、稼働を開始できます。こうすることで、ユーザーインターフェースとサーバー側の開発を分離できます。
  • パフォーマンスを向上させる。データ操作と複雑なロジックをサーバー側で処理することで、Flexcard と Omniscript のスピードと応答性を高めます。

複数のソースからデータを取得する

Integration Procedure はどのようにして 1 回のサーバーコールで複数のデータソースからデータを取得し、複数のアクションを実行するのでしょうか? 次の例について考えてみましょう。ユーザーの場所に基づいて現在の天気を表示する [Weather (天気)] Flexcard があるとします。

Data Mapper 抽出を含む Integration Procedure が [Weather (天気)] Flexcard にアカウントと天気のデータを提供します。

Integration Procedure は HTTP アクション要素を使用する REST コールを実行して天気データを取得します。同じ Integration Procedure が Data Mapper 抽出を使用して Salesforce からユーザーの取引先データを取得して、ユーザーの現在の場所を取得します。次に、ユーザーの現在の場所に基づいて Flexcard に天気データが表示されます。Integration Procedure は 1 回のコールで 2 つのアクションを実行し、要求されたデータを Flexcard に提供します。

次のステップ

この単元では、Omnistudio Integration Procedure、その機能、複数のデータソースからデータを取得する方法を学習しました。

次の単元では、Integration Procedure Designer を見ていきます。Integration Procedure をプレビュー、テスト、有効化する方法を学習します。

リソース

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

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

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