Fuse Online サンプルインテグレーションのチュートリアル

Red Hat Fuse 7.7

ビジネスユーザーがさまざまなアプリケーション間でデータを共有する方法

Red Hat Fuse Documentation Team

概要

ステップごとの説明に従って Fuse Online のサンプルインテグレーションを作成します。

前書き

Fuse Online では、アプリケーションやサービスからのデータを取得し、必要な場合はそのデータを操作することができます。さらに、データを全く異なるアプリケーションやサービスに送信することもできます。これはすべて、コードを作成せずに実行できます。

サンプルインテグレーションを作成して Fuse Online を見ていきます。比較表は、最初に作成するサンプルインテグレーションを決定するのに役立ちます。次に、サンプルインテグレーションを作成する手順を確認します。

Fuse Online のユーザーガイドも利用できます。

サポートを利用するには、Fuse Online の左ナビゲーションパネルで Support をクリックするか、右上の InfoIcon をクリックしてから Support を選択 します。

第1章 最初に作成するサンプルインテグレーションの選択

サンプルインテグレーションは任意の順序で作成できます。以下の比較表は、最初に作成するインテグレーションを決定するのに役立ちます。

 

Twitter to Salesforce

Salesforce to Database

AMQ to REST API

説明

特定の Twitter ユーザーをメンションするツイートを取得してフィルターします。指定のテキストが含まれるツイートでは、インテグレーションはツイートに関連するデータを Salesforce に渡し、Salesforce は新しい取引先責任者を作成します。

Salesforce で更新を取得し、データベースストアドプロシージャーを呼び出して、特定のデータベーステーブルを Salesforce の更新と同期します。

Red Hat AMQ ブローカーから配達記録を取得し、カスタムステップを実行して、受領時に破損した商品を特定し、REST API に接続して、破損した商品の仕入先連絡情報を提供します。

学習内容

Twitter および Salesforce への接続、Fuse Online がインターフェースで OAuth プロトコルを使用するアプリケーションと連動する仕組み、アプリケーションより取得したデータフィールドからインテグレーションで次の接続アプリケーションが操作できるフィールドへのマッピング、インテグレーションの実行を続けるかどうかを判断するためのデータのフィルタリング。

Salesforce および SQL データベースへの接続、OAuth のサポート、データマッピング、インテグレーションの一部として SQL データベースを更新する方法。

Red Hat AMQ ブローカーおよび REST API への接続、データマッピング、ステップおよび REST API クライアントコネクターのエクステンションのアップロード、カスタムステップおよびカスタム API クライアントコネクションの使用。

平均完了時間 (分単位)

25

20

25

完了時間についての注記

これには、Twitter および Salesforce アカウントの取得に必要な時間が含まれます。これには、Salesforce 登録の反映と Fuse Online のインテグレーション実行の開始を待つ 5 - 12 分は含まれていません。

20 分には、Salesforce 開発者アカウントの取得に必要な時間が含まれますが、待機時間は含まれません。Twitter to Salesforce サンプルをすでに作成している場合、このインテグレーションの作成にかかる時間は 10 分です。

これには、Fuse Online がインテグレーションの実行を開始するまでの時間は含まれません。

前提条件

Twitter 開発者アカウントと Salesforce 開発者アカウントが必要です。

Salesforce 開発者アカウントが必要です。

なし

第2章 Fuse Online を初めて使用するときに想定される手順

OpenShift Online の Fuse Online へのアクセスを有効にするために、Red Hat はリンクを提供します。このリンクをクリックすると、Red Hat OpenShift Online Log In ページが表示され、Red Hat アカウントを使用してログインするよう指示されます。ログインすると、Fuse Online から OpenShift Online アカウントへのアクセスを承認するよう要求されます。

AuthorizeAccessOnLogin

Allow selected permissions をクリックします。これは一度だけ行います。次回からは「Welcome to the Red Hat Fuse Online Evaluation」メールメッセージにある Fuse Online アクセスリンクをクリックすると、Fuse Online が即座に表示されます。

Fuse Online を OpenShift Container Platform で使用するには、『OpenShift Container Platform での Fuse Online のインストールと操作』のインストール手順にしたがいます。

Red Hat は、以下のブラウザーでの Fuse Online の使用をサポートしています。

  • Chrome
  • Firefox

第3章 Twitter to Salesforce サンプルインテグレーションの実装

このサンプルインテグレーションは、特定の Twitter ユーザーをメンションするツイートを Twitter で監視します。インテグレーションはそのようなツイートを見つけると、指定のテキストが含まれるツイートのみによってインテグレーションが続行されるよう、ツイートをフィルタリングします。

指定されたテキストが含まれるツイートでは、インテグレーションは Twitter ユーザー名などのそのツイートに関連するデータを Salesforce に渡し、Salesforce は新しい取引先責任者を作成します。

前提条件

  • Twitter 開発者アカウントが必要です。まだ Twitter 開発者アカウントを持っていない場合は、https://apps.twitter.com にアクセスし、Twitter にサインインしてから Apply for a developer account をクリックします。you@gmail.com のような個人アドレスではなく、me@redhat.com のような企業のアドレスを提供すると、迅速に開発者アカウントを取得できます。
  • 開発に使用される Salesforce インストールでアカウントが必要になります。このアカウントは Salesforce API にアクセスできる必要があります。Salesforce Enterprise アカウントまたは Salesforce Developer アカウントは Salesforce API にアクセスできます。無料の開発者アカウントを取得するには、https://developer.salesforce.com/signup にアクさきほどセスしてください。Salesforce アカウントの取得には最大 2 分かかります。
  • Fuse Online 環境にログインしている必要があります。まだログインしていない場合は、「Fuse Online を初めて使用するときに想定される手順」を参照してください。

このサンプルインテグレーションを実装、デプロイ、およびテストするための主なステップは次のとおりです。

3.1. Fuse Online を Twitter クライアントアプリケーションとして登録

インテグレーションで Twitter に接続するには、最初に Fuse Online 環境を Twitter にアクセスできるクライアントアプリケーションとして登録する必要があります。これにより、Twitter に接続するインテグレーションをいくつでも作成することができます。そのため、特定の Fuse Online 環境を 1 度だけ Twitter に登録する必要があります。

Fuse Online を Twitter クライアントアプリケーションとして登録できるのは、Fuse Online 環境ごとに 1 回のみです。しかし、各 Twitter コネクションは同じ登録を使用しますが、異なるユーザークレデンシャルを使用することができます。

前提条件

Fuse Online にログインしている必要があります。Fuse Online にアクセスできる URL は、Red Hat Fuse Online Evaluation プログラムのウェルカムメールメッセージにあります。

手順

  1. Fuse Online で以下を行います。

    1. 左側のパネルで Settings をクリックします。
    2. Settings ページで、上部付近にあるコールバック URL の右側で Copy Callback URL をクリックし、Fuse Online インストールのコールバック URL をクリップボードにコピーします。この手順の後半でこの URL が必要になります。
    3. Twitter エントリーをクリックし、Consumer API Key および Consumer API Secret Key フィールドを表示します。
  2. 別のブラウザータブで、Twitter 開発者アカウント にアクセスし、必要な場合はログインしてから以下を行います。

    1. 右上で、開発者プロジェクトの名前の横にある下向きのキャレットをクリックし、Apps をクリックします。
    2. 右上の Create an app をクリックします。
    3. App name フィールドに My Fuse Online Client などの名前を入力します。
    4. Application description フィールドに、For leveraging tweets などのヒントを入力します。
    5. Website URL フィールドに、この手順の最初でコピーした URL を貼り付け、URL の最後にある api/v1/credentials/callback を削除します。
    6. Enable Sign in with Twitter を選択します。
    7. Callback URLs フィールドに URL を再度貼り付けます。https://app-proj912876.7b63.fuse-ignite.openshiftapps.com/api/v1/credentials/callback のようになるはずです。

      続くフィールドをいくつかスキップします。

    8. Tell us how this app will be used には説明を 100 文字以内で追加する必要があります。This is a demo application so that I can evaluate how to integrate Twitter with my enterprise applications. をコピーし、貼り付けてもいいでしょう。
    9. Create をクリックします。
    10. 再度 Create をクリックし、開発者規約を読んだことを確認します。
    11. 作成したアプリのページ上部にある Keys and tokens タブをクリックします。
    12. コンシューマー API キーをコピーします。
  3. Fuse Online の Settings ページに戻り、Twitter のコンシューマー API キーを Fuse Online の Twitter Consumer API Key フィールドに貼り付けます。
  4. Twitter の Keys and tokens タブに戻り、コンシューマー API シークレットキーをコピーします。
  5. Fuse Online の Settings ページに戻り、Twitter のコンシューマー API シークレットキーを Fuse Online の Twitter Consumer API Secret Key フィールドに貼り付けます。
  6. Save をクリックします。
  7. Twitter エントリーをクリックして折りたたみます。

3.2. Twitter コネクションの作成

Twitter からデータを取得するインテグレーションを作成するには、最初に Twitter コネクションを作成する必要があります。Twitter コネクションを作成した後、任意の数のインテグレーションで使用できます。

前提条件

  • Fuse Online にログインしている必要があります。Fuse Online にアクセスできる URL は、Red Hat Fuse Online Evaluation プログラムのウェルカムメールメッセージにあります。
  • Fuse Online がウェブブラウザーで開かれている必要があります。
  • Fuse Online 環境が Twitter にアクセスできるアプリケーションとして登録されている必要があります。
  • Fuse Online の Settings ページで登録した後に受け取った Twitter コンシューマー API キーおよびコンシューマー API シークレットキーが追加済みである必要があります。

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、利用できるコネクターを表示します。コネクターは、1 つ以上のコネクションを作成するために使用するテンプレートです。
  3. Twitter コネクターをクリックします。
  4. Connect Twitter をクリックし、Twitter の承認ページを表示します。承認ページを表示するには Twitter にログインする必要があることがあります。

    Connect Twitter が表示されない場合、Fuse Online 環境は Twitter クライアントアプリケーションとして登録されていません。「Fuse Online を Twitter クライアントアプリケーションとして登録」を参照してください。Twitter コネクションの作成時に Fuse Online 環境が Twitter クライアントアプリケーションとして登録されていない場合、Fuse Online は承認情報を要求する複数のフィールドを表示します。これらのフィールドに値を入力して Twitter コネクションを作成することはできますが、推奨されません。

  5. Authorize app をクリックし、Fuse Online に戻ります。
  6. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、Twitter Connect 1 を入力します。
  7. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Sample Twitter connection that uses my Twitter login credentials. を入力します。
  8. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして Twitter Connect 1 が表示されます。

3.3. Fuse Online を Salesforce クライアントアプリケーションとして登録

インテグレーションで Salesforce に接続するには、最初に Fuse Online 環境を Salesforce にアクセスできるクライアントアプリケーションとして登録する必要があります。これにより、Salesforce に接続するインテグレーションをいくつでも作成することができます。そのため、特定の Fuse Online 環境を 1 度だけ Salesforce に登録する必要があります。

Fuse Online を Salesforce クライアントアプリケーションとして登録できるのは、Fuse Online 環境ごとに 1 回のみです。ただし、各 Salesforce コネクションは同じ登録を使用しますが、異なるユーザー認証情報を使用することができます。

すでに Fuse Online を Salesforce クライアントとして登録し、Salesforce コネクションを作成している場合は、「Twitter to Salesforce サンプルインテグレーションの作成およびデプロイ」に進みます。

前提条件

Fuse Online にログインしている必要があります。Fuse Online にアクセスできる URL は、Red Hat Fuse Online Evaluation プログラムのウェルカムメールメッセージにあります。

手順

  1. Fuse Online で以下を行います。

    1. 左側のパネルで Settings をクリックします。
    2. Settings ページで、上部付近にあるコールバック URL の右側で Copy Callback URL をクリックし、Fuse Online 環境のコールバック URL をクリップボードにコピーします。この手順の最後の方でこの URL が必要になります。
    3. Salesforce エントリーをクリックして Client ID および Client Secret フィールドを表示します。
  2. 別のブラウザータブで、Salesforce アカウントにログインし、以下の手順にしたがって接続アプリケーションを作成します。これらの手順では、Salesforce Classic ユーザーインターフェースを使用していることを仮定します。Salesforce Lighting Experience インターフェースから切り替えるには、プロファイルアイコンをクリックして Switch to Salesforce Classic を選択します。追加情報は、Salesforce ドキュメントの「Create a Connected App」を参照してください。

    1. Salesforce で右上にある Setup をクリックします。
    2. 左側のパネルで Build > Create > Apps と選択します。
    3. Connected Apps まで下にスクロールし、New をクリックします。
    4. 必要な情報を入力し、Enable OAuth Settings を選択します。
    5. Callback URL フィールドに、この手順の最初にコピーした Fuse Online URL を貼り付けます。例: https://app-proj912876.7b63.fuse-ignite.openshiftapps.com/api/v1/credentials/callback
    6. OAuth Scopes では以下を追加します。

      • Access and manage your data (api)
      • Allow access to your unique identifier (openid)
      • Perform requests on your behalf at any time (refresh_token, offline_accesss)
    7. Configure ID token を選択し Include Standard Claims を選択します。
    8. 下にスクロールし、Save をクリックします。
    9. 上にスクロールし、Salesforce が短い待機時間を示していることを確認します。 SF message to wait a few minutes
    10. Continue をクリックします。
    11. Salesforce が提供するコンシューマー鍵をコピーします。
  3. Fuse Online の Settings ページに戻り、Salesforce が提供したコンシューマー鍵を Fuse Online の Salesforce Client ID フィールドに貼り付けます。
  4. Salesforce に戻り、Salesforce が提供するコンシューマーの秘密をコピーします。
  5. Fuse Online の Settings ページに戻り、Salesforce が提供したコンシューマーの秘密を Fuse Online の Salesforce Client Secret フィールドに貼り付けます。
  6. Save をクリックします。
  7. Salesforce エントリーをクリックして折りたたみます。

3.4. Salesforce コネクションの作成

Salesforce でデータにアクセスするインテグレーションを作成するには、最初に Salesforce コネクションを作成する必要があります。Salesforce コネクションの作成後、複数のインテグレーションで使用することができます。

前提条件

  • Fuse Online にログインしている必要があります。Fuse Online にアクセスできる URL は、Red Hat Fuse Online Evaluation プログラムのウェルカムメールメッセージにあります。
  • Fuse Online がウェブブラウザーで開かれている必要があります。
  • Fuse Online 環境が Salesforce にアクセスできるアプリケーションとして登録されている必要があります。
  • Fuse Online の Settings ページで登録した後に受け取った Salesforce クライアント ID およびクライアントシークレットが追加済みである必要があります。

    Fuse Online が登録されていない場合は、「Fuse Online を Salesforce クライアントアプリケーションとして登録」を参照してください。

    Fuse Online インストールを Salesforce クライアントとして登録した後、必ず 2 - 10 分待ってから Salesforce コネクションを作成してください。

手順

  1. Fuse Online で、左側のパネルにある Connections をクリックして、使用できるコネクションを表示します。
  2. Create Connection をクリックし、利用できるコネクターを表示します。コネクターは、1 つ以上のコネクションを作成するためのテンプレートです。
  3. Salesforce コネクターをクリックします。
  4. Connect Salesforce をクリックして、Salesforce の承認ページを表示します。承認ページを表示するには Salesforce にログインする必要があることがあります。

    Connect Salesforce が表示されない場合、Fuse Online 環境は Salesforce クライアントアプリケーションとして登録されていません。「Fuse Online を Salesforce クライアントアプリケーションとして登録」を参照してください。Salesforce コネクションの作成時に Fuse Online 環境が Salesforce クライアントアプリケーションとして登録されていない場合、Fuse Online は承認を要求する複数のフィールドを表示します。これらのフィールドに値を入力して Salesforce コネクションを作成することはできますが、推奨されません。

    注記

    以下のエラーは、Salesforce に正しい Fuse Online コールバック URL が指定されていないことを表しています。

    error=redirect_uri_mismatch&error_description=redirect_uri%20must%20match%20configuration

    このエラーメッセージが表示されたら、Salesforce で「Fuse Online を Salesforce クライアントアプリケーションとして登録」の手順にしたがって Fuse Online コールバック URL が指定されていることを確認してください。

  5. Allow をクリックして、Fuse Online に戻ります。
  6. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、SF Connect 1 を入力します。
  7. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Sample Salesforce connection that uses my Salesforce login credentials. を入力します。
  8. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして SF Connect 1 が表示されます。

3.5. Twitter to Salesforce サンプルインテグレーションの作成およびデプロイ

作成した Twitter コネクションと Salesforce コネクションを使用するインテグレーションを作成してデプロイする場合、主なステップは次のとおりです。

前提条件

  • Fuse Online 環境が Twitter クライアントとして登録され、Fuse Online の Twitter コネクションが作成されている必要があります。
  • Fuse Online 環境が Salesforce クライアントとして登録され、Fuse Online の Salesforce コネクションが作成されている必要があります。
  • Fuse Online を開いて、ログインしている必要があります。

3.5.1. 最初のコネクションの選択

Fuse Online で Twitter to Salesforce サンプルインテグレーションを作成するには、先に最初のコネクションを選択します。

前提条件

  • Twitter コネクションが作成されている必要があります。

手順

  1. 左側の Integrations をクリックします。
  2. Create Integration をクリックします。
  3. Choose a connection ページで、作成した Twitter コネクションをクリックします。上記の例の名前を入力した場合は、Twitter Connect 1 をクリックします。インテグレーションが起動されたら、このコネクションに定義された認証情報を使用して Twitter に接続します。
  4. Choose an action ページで、Mention アクションエントリーの右にある Select をクリックします。
  5. Configure the action ページで Next をクリックします。設定は必要ありません。

次のステップ

インテグレーションの稼働中、Twitter に接続すると、インテグレーションは Twitter のスクリーン名が含まれるメンションを Twitter で監視します。一致すると、インテグレーションの次のステップがトリガーされます。ただし、コネクション間のデータを操作するステップを追加する前に、インテグレーションが作業を完了するために使用するコネクションを選択します。

3.5.2. 最後のコネクションの選択

Fuse Online で、Twitter to Salesforce サンプルインテグレーションの作成を続けるには、最初のコネクションを追加した後、最後のコネクションをインテグレーションに追加します。

前提条件

  • Twitter コネクションを最初のコネクションとしてインテグレーションに追加済みである必要があります。
  • Fuse Online は最後のコネクションの追加を要求します。
  • Salesforce コネクションが作成されている必要があります。

手順

  1. Choose a connection ページで、作成した Salesforce コネクションをクリックします。上記の例の名前を入力した場合は、SF Connect 1 をクリックします。このインテグレーションは、このコネクションに定義された認証情報を使用して Salesforce に接続することで終了します。
  2. Choose an action ページで、New record エントリーの右側にある Select をクリックします。
  3. Configure the action ページで、Object name フィールドをクリックし、Contact を作成する Salesforce レコードとして選択します。
  4. Next をクリックして最後のコネクションをインテグレーションに追加します。

3.5.3. 基本フィルターステップの追加

Fuse Online で、Twitter to Salesforce サンプルインテグレーションの作成を続けるには、特定のコンテンツをメンションするツイートをチェックする基本フィルターステップを追加します。インテグレーションの実行時、処理は、そのコンテンツが存在する場合にのみ続行されます。

前提条件

  • Twitter コネクションがインテグレーションの最初のコネクションとして追加済みである必要があります。
  • Salesforce コネクションがインテグレーションの最後のコネクションとして追加済みである必要があります。

手順

  1. インテグレーションビジュアライゼーションでプラス記号をクリックし、インテグレーションに追加できるステップを表示します。
  2. Basic Filter をクリックします。
  3. Property Name フィールドに text を入力し、フィールドの下に text が表示されたら、クリックします。ツイートが含まれる Twitter text フィールドは、フィルターで評価するデータです。
  4. Operator フィールドで、インテグレーションを続行させる条件として contains を受け入れます。
  5. Keywords フィールドに #RedHatIsGreat または確認する値として選択したその他のテキストを入力します。インテグレーションがこのデータの処理を続行するには、ユーザーをメンションするツイートにここに入力するテキストが含まれている必要があります。
  6. Done をクリックして、基本フィルターステップをインテグレーションに追加します。

3.5.4. データマッピングステップの追加

Twitter to Salesforce サンプルインテグレーションの作成を続けるには、Twitter メンションフィールドを Salesforce の取引先責任者フィールドに関連付けるデータマッピングステップを追加します。

前提条件

  • インテグレーションの最初のコネクションは Twitter へのコネクションです。
  • インテグレーションの最後のコネクションは Salesforce へのコネクションです。
  • この 2 つのコネクションの間のフィルターステップを追加したばかりです。

手順

  1. Fuse Online のインテグレーションビジュアライゼーションで、フィルターステップと最後のコネクションの間にあるプラス記号をクリックします。
  2. Data Mapper をクリックし、しばらく待機します。データフィールドが表示されると、左側の Sources パネルに Twitter フィールドが表示され、右側の Target パネルに Salesforce フィールドが表示されます。
  3. Twitter の name フィールドを Salesforce の FirstName および LastName フィールドにマップします。

    1. Sources パネルで、虫眼鏡 magnifying glass をクリックして検索フィールドを表示し、name を入力します。
    2. user フォルダーで name フィールドをクリックし、Create New Mapping アイコンをクリックします。
    3. Mapping Details パネルの Targets フィールドに FirstName と入力して、ターゲットフィールドのリストを絞り込み、/FirstName を選択します。データマッパーは、ソースの name フィールドからターゲットの FirstName フィールドへの線を表示します。
    4. Mapping Details パネルの Targets フィールドに LastName と入力してターゲットフィールドのリストを絞り込み、/Last‍Name を選択します。

      データマッパーは Twitter の name フィールドから別の線を表示しますが、今回は Salesforce の LastName フィールドへとつながっています。青い線は、現在のフォーカスを示しています。

      注記

      誤ったフィールドをマップした場合は、データマッパーの Mapping Details パネルでごみ箱アイコンをクリックし、誤ったマッピングを削除します。

  4. Twitter の screenName フィールドを Salesforce の Title フィールドにマップします。

    1. Sources パネルで screenName フィールドをクリックします。
    2. Target パネル上部の右側にある虫眼鏡 magnifying glass をクリックして検索フィールドを表示し、Title を入力します。
    3. Title フィールドをクリックします。データマッパーは Twitter の screenName フィールドから Salesforce の Title フィールドへの線を表示します。
  5. Twitter の text フィールドを Salesforce の Description フィールドにマップします。

    1. Sources 検索フィールドに text を入力し、text フィールドをクリックします。必ず最上位の text フィールドをクリックします。user フィールドに含まれる text フィールドのいずれかをクリックしないでください。
    2. Target 検索フィールドに、description を入力します。
    3. Salesforce の Description フィールドをクリックしてマッピングを作成します。
  6. 右上のグリッドアイコン grid をクリックすると、マッピングのリストが次のように表示されます。 Data Mappings
  7. 右上の Done をクリックします。

3.5.5. インテグレーションの命名とデプロイ

Twitter to Salesforce のサンプルインテグレーションが完了したら、デプロイして、その動作を確認できます。

前提条件

  • インテグレーションの最初のコネクションは Twitter です。
  • インテグレーションの最後のコネクションは Salesforce です。
  • インテグレーションにはフィルターステップがあります。
  • インテグレーションにデータマッピングステップを追加したばかりです。

手順

  1. 右上の Publish をクリックします。
  2. Name フィールドで、このインテグレーションを別のインテグレーションと区別するための任意の名前を入力します。例: Twitter to Salesforce Sample Integration
  3. Description フィールドには、任意でインテグレーションに関する情報を入力します。
  4. Save and publish をクリックします。

    Fuse Online はインテグレーションのデプロイを開始し、インテグレーションの概要を表示します。上部付近に、パブリッシュステージを示す進捗インジケーターが表示されます。Fuse Online はインテグレーションのランタイムを生成し、ランタイムの準備ができると開始します。これには数分かかります。

    Fuse Online アカウントは、同時に実行可能なインテグレーションの数が制限されています。詳細は、価格プランを参照してください。インテグレーションの最大数をすでに実行している場合、別のインテグレーションの実行を開始する前にインテグレーションを停止する必要があります。

  5. すでに最大数のインテグレーションが稼働中である場合、以下のステップにしたがってインテグレーションを停止します。

    1. 左側のパネルで Integrations をクリックします。
    2. 停止するインテグレーションのエントリーで、右端の ThreeVerticalDotsKebab をクリックします。
    3. ポップアップで Stop をクリックします。
  6. インテグレーションの停止後、別のインテグレーションを以下のように起動します。

    1. 左側のパネルで Integrations をクリックします。
    2. 起動するインテグレーションのエントリーで、右端の ThreeVerticalDotsKebab をクリックします。
    3. ポップアップで Start をクリックします。

3.6. Twitter to Salesforce インテグレーションの動作の確認

Twitter to Salesforce サンプルインテグレーションが動作していることを確認するには、ツイートを作成し、Salesforce で結果を確認します。

前提条件

  • Fuse Online でパブリッシュ時に Twitter to Salesforce サンプルインテグレーションに指定した名前の横に Running が表示されています。
  • Twitter および Salesforce アカウントにアクセスできます。

手順

  1. Fuse Online の左側のパネルで Integrations をクリックし、作成したインテグレーションが Running インテグレーションであることを確認します。上記の例の名前を入力した場合は、Twitter to Salesforce Sample Integration が稼働中であるのを確認できます。
  2. ツイートに基本フィルターステップで指定されたテキストが含まれていなければインテグレーションは取引先責任者レコードを作成しないことを確認します。

    1. Twitter で、以下のようなツイートを送信します。

      • ユーザーの Twitter ハンドルをメンションしている
      • 基本フィルターステップで指定したテキストが含まれていない

        例: @Aslan #likesRedHat.

    2. ポーリング間隔が経過するのを待ちます。これには 30 - 60 秒かかります。
    3. Salesforce で、ツイートに使用した Twitter アカウントに関連する名前の新しい取引先責任者レコードがないことを確認します。
  3. 次の場合、インテグレーションが新しい取引先責任者レコードを作成することを確認します。

    1. Twitter で、以下のようなツイートを送信します。

      • ユーザーの Twitter ハンドルをメンションしている
      • 基本フィルターステップで指定したテキストが含まれる

        例: @Aslan knows #RedHatIsGreat.

    2. ポーリング間隔が経過するのを待ちます。
    3. Salesforce で以下を行います。

      1. Salesforce 開発者アカウントではなく、通常の Salesforce アカウントにログインします。
      2. ホームページの Recent Items の下に新しい取引先責任者が表示されるはずです。
      3. 詳細を表示するには、それをクリックします。

        新規の取引先責任者レコードには、ツイートに使用した Twitter アカウントに関連する名前があるはずです。ツイートのテキストは Description フィールドに、Twitter のスクリーン名は Title フィールドに入力されているはずです。

  4. 任意で、インテグレーションログを表示して、予期せぬ結果のトラブルシューティングや、インテグレーション実行の詳細確認を行います。

    1. Fuse Online の左パネルで Integrations をクリックします。
    2. Twitter to Salesforce インテグレーションを表示します。
    3. インテグレーションの概要ページで Activity タブをクリックします。
    4. アクティビティー情報を表示するインテグレーションの実行をクリックします。

3.7. インテグレーションのクリーンアップ

サンプルインテグレーションの作業が完了したら、それを停止して削除し、別のインテグレーションでリソースを使用できるようにする必要があります。

前提条件

  • パブリッシュしたサンプルインテグレーションの使用を終了している必要があります。

手順

  1. Fuse Online の左パネルで Integrations をクリックします。
  2. メインパネルで、停止するサンプルインテグレーションのエントリーを特定します。
  3. そのエントリーの右側にある Kebab Menu をクリックし、Stop をクリックします。
  4. Stop をクリックし、インテグレーションの実行を停止することを確認します。
  5. 停止したインテグレーションのエントリーで、右側の Kebab Menu をクリックし、Delete をクリックします。
  6. Delete をクリックし、インテグレーションを削除することを確認します。

第4章 Salesforce to database サンプルインテグレーションの実装

このサンプルインテグレーションは Salesforce の更新を取得し、データベースストアドプロシージャーを呼び出します。これにより、そのデータベースと Salesforce の更新を同期します。

前提条件

  • 開発に使用される Salesforce インストールでアカウントが必要になります。このアカウントは Salesforce API にアクセスできる必要があります。Salesforce Enterprise アカウントまたは Salesforce Developer アカウントは Salesforce API にアクセスできます。無料の開発者アカウントを取得するには、https://developer.salesforce.com/signup にアクさきほどセスしてください。Salesforce アカウントの取得には最大 2 分かかります。

    Twitter to Salesforce サンプルインテグレーションをすでに作成している場合は、次に該当します。

    • Fuse Online がすでに Salesforce クライアントとして登録されています。これをもう一度実行する必要はありません。
    • このサンプルインテグレーションで再利用できる Salesforce コネクションがあります。

    Twitter to Salesforce サンプルインテグレーションを作成していない場合は、Fuse Online を Salesforce クライアントとして登録し、Salesforce to database サンプルインテグレーションを完了するために Salesforce コネクションを作成する必要があります。

  • Fuse Online 環境にログインしている必要があります。まだログインしていない場合は、「Fuse Online を初めて使用するときに想定される手順」を参照してください。
  • OpenShift Dedicated で稼働する Fuse Online 評価環境で作業しているか、PostgresDB コネクションを提供する Fuse Online サンプルデータが管理者によって追加された OpenShift Container Platform プロジェクトで稼働している Fuse Online 環境で作業している必要があります。

このサンプルインテグレーションを実装、デプロイ、およびテストするための主なステップは次のとおりです。

4.1. Fuse Online を Salesforce クライアントアプリケーションとして登録

インテグレーションで Salesforce に接続するには、最初に Fuse Online 環境を Salesforce にアクセスできるクライアントアプリケーションとして登録する必要があります。これにより、Salesforce に接続するインテグレーションをいくつでも作成することができます。そのため、特定の Fuse Online 環境を 1 度だけ Salesforce に登録する必要があります。

Fuse Online を Salesforce クライアントアプリケーションとして登録できるのは、Fuse Online 環境ごとに 1 回のみです。ただし、各 Salesforce コネクションは同じ登録を使用しますが、異なるユーザー認証情報を使用することができます。

すでに Fuse Online を Salesforce クライアントとして登録し、Salesforce コネクションを作成している場合は、「Salesforce to database サンプルインテグレーションの作成およびデプロイ」に進みます。

前提条件

Fuse Online にログインしている必要があります。Fuse Online にアクセスできる URL は、Red Hat Fuse Online Evaluation プログラムのウェルカムメールメッセージにあります。

手順

  1. Fuse Online で以下を行います。

    1. 左側のパネルで Settings をクリックします。
    2. Settings ページで、上部付近にあるコールバック URL の右側で Copy Callback URL をクリックし、Fuse Online 環境のコールバック URL をクリップボードにコピーします。この手順の最後の方でこの URL が必要になります。
    3. Salesforce エントリーをクリックして Client ID および Client Secret フィールドを表示します。
  2. 別のブラウザータブで、Salesforce アカウントにログインし、以下の手順にしたがって接続アプリケーションを作成します。これらの手順では、Salesforce Classic ユーザーインターフェースを使用していることを仮定します。Salesforce Lighting Experience インターフェースから切り替えるには、プロファイルアイコンをクリックして Switch to Salesforce Classic を選択します。追加情報は、Salesforce ドキュメントの「Create a Connected App」を参照してください。

    1. Salesforce で右上にある Setup をクリックします。
    2. 左側のパネルで Build > Create > Apps と選択します。
    3. Connected Apps まで下にスクロールし、New をクリックします。
    4. 必要な情報を入力し、Enable OAuth Settings を選択します。
    5. Callback URL フィールドに、この手順の最初にコピーした Fuse Online URL を貼り付けます。例: https://app-proj912876.7b63.fuse-ignite.openshiftapps.com/api/v1/credentials/callback
    6. OAuth Scopes では以下を追加します。

      • Access and manage your data (api)
      • Allow access to your unique identifier (openid)
      • Perform requests on your behalf at any time (refresh_token, offline_accesss)
    7. Configure ID token を選択し Include Standard Claims を選択します。
    8. 下にスクロールし、Save をクリックします。
    9. 上にスクロールし、Salesforce が短い待機時間を示していることを確認します。 SF message to wait a few minutes
    10. Continue をクリックします。
    11. Salesforce が提供するコンシューマー鍵をコピーします。
  3. Fuse Online の Settings ページに戻り、Salesforce が提供したコンシューマー鍵を Fuse Online の Salesforce Client ID フィールドに貼り付けます。
  4. Salesforce に戻り、Salesforce が提供するコンシューマーの秘密をコピーします。
  5. Fuse Online の Settings ページに戻り、Salesforce が提供したコンシューマーの秘密を Fuse Online の Salesforce Client Secret フィールドに貼り付けます。
  6. Save をクリックします。
  7. Salesforce エントリーをクリックして折りたたみます。

4.2. Salesforce コネクションの作成

Salesforce でデータにアクセスするインテグレーションを作成するには、最初に Salesforce コネクションを作成する必要があります。Salesforce コネクションの作成後、複数のインテグレーションで使用することができます。

前提条件

  • Fuse Online にログインしている必要があります。Fuse Online にアクセスできる URL は、Red Hat Fuse Online Evaluation プログラムのウェルカムメールメッセージにあります。
  • Fuse Online がウェブブラウザーで開かれている必要があります。
  • Fuse Online 環境が Salesforce にアクセスできるアプリケーションとして登録されている必要があります。
  • Fuse Online の Settings ページで登録した後に受け取った Salesforce クライアント ID およびクライアントシークレットが追加済みである必要があります。

    Fuse Online が登録されていない場合は、「Fuse Online を Salesforce クライアントアプリケーションとして登録」を参照してください。

    Fuse Online インストールを Salesforce クライアントとして登録した後、必ず 2 - 10 分待ってから Salesforce コネクションを作成してください。

手順

  1. Fuse Online で、左側のパネルにある Connections をクリックして、使用できるコネクションを表示します。
  2. Create Connection をクリックし、利用できるコネクターを表示します。コネクターは、1 つ以上のコネクションを作成するためのテンプレートです。
  3. Salesforce コネクターをクリックします。
  4. Connect Salesforce をクリックして、Salesforce の承認ページを表示します。承認ページを表示するには Salesforce にログインする必要があることがあります。

    Connect Salesforce が表示されない場合、Fuse Online 環境は Salesforce クライアントアプリケーションとして登録されていません。「Fuse Online を Salesforce クライアントアプリケーションとして登録」を参照してください。Salesforce コネクションの作成時に Fuse Online 環境が Salesforce クライアントアプリケーションとして登録されていない場合、Fuse Online は承認を要求する複数のフィールドを表示します。これらのフィールドに値を入力して Salesforce コネクションを作成することはできますが、推奨されません。

    注記

    以下のエラーは、Salesforce に正しい Fuse Online コールバック URL が指定されていないことを表しています。

    error=redirect_uri_mismatch&error_description=redirect_uri%20must%20match%20configuration

    このエラーメッセージが表示されたら、Salesforce で「Fuse Online を Salesforce クライアントアプリケーションとして登録」の手順にしたがって Fuse Online コールバック URL が指定されていることを確認してください。

  5. Allow をクリックして、Fuse Online に戻ります。
  6. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、SF Connect 1 を入力します。
  7. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Sample Salesforce connection that uses my Salesforce login credentials. を入力します。
  8. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして SF Connect 1 が表示されます。

4.3. Salesforce to database サンプルインテグレーションの作成およびデプロイ

作成した Salesforce コネクションと Fuse Online で提供されるデータベースコネクションを使用するインテグレーションを作成してデプロイする場合、主なステップは次のとおりです。

前提条件

  • Fuse Online 環境が Salesforce クライアントとして登録されている必要があります。
  • Fuse Online の Salesforce コネクションが作成されている必要があります。
  • Fuse Online を開いて、ログインしている必要があります。

4.3.1. 最初のコネクションの選択

Fuse Online で Salesforce to database のサンプルインテグレーションを作成するには、先に最初のコネクションを選択します。

前提条件

  • Salesforce コネクションが作成されている必要があります。

手順

  1. Fuse Online で左側にある Integrations をクリックします。
  2. Create Integration をクリックします。
  3. Choose a connection ページで Salesforce コネクションをクリックします。上記の例の名前を指定した場合は、SF Connect 1 をクリックします。
  4. Choose an action ページで On create の右側にある Select をクリックします。
  5. Object name フィールドで Lead を選択します。
  6. Next をクリックして最初のコネクションをインテグレーションに追加します。

次のステップ

インテグレーションの稼働中に Salesforce に接続すると、インテグレーションは Salesforce Lead レコードが作成されたことを示す通知を監視します。インテグレーションはそのような通知を見つけると、新しいリードデータをインテグレーションの次のステップに渡します。ただし、次のステップを追加するには、先にインテグレーションの最後のコネクションを選択する必要があります。

4.3.2. 最後のコネクションの選択

Fuse Online で Salesforce to database サンプルインテグレーションの作成を続けるには、最初のコネクションを追加した後、最後のコネクションをインテグレーションに追加します。

前提条件

  • Salesforce コネクションを最初のコネクションとしてインテグレーションに追加済みである必要があります。
  • Fuse Online は最後のコネクションの追加を要求します。

手順

  1. Fuse Online の Choose a connection ページで PostgresDB コネクションをクリックします。このインテグレーションは、このデータベースコネクションに定義された認証情報を使用して、提供されたサンプルデータベースに接続することで終了します。
  2. Choose an action ページで Invoke stored procedure を選択します。これはデータをストアドプロシージャーに渡します。
  3. Procedure name フィールドで add_lead を受け入れます。これは、サンプルデータベースで実行するために用意されたストアドプロシージャーです。選択した手順は、たとえばどの Salesforce データフィールドをどのデータベースフィールドにマップする必要があるかなど、インテグレーションの追加ステップの要件を決定します。
  4. Next をクリックして最後のコネクションをインテグレーションに追加します。

4.3.3. データマッピングステップの追加

Salesforce to database サンプルインテグレーションの作成を続けるには、Salesforce リードフィールドをサンプルデータベースのフィールドに関連付けるデータマッピングステップを追加します。

前提条件

  • インテグレーションの最初のコネクションは Salesforce へのコネクションです。
  • インテグレーションの最後のコネクションは PostgresDB サンプルデータベースへのコネクションになります。

手順

  1. Fuse Online のインテグレーションビジュアライゼーションで、プラス記号をクリックします。
  2. Data Mapper をクリックし、しばらく待機します。データフィールドが表示されると、左側の Sources パネルに Salesforce フィールドが表示され、右側の Target パネルにデータベースフィールドが表示されます。
  3. Salesforce の Company フィールドをデータベースの company フィールドにマップします。左側の Sources パネルで Company をクリックし、それを Target パネルの company にドラッグします。

    データマッパーはソースフィールドからターゲットフィールドへの線を表示します。

  4. Sources (Salesforce) の Email フィールドを Target (database) の email フィールドにマップします。
  5. 2 つの Salesforce フィールド (FirstName および LastName) をデータベースの first_and_last_name フィールドにマップします。

    1. Target パネルで first_and_last_name をクリックし、Create New Mapping アイコンをクリックします。
    2. Mapping Details パネルの Sources フィールドで /FirstName を選択した後、/LastName を選択します。

      作業が完了したら、各ソースフィールドからターゲットフィールドへの線が表示されるはずです。

  6. 以下のマッピングを追加します。

    マッピング元の Salesforce フィールドマッピング先のデータベースフィールド

    LeadSource

    lead_source

    Status

    lead_status

    Phone

    phone

    Rating

    rating

  7. 右上の Done をクリックします。

4.3.4. インテグレーションの命名とデプロイ

Salesforce to database サンプルインテグレーションが完了したら、これをデプロイして、その動作を確認できます。

前提条件

  • インテグレーションの最初のコネクションは Salesforce です。
  • インテグレーションの最後のコネクションは Fuse Online によって提供されるサンプルデータベースへのコネクションになります。
  • インテグレーションにデータマッピングステップを追加したばかりです。

手順

  1. Fuse Online の右上にある Publish をクリックし、名前を付けます。
  2. Name フィールドに、インテグレーションの名前を入力します。例: Salesforce to Database Sample Integration
  3. Save and publish をクリックします。

    Fuse Online はインテグレーションのデプロイを開始し、この環境のインテグレーションのリストを表示します。Salesforce to database インテグレーションのエントリーには、パブリッシュステージを示す進捗インジケーターが表示されます。Fuse Online はインテグレーションのランタイムを生成し、ランタイムの準備ができると開始します。これには数分かかります。

    Fuse Online アカウントは、同時に実行可能なインテグレーションの数が制限されています。詳細は、価格プランを参照してください。インテグレーションの最大数をすでに実行している場合、別のインテグレーションの実行を開始する前にインテグレーションを停止する必要があります。

  4. すでに最大数のインテグレーションが稼働中である場合、以下のステップにしたがってインテグレーションを停止します。

    1. 左側のパネルで Integrations をクリックします。
    2. 停止するインテグレーションのエントリーで、右端の ThreeVerticalDotsKebab をクリックします。
    3. ポップアップで Stop をクリックします。
  5. インテグレーションの停止後、別のインテグレーションを以下のように起動します。

    1. 左側のパネルで Integrations をクリックします。
    2. 起動するインテグレーションのエントリーで、右端の ThreeVerticalDotsKebab をクリックします。
    3. ポップアップで Publish をクリックします。

4.4. Salesforce to database インテグレーションの動作の確認

Salesforce to database インテグレーションが動作していることを確認するには、Salesforce に新しいリードを作成し、Fuse Online が提供する web アプリケーションを開いてサンプルデータベースの更新を表示します。

前提条件

  • Fuse Online でパブリッシュ時に Salesforce to database サンプルインテグレーションに指定した名前の横に Running が表示されています。
  • Salesforce アカウントにアクセスできます。

手順

  1. 左側のパネルで Integrations をクリックします。
  2. 必要な場合は、サンプルインテグレーションが Running インテグレーションになるまで待ちます。例の名前を使用した場合は、Salesforce to Database Sample IntegrationRunning であることを確認します。
  3. Salesforce インストールで、新しいリードを作成します。マップした次のフィールドに必ずデータを入力します (CompanyEmailFirstNameLastNameLeadSourceStatusPhoneRating)。
  4. 新しいブラウザーウインドウで、Fuse Online 環境の URL の前に todo- を挿入します。例: http://todo-app-proj761432.6a63.fuse-ignite.openshiftapps.com/

    Fuse Online 環境には To Do アプリケーションがあり、これにはタスクが含まれるデータベースにアクセスするための REST API があります。AMQ から REST API へのサンプルインテグレーションのチュートリアルには、To Do アプリケーションが API クライアントコネクターを作成するための OpenAPI ドキュメントをアップロードする手順があります。

  5. To Do App 画面に、データベースに新しいリードが作成されたことを示す通知が表示されるはずです。
  6. 任意で、インテグレーションログを表示して、予期せぬ結果のトラブルシューティングや、インテグレーション実行の詳細確認を行います。

    1. Fuse Online の左パネルで Integrations をクリックします。
    2. Salesforce to database インテグレーションを表示します。
    3. インテグレーションの概要ページで Activity タブをクリックします。
    4. アクティビティー情報を表示するインテグレーションの実行をクリックします。

4.5. インテグレーションのクリーンアップ

サンプルインテグレーションの作業が完了したら、それを停止して削除し、別のインテグレーションでリソースを使用できるようにする必要があります。

前提条件

  • パブリッシュしたサンプルインテグレーションの使用を終了している必要があります。

手順

  1. Fuse Online の左パネルで Integrations をクリックします。
  2. メインパネルで、停止するサンプルインテグレーションのエントリーを特定します。
  3. そのエントリーの右側にある Kebab Menu をクリックし、Stop をクリックします。
  4. Stop をクリックし、インテグレーションの実行を停止することを確認します。
  5. 停止したインテグレーションのエントリーで、右側の Kebab Menu をクリックし、Delete をクリックします。
  6. Delete をクリックし、インテグレーションを削除することを確認します。

第5章 AMQ to REST API サンプルインテグレーションの実装

このサンプルインテグレーションは Red Hat AMQ ブローカーに接続し、仮の企業の商品配達記録を取得します。その後、インテグレーションは記録に対してカスタムステップを実行し、受領時に破損した商品を特定します。単純なデータマッピングの後に、インテグレーションは REST API に接続し、破損した商品の仕入先連絡先情報を取得します。

他のサンプルインテグレーションは Fuse Online に組み込まれているコネクターとデータオペレーションを使用します。このインテグレーションはこの他に、以下の手順で Fuse Online のカスタマイズおよび拡張を実行する指示も提供します。

  • エクステンションをアップロードしてカスタムのデータオペレーションを追加。
  • OpenAPI ドキュメントをアップロードして、カスタム REST API クライアントコネクターを追加。

Fuse Online はエクステンションファイルと OpenAPI ドキュメントを提供します。

前提条件

  • Fuse Online にログインしている必要があります。まだログインしていない場合は、「Fuse Online を初めて使用するときに想定される手順」を参照してください。
  • OpenShift Dedicated で稼働する Fuse Online 評価環境で作業しているか、インテグレーションが想定どおりに挙動することを確認する To Do アプリを提供する Fuse Online サンプルデータが管理者によって追加された OpenShift Container Platform プロジェクトで稼働している Fuse Online 環境で作業している必要があります。

AMQ to REST API サンプルインテグレーションを実装するための主なステップは次のとおりです。

5.1. AMQ コネクションの作成

AMQ to REST API サンプルインテグレーションは、OpenShift プロジェクトで提供される AMQ ブローカー (Red Hat AMQ) に接続して開始します。インテグレーション自体の作成を開始する前に、ブローカーを起動して、そのブローカーへのコネクションを作成する必要があります。

手順

  1. ブローカーが起動していることを確認します。

    1. ブラウザーで OpenShift Web コンソールに移動します。
    2. コンソールで、Project をクリックします。
    3. Overview ページの Inventory セクションで Services をクリックします。
    4. broker-amq-tcp をクリックした後、Pods をクリックします。Pod の状態は Running である必要があります。
  2. AMQ コネクションを作成します。

    1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
    2. Create Connection をクリックし、Fuse Online コネクターを表示します。
    3. Red Hat AMQ コネクターを表示します。
    4. 以下を入力してコネクションを設定します。

      1. Broker URL フィールドに、データの取得元の場所として tcp://broker-amq-tcp:61616 を入力します。
      2. User name フィールドに、この AMQ ブローカーにアクセスするアカウントのユーザー名として amq を入力します。
      3. Password フィールドに、この AMQ ブローカーにアクセスするアカウントのパスワードとして topSecret を入力します。
      4. 他のフィールドは空白のままにします。
    5. Validate をクリックします。Fuse Online では即座にコネクションの検証が試行され、バリデーションの成功または失敗を示すメッセージが表示されます。バリデーションに失敗した場合は、入力した値を確認して再度検証を行います。
    6. バリデーションに成功したら Next をクリックします。
    7. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、Red Hat AMQ Broker 1 を入力します。
    8. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Connection to the provided Red Hat AMQ message broker. を入力します。
    9. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、Red Hat AMQ Broker 1 が利用可能であることが確認できます。

5.2. カスタムステップの準備

Fuse Online には、コネクション間のインテグレーションデータを操作する多くのステップがあります。Fuse Online に、必要とするコネクション間のステップがない場合、開発者はコネクション間のデータを操作するカスタムステップを 1 つ以上定義するエクステンションを作成できます。開発者は、エクステンションが含まれる .jar ファイルを提供します。その後、Fuse Online でエクステンションをアップロードし、インテグレーションでカスタムステップを使用できるようにします。

AMQ to REST API サンプルインテグレーションは、コネクション間のデータを操作するカスタムステップを使用し、受領時に破損した商品を特定します。

手順

  1. 新しいブラウザータブで https://github.com/syndesisio/fuse-online-sample-extension/releases を開きます。
  2. Damage Reporter エクステンションの .jar ファイルをダウンロードします。
  3. Fuse Online の左パネルで Customizations > Extensions とクリックします。
  4. Import Extension をクリックします。
  5. 点線のボックスをクリックし、エクステンションが含まれるダウンロードした .jar ファイルを選択します。Fuse Online はファイルを検証し、エクステンションの ID、名前、説明、およびタイプを抽出および表示し、エクステンションが定義するカスタムステップとして Damage Reporter を一覧表示します。
  6. Import Extension をクリックします。Fuse Online でカスタムステップが使用できるようになり、インポートされたエクステンションのリストが表示されます。

その他のリソース

エクステンションのコーディング方法およびその .jar ファイルの作成方法は、以下を参照してください。

5.3. REST API コネクターの作成

Fuse Online は、Hypertext Transfer Protocol (HTTP)/1.0 または HTTP/1.1 をサポートする REST API のコネクターを作成できます。これには、接続する REST API を記述する有効な OpenAPI 3 (または 2) ドキュメントが Fuse Online に必要です。

Fuse Online 環境には To Do アプリケーションがあり、これにはタスクが含まれるデータベースにアクセスするための REST API があります。お使いの環境には、この API の OpenAPI ドキュメントもあります。

手順

  1. Fuse Online 環境にある OpenAPI ドキュメントのコピーの URL を確認します。

    1. Fuse Online ナビゲーションパネルで Home をクリックします。
    2. URL をテキストエディターにコピーします。
    3. URL の先頭に、todo- を挿入します。
    4. URL の最後に swagger.json を追加します。
    5. https の代わりに http スキームを使用します。

      結果は次のようになります: http://todo-app-proj217402.6a63.fuse-ignite.openshiftapps.com/swagger.json

    注記

    https ではなく http を指定することで、TLS 証明書が有効でない場合にランタイムエラーが発生しないようにします。実稼働環境では、有効な証明書があり、常にセキュアな URL (https) を指定して OpenAPI ドキュメントを取得するようにします。

  2. Fuse Online ナビゲーションパネルで Customizations > API Client Connectors をクリックします。
  3. Create API Connector をクリックします。
  4. Use a URL を選択します。
  5. 入力ボックスに OpenAPI ドキュメントの URL を貼り付け、Next をクリックします。
  6. Review Actions ページで Next をクリックします。警告が表示された場合、無視しても問題ありません。
  7. 再度 Next をクリックして HTTP Basic Authentication を受け入れます。
  8. Review/Edit Connector Details ページで以下を行います。

    1. 必要に応じて、Name フィールドおよび Description フィールドの値を変更します。
    2. Host フィールドに、サービスホストの名前を入力します。たとえば、http://todo-app-proj217402.6a63.fuse-ignite.openshiftapps.com のようになります。
    3. Base URL フィールドに、サービスリクエストのホスト名の後に続く URL の一部 (/api) を入力します。
  9. Save をクリックします。

    Fuse Online に API Client Connectors が表示されます。先ほど作成した Todo App API で新しいエントリーを確認できます。

5.4. To Do アプリケーションアイコンのアップロード

インテグレーションのフローを表示するため、Fuse Online はインテグレーションが接続しているアプリケーションを識別するアイコンを表示します。Fuse Online 環境で To Do アプリケーションのアイコンが提供されます。以下の手順にしたがってアップロードします。

手順

  1. To Do アプリケーションアイコンを表示するには、以下を実行します。

    1. 新しいブラウザータブで、OpenAPI ドキュメントの URL を貼り付けます。
    2. URL の最後で、swagger.jsonimages/todo_icon.png に置き換え、Enter をクリックしてアイコンを表示します。例: http://todo-app-proj217402.6a63.fuse-ignite.openshiftapps.com/images/todo_icon.png
  2. todo_icon.png イメージを保存します。
  3. Fuse Online の API Client Connectors ページで、Todo App API のエントリーにある Details をクリックします。
  4. Connector Details ページで Base URL フィールドの下にある Edit をクリックします。
  5. デフォルトのコネクターアイコンの横にある Choose File をクリックします。
  6. todo_icon.png に移動して選択し、Open をクリックします。コネクターの詳細ページの上部付近にアイコンが表示されます。
  7. Base URL フィールドの下にある Save をクリックします。

5.5. REST API コネクションの作成

インテグレーションで REST API に接続する前に、REST API クライアントコネクターを作成し、そのコネクターを使用してコネクションを作成します。To Do アプリケーションの REST API コネクターはすでに作成済みです。ここの指示に従い、そのコネクターを使用して To Do アプリケーション REST API へのコネクションを作成します。

前提条件

  • Todo App REST API コネクターが作成されている必要があります。

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、利用できるコネクターを表示します。
  3. 先ほど作成した Todo App API コネクターをクリックします。

    Fuse Online の Host および Base Path フィールドは、コネクターの作成時に指定した OpenAPI ドキュメントから値が入力されます。

  4. Username フィールドに任意の値を入力します。このサンプルインテグレーションでは、ユーザー名およびパスワードの値は必須ですが、使用されません。
  5. Password フィールドに任意の値を入力します。
  6. Next をクリックします。
  7. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、Todo App API Client を入力します。
  8. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Connection to the provided Todo app REST API. を入力します。
  9. Save をクリックし、作成したコネクションが利用可能になったことを確認します。

5.6. AMQ to REST API サンプルインテグレーションの作成およびデプロイ

AMQ to REST API サンプルインテグレーションを作成してデプロイする場合、主なステップは次のとおりです。

前提条件

  • 提供された Red Hat AMQ ブローカーへのコネクションが作成されている必要があります。
  • 提供された Todo アプリケーションへの API クライアントコネクションが作成されている必要があります。
  • Damage Reporter ステップを提供するエクステンションをアップロードしている必要があります。

5.6.1. 最初のコネクションの選択

Fuse Online で、AMQ to REST API サンプルインテグレーションを作成するには、先に最初のコネクションを選択します。

前提条件

  • 提供された Red Hat AMQ ブローカーを起動している必要があります。
  • メッセージブローカーへのコネクションが作成されている必要があります。

手順

  1. Fuse Online で左側にある Integrations をクリックします。
  2. Create Integration をクリックします。
  3. Choose a connection ページで AMQ コネクションをクリックします。上記の例の名前を指定した場合は、Red Hat AMQ Broker 1 をクリックします。
  4. Choose an action ページで、Subscribe for messages アクションを選択し、指定したキューからメッセージを受信します。
  5. Destination name フィールドに、データを取得するキューの名前として inventoryReceived を入力します。
  6. Destination type フィールドをクリックし、Queue を選択します。
  7. 他のフィールドは空白のままにします。
  8. Next をクリックします。Fuse Online は出力データタイプを指定するよう要求します。このサンプルインテグレーションには必要ありません。
  9. Next をクリックして最初のコネクションをインテグレーションに追加します。

次のステップ

インテグレーションの実行中、Red Hat AMQ に接続すると、インテグレーションは inventoryReceived キューでメッセージを監視します。メッセージが利用可能になると、インテグレーションはそのメッセージを Damage Reporter ステップに渡します。ただし、そのステップをインテグレーションに追加するには、先にインテグレーションの最後のコネクションを選択する必要があります。

5.6.2. 最後のコネクションの選択

Fuse Online で AMQ to REST API サンプルインテグレーションの作成を続けるには、最初のコネクションを追加した後、最後のコネクションをインテグレーションに追加します。

前提条件

  • 提供された OpenAPI ドキュメントをアップロードし、Todo App API コネクターを作成している必要があります。
  • Todo App API コネクターを使用して Todo App API コネクションを作成している必要があります。

手順

  1. Fuse Online の Choose a connection ページで、作成した To Do アプリケーションコネクションをクリックします。上記の例の名前を割り当てた場合は、Todo App API Client をクリックします。
  2. Choose an action ページで Create new task を選択します。これは、特定の破損商品に対処するための連絡先情報を提供します。
  3. Next をクリックして最後のコネクションをインテグレーションに追加します。

5.6.3. Damage Reporter ステップの追加

最初および最後のコネクションがある場合、 Red Hat AMQ ブローカーからメッセージを受信し、受領時に破損した商品を特定するカスタムステップを追加することができます。

前提条件

  • Damage Reporter カスタムステップを提供するエクステンションをアップロードしている必要があります。
  • 最初のコネクションおよび最後のコネクションをインテグレーションに追加済みである必要があります。

手順

  1. Fuse Online のインテグレーションビジュアライゼーションで、プラス記号をクリックします。
  2. Damage Reporter をクリックします。
  3. Next をクリックして Damage Reporter ステップをインテグレーションに追加します。

5.6.4. データマッピングステップの追加

AMQ to REST API サンプルインテグレーションの作成を続けるには、データマッピングステップを追加する必要があります。この手順により、Damage Reporter ステップの出力の task フィールドを、REST API がアクセスするデータベースの task フィールドと関連付けます。

前提条件

  • Damage Reporter ステップをインテグレーションに追加済みである必要があります。

手順

  1. Fuse Online のインテグレーションビジュアライゼーションで、Damage Reporter ステップと最後のコネクションの間にあるプラス記号をクリックします。
  2. Data Mapper をクリックします。データマッパーで、左側の Source パネルに Damage Reporter ステップの出力のフィールドが表示されます。右側の Target パネルに、API がアクセスするデータベースのフィールドが表示されます。
  3. Source パネルで task フィールドをクリックした後、Create New Mapping アイコンをクリックします。

    Mapping Details パネルが表示されます。

  4. Mapping Details ターゲットパネルの Targets で、/body/task を選択します。
  5. 右上の Done をクリックします。

結果

インテグレーションが完了し、パブリッシュできる状態になります。左側のインテグレーションビジュアライゼーションパネルに、 warning データタイプ不一致警告アイコンが表示されることがあります。無視しても問題ありません。

5.6.5. インテグレーションの命名とデプロイ

AMQ to REST API サンプルインテグレーションは、Red Hat AMQ の最初のコネクション、Damage Reporter ステップ、データマッパーステップ、および最後に Todo App Client API コネクションがある場合に完了します。ここの指示に従ってデプロイします。

前提条件

  • 最初のコネクションおよび最後のコネクションをインテグレーションに追加済みである必要があります。
  • 最初と最後のコネクションの間に Damager Reporter ステップを追加済みである必要があります。
  • Damage Reporter ステップと、Todo App API へのコネクションの間にデータマッパーステップを追加済みである必要があります。

手順

  1. Fuse Online の右上の Publish をクリックします。
  2. Name フィールドに、インテグレーションの名前を入力します。例: AMQ to REST API Sample Integration
  3. 任意で、Description フィールドに、このインテグレーションに関する便利な情報を入力します。
  4. 右上の Save and publish をクリックします。

    Fuse Online はインテグレーションのデプロイを開始し、この環境のインテグレーションのリストを表示します。AMQ to REST API インテグレーションのエントリーに、パブリッシュステージを示す進捗インジケーターが表示されます。Fuse Online はインテグレーションのランタイムを生成し、ランタイムの準備ができると開始します。これには数分かかります。

    Fuse Online アカウントは、同時に実行可能なインテグレーションの数が制限されています。詳細は、価格プランを参照してください。インテグレーションの最大数をすでに実行している場合、別のインテグレーションの実行を開始する前にインテグレーションを停止する必要があります。

  5. すでに最大数のインテグレーションが稼働中である場合、以下のステップにしたがってインテグレーションを停止します。

    1. 左側のパネルで Integrations をクリックします。
    2. 停止するインテグレーションのエントリーで、右端の ThreeVerticalDotsKebab をクリックします。
    3. ポップアップで Stop をクリックします。
  6. インテグレーションの停止後、別のインテグレーションを以下のように起動します。

    1. 左側のパネルで Integrations をクリックします。
    2. 起動するインテグレーションのエントリーで、右端の ThreeVerticalDotsKebab をクリックします。
    3. ポップアップで Start をクリックします。

5.7. AMQ to REST API インテグレーションの動作を確認

AMQ to REST API サンプルインテグレーションを作成し、パブリッシュした後、定義されたとおりに動作していることを確認できます。

前提条件

Fuse Online のインテグレーションのリストで、作成およびデプロイ済みの AMQ to REST API インテグレーションの横に Running が表示されています。

手順

  1. 新しいブラウザーウインドウで、Fuse Online 環境の URL の前に todo- を挿入して、To Do アプリケーション画面に移動します。例: http://todo-app-proj761432.6a63.fuse-ignite.openshiftapps.com/
  2. To Do アプリケーション画面で Show JMS Form をクリックし、XML メッセージを含む入力ボックスを表示します。
  3. Send JMS Message をクリックし、そのメッセージを OpenShift プロジェクトの Red Hat AMQ ブローカーに送信します。

    実行に成功すると、To Do アプリケーションクライアント API からタスクが返されます。このタスクによって、破損した製品の IDの と仕入先連絡情報が特定されます。タスクがしばらく表示されない場合は、ページをリロードしてください。

  4. 次のようにXML メッセージを編集して、破損した商品を 2 つ指定します。

    1. Show JMS Form をクリックし、メッセージの入力ボックスを再度表示します。
    2. XML メッセージで、破損していない商品のエントリーを変更して damaged="true" を指定します。
    3. Send JMS Message をクリックします。To Do アプリケーションクライアント API は、破損した 2 つの商品の ID と 2 つの仕入先の連絡先情報が含まれる新しいタスクを返します。
  5. 次のようにXML メッセージを編集して、独自の ID を指定します。

    1. Show JMS Form をクリックします。
    2. XML メッセージで、damaged="true" が指定された商品のアイテム ID を変更します。たとえば 1234 に変更します。
    3. Send JMS Message をクリックします。To Do アプリケーションクライアント API は、入力したアイテム ID が含まれる新しいタスクを返します。
  6. 任意で、インテグレーションログを表示して、予期せぬ結果のトラブルシューティングや、インテグレーション実行の詳細確認を行います。

    1. Fuse Online の左パネルで Integrations をクリックします。
    2. AMQ to REST API インテグレーションのエントリーを表示します。
    3. インテグレーションの概要ページで Activity タブをクリックします。
    4. アクティビティー情報を表示するインテグレーションの実行をクリックします。

5.8. インテグレーションのクリーンアップ

サンプルインテグレーションの作業が完了したら、それを停止して削除し、別のインテグレーションでリソースを使用できるようにする必要があります。

前提条件

  • パブリッシュしたサンプルインテグレーションの使用を終了している必要があります。

手順

  1. Fuse Online の左パネルで Integrations をクリックします。
  2. メインパネルで、停止するサンプルインテグレーションのエントリーを特定します。
  3. そのエントリーの右側にある Kebab Menu をクリックし、Stop をクリックします。
  4. Stop をクリックし、インテグレーションの実行を停止することを確認します。
  5. 停止したインテグレーションのエントリーで、右側の Kebab Menu をクリックし、Delete をクリックします。
  6. Delete をクリックし、インテグレーションを削除することを確認します。

法律上の通知

Copyright © 2021 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA").An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/.In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent.Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission.We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
Amazon Web Services®, the Powered by AWS logo, and the icon used for DynamoDB identification are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.'
All other trademarks are the property of their respective owners.