Skip to main content

 

 

連携

 

 

OutSystems

Workatoを使用したOutSystemsの連携

OutSystems Workato Connectorを使用すると、カスタム開発を行わなくても、Workatoプラットフォームを最大限に利用することができます。

Workatoは、OutSystemsを含む様々なサービスに接続して特定のアクションを開始するトリガーを設定できる連携サービスです。たとえば、SalesforceでAccountレコードが新規作成または更新されるたびにOutSystemsエンティティのupsert操作を実行するトリガーを定義することができます。

コネクタをインストールしてアクセスルールを設定した後、以下を行うことができます。

  • OS環境で使用するWorkatoワークフローの同期。
  • 請求アプリ、フィールドサービスアプリ、360ºカスタマービューなどの外部データや独自データと、ユーザーエクスペリエンスの連携の構築。

インストールの概要

コネクタを使用するには、事前に構成を行う必要があります。

OutSystems環境で実行する手順:

  1. Forgeで入手したOutSystems Workato Connectorコンポーネントをインストールします。
  2. 利用可能なAPIを保護するために使用するAPIキーを作成し、コンポーネントの設定画面でOutSystemsエンティティへのアクセスルールを定義します。

Workatoで実行する手順:

  1. Workatoで、OutSystemsアプリを使用するアプリ接続を作成します。

OutSystems環境でのインストールと構成

Forgeで入手したコンポーネントをインストールする

OutSystems ForgeからOutSystems Workato Connectorコンポーネントをダウンロードして、環境にインストールします。

APIキーを作成し、OutSystemsエンティティへのアクセスルールを定義する

OutSystems Workato Connectorでは、利用可能なAPIを保護するためにAPIキー認証を使用します。

OutSystemsのAdministratorロールを持つユーザーがAPIキーを1つ以上作成する必要があります。このAPIキーは、後でWorkatoでOutSystemsに接続する際に使用します。または、「WorkatoConnector」eSpaceのAllowDevelopersToConfigureというサイトプロパティを使用すると、OutSystemsのDeveloperロールを持つユーザーもAPIキーを管理できるようになります。

OutSystems環境にコンポーネントをインストールした後、以下の手順を実行します。

  1. Service Centerで、[Factory > Applications]に移動します。

  2. リストで「Workato Connector」というアプリケーションを検索し、アプリケーション名をクリックしてアプリケーションの詳細画面に移動します。

  3. Open in Browser]をクリックします。コネクタのセキュリティ構成画面に移動します。

  4. Add new key]をクリックします。

  5. [API key creation]画面で、ページの最初のヘッダーをクリックしてキーの名前を入力します。

  6. キーがアクセス可能なOutSystemsエンティティを選択して、このAPIキーのスコープを定義します。
    各エンティティに与えるアクセスの種類に応じて、画面の右側にある[Read]、[Write]、[Read / Write]のいずれかのチェックボックスを選択します。*[*Read]は読み取り専用アクセスで、[Write]は書き込みアクセスです。[Read / Write]チェックボックスはアクセラレータで、エンティティの[Read]チェックボックスと[Write]チェックボックスの両方を自動的に選択します。

    注記:
    – 静的エンティティは、読み取り専用アクセスのみを指定できます。これらのエンティティの[Write]チェックボックスと[Read / Write]チェックボックスは指定できません。
    – エンティティに対して利用可能なチェックボックスを1つも選択しなかった場合、作成中または編集中のAPIキーはそのエンティティにアクセスできなくなります。

  7. Create API Key]をクリックします。

キーが正常に作成された場合、成功メッセージのダイアログから直接クリップボードにキーの値をコピーできます。

Workato環境でのインストール

アプリ接続を作成し、WorkatoをOutSystemsに接続するための接続パラメータを指定する必要があります。

  1. Workatoで[App Connections]タブを開き、[Create a new connection]をクリックします。

  2. 新しい接続でOutSystemsアプリケーションを選択します。

  3. 必要なフィールドに入力します。
    Connection Name – 接続を識別する任意の名前。
    API Key – OutSystems Workato Connectorで作成したAPIキー。
    Environment URL – OutSystems環境のFQDN(完全修飾ドメイン名)。公開アクセス可能になっている必要があります。

  4. Link your account]をクリックして接続をテストし、保存します。

操作が成功すると、ステータスが[Connected]に変わります。

WorkatoおよびOutSystemsでの作業

Workatoの基本

Workatoレシピは自動化されたワークフローです。ユーザーは、これらのレシピを作成して複数の連携を操作できます。各レシピは、1つのトリガーと、トリガーイベントがトリガーされたときに実行される1つまたは複数のアクションで構成されます。

トリガーでは、レシピに記述されたアクションを実行するためにリッスンするイベントを指定します。

トリガーの後、アクションが実行されます。使用可能なアクションはコネクタごとに異なりますが(ここではOutSystems Connectorを使用)、共通で使用できるアクションもあります。

このドキュメントでは、WorkatoとOutSystemsの間の2種類の連携の構成例を示します。

  • OutSystemsエンティティで変更があった場合にWorkatoのトリガーが起動され、別のアプリケーションで1つまたは複数のアクションが実行されます。
  • 特定のアプリケーションで変更があった場合にWorkatoのトリガーが起動され、OutSystemsで1つまたは複数のアクション(エンティティの更新など)が実行されます。

ユースケースの要件に応じて、これらの連携タイプのいずれか一方または両方を実装することができます。

OutSystemsエンティティの変更によってトリガーされるWorkatoレシピを設定する

要件

WorkatoのNew/Updated recordトリガーでレコードの変更を監視できるようにするために、OutSystemsエンティティにUpdatedOnアトリビュートがある必要があります。レコードが変更されるたびにこのアトリビュートが更新されるようにします。Workatoのタイムゾーンとの同期のため、日時値はUTCにする必要があります。

WorkatoのNew recordトリガーでレコードの作成を監視できるようにするために、OutSystemsエンティティに自動採番のIdアトリビュートがある必要があります。

以下の例では、OutSystemsのAccountエンティティのレコードの新規作成/更新に基づくトリガーによってSalesforceで1つのアクション(この場合はupsert操作)を実行する新しいWorkatoレシピを作成します。

A.OutSystemsエンティティのトリガーイベントを選択・構成する

  1. Workatoで[Recipes]タブを開き、[Create a new recipe]をクリックします。

  2. OutSystemsアプリを選択します。

  3. 目的のトリガーイベントを選択します。
    New record:エンティティのレコードの新規作成。このトリガーを使用するには、Id列が連続する整数になっている必要があります。
    New updated record:エンティティのレコードの新規作成または更新。このトリガーを使用するには、エンティティのUpdatedOnアトリビュートにシステム更新時刻が含まれている必要があります。

    この例では、New updated recordトリガーイベントを選択します。

  4. 利用可能なOutSystemsアカウントへの接続のリストから目的の接続を選択します。

  5. 接続するOutSystemsのモジュールとエンティティを選択します。
    Module:OutSystems環境内のすべてのモジュールのリストからモジュールを1つ選択します。
    Entity:選択したモジュール内のすべてのエンティティのリストからエンティティを1つ選択します。

    この例では、Order ManagementモジュールとAccountエンティティを選択しました。

B.実行するアクションを定義・構成する

  1. トリガーが発生したときに実行するアクションを選択します。
    この例では、SalesforceでAccountのupsert操作(既存レコードを更新し、既存レコードが存在しない場合は新規レコードを作成)を実行することを選択します。

  2. OutSystemsエンティティのアトリビュートとSalesforceのフィールドのマッピングを定義します。

    この例では、以下のようにマッピングを定義します。
    <Salesforceのフィールド> = <OSエンティティのアトリビュート>
    Account Name = Company name
    Account Phone = Phone

  3. Finish]をクリックします。

このレシピは30分ごとに実行され、OutSystemsのAccountレコードの新規作成または更新を確認します。
注記: レシピをテストして動作に問題がないことを確認するようにしてください。

OutSystemsエンティティでアクションを実行するWorkatoレシピを設定する

以下の例では、Salesforceの「Account」レコードの新規作成/更新に基づくトリガーによってOutSystemsエンティティで1つのアクション(この場合はupsert操作)を実行する新しいWorkatoレシピを作成します。

このレシピを定義するには、以下の手順を実行します。

  1. Salesforceの「Account」レコードの新規作成/更新に基づくトリガーを定義し、[Next]を押します。
    注記: このガイドでは、WorkatoとSalesforceの接続の設定については説明しません。詳細については、SalesforceとWorkatoのドキュメントをご覧ください。

  2. OutSystemsアプリを選択し、Upsert recordアクションを選択します。このアクションは、OutSystemsエンティティにレコードがまだ存在していない場合はレコードを新規作成し、レコードがすでに存在している場合は既存レコードを更新します。

  3. 利用可能な接続のリストから目的のアプリ接続(OutSystemsアカウントへのリンク)を選択します。詳細については、「Workato環境でのインストール」をご覧ください。

  4. upsert操作が実行されるOutSystemsのモジュールとエンティティを選択します。
    この例では、Order managementモジュールとAccountエンティティを選択しました。

  5. OutSystemsエンティティのアトリビュートとSalesforceのフィールドのマッピングを定義します。

    この例では、以下のようにマッピングを定義します。
    <OSエンティティのアトリビュート> = <Salesforceのフィールド>
    Code = Country code
    Company name = Account Name

注記: OutSystemsエンティティに他のOutSystemsエンティティへの外部キーが含まれる場合は、upsertアクションが呼び出される前にそのIdを取得しておく必要があります。詳細については、次のセクションをご覧ください
ただし、このような連携ではレコードの挿入/更新が何度も呼び出されるのを避けるため、OutSystemsでフラットなテーブル構造を使用することを推奨します。

OutSystemsの外部キーのId値を取得する

以下の例では、AccountエンティティのCountryIdアトリビュート(外部キー)に、OutSystemsのCountryエンティティのIdを取得して入力する必要があります。

Countryエンティティの正しいId値を取得するため、Workatoレシピ(の既存のアクションの前)に、すでにあるCountry Code値に基づいてCountryレコードを検索するアクションを新しく追加します。

Create/Update record in entity in OutSystemsアクションの前にアクションを追加する必要があります。この新しいアクションで、WorkatoからOutSystemsを呼び出して、Accountエンティティで使用するCountryId値を取得します。

以下の手順を実行します。

  1. Workatoで、レシピのアクションリストの最後にある「+」記号をクリックします。

  2. Simple action]を選択します。

  3. OutSystems Workatoアプリと実行するアクション([Search records])を選択します。

  4. 検索が実行されるOutSystemsのモジュールとエンティティを選択します。
    この例では、LocationモジュールとCountryエンティティを選択しました。

  5. 検索するパラメータを追加します。
    この例では、検索パラメータCode(OutSystemsエンティティの「Country」のアトリビュート)をCountry code(Salesforceの「Account」レコードのアトリビュート)に設定します。

  6. upsert操作を実行する最初のアクションの上に新しいアクションをドラッグします。これによって、レシピはupsertアクションを実行する前にCountryIdアトリビュートの値を取得します。

  7. upsertアクションを編集してCountry Id値を含めます。
    この例では、Account country IDアトリビュートを、検索アクション(レシピの最初のアクション)で取得したCountryエンティティのレコードのID値に設定します。

制限事項

OutSystems Workato Connectorの現在のバージョンには、以下の制限事項があります。

  • コネクタを使用する場合、Workatoでリアルタイムトリガーを使用することはできません。30分間隔でのジョブ実行のみを構成できます。
  • 外部データベースからOutSystemsにインポートされたエンティティをレシピで使用することはできません。
  • New recordトリガーでは、自動採番のId列があるエンティティのみを使用できます。
  • New/Updated recordトリガーでは、UpdatedOn列があるエンティティのみを使用できます。
  • Was this article helpful?