第1章 Fuse Online の概要
Fuse Online では、アプリケーションやサービスからのデータを取得し、必要な場合はそのデータで操作することができます。さらに、データを全く異なるアプリケーションやサービスに送信することもできます。そのためにコーディングは必要ありません。
Fuse Online の概要は以下のトピックで取り上げます。
1.1. Fuse Online の仕組み
Fuse Online は、コードを作成せずに複数の異なるアプリケーションやサービスの統合を可能にする Web ブラウザーインターフェースを提供します。また、複雑なユースケースで必要な場合にコードを導入できる機能も提供します。
Fuse Online では、異なるアプリケーション間でのデータ転送を有効にできます。たとえば、ビジネスアナリストは Fuse Online を使用して、お客様がメンションされているツイートをキャプチャーし、Twitter から取得したデータを利用して Salesforce アカウントを更新できます。別の例として、株式取引の提案を行うサービスが挙げられます。Fuse Online を使用すると、対象株式の売買に関する提案をキャプチャーし、この提案を株式移転を自動化するサービスに転送することができます。
シンプルなインテグレーションを作成および実行するため主なステップは次のとおりです。
- 統合する各アプリケーションへのコネクションを作成します。
最初のコネクションを選択します。これは、別のアプリケーションと共有するデータが含まれるアプリケーションへのコネクションです。
または、HTTP リクエストを受け入れるタイマーまたは Webhook でインテグレーションを開始できます。
- 最後のコネクションを選択します。これは、最初のコネクションからデータを受け取ってインテグレーションを完了するアプリケーションへのコネクションです。
- 最初のコネクションのデータフィールドを最後のコネクションのデータフィールドにマップします。
- インテグレーションに名前を付けます。
- Publish をクリックし、インテグレーションの実行を開始します。
この他のインテグレーションの 1 つに API プロバイダーインテグレーションがあります。API プロバイダーインテグレーションでは、REST API クライアントはインテグレーションの実行をトリガーするコマンドを呼び出しできます。API プロバイダーインテグレーションを作成および実行するには、OpenAPI 2.0 ドキュメントを Fuse Online にアップロードします。このドキュメントは、クライアントが呼び出しできるオペレーションを指定します。オペレーションを実行する、コネクションやステップ (データマッパーステップやフィルターステップなど) のフローを、各オペレーションに対して指定および設定します。シンプルなインテグレーションごとに 1 つのプライマリーフローがあります。API プロバイダーインテグレーションの場合は、オペレーションごとに 1 つのプライマリーフローがあります。
Fuse Online のダッシュボードでは、インテグレーションを監視および管理できます。実行しているインテグレーションを確認でき、インテグレーションを開始、停止、および編集できます。
1.2. Fuse Online の対象ユーザー
Fuse Online の対象ユーザーは、異なるアプリケーション間でデータを共有するためにコードを作成したくないビジネスユーザー (財務、人事、マーケティングなどの関係者) です。このようなユーザーは、さまざまな SaaS (Software-as-a-Service) を使用することにより、ビジネス要件、ワークフロー、および関連データについて理解します。
ビジネスユーザーは Fuse Online を使用して以下を行うことができます。
- 所属企業の名前がメンションされたツイートをキャプチャーし、それが知らないソースからのツイートである場合は Salesforce 環境で新しい連絡先を作成します。
- Salesforce のリード更新を特定し、SQL ストアドプロシージャーを実行して、関連するデータベースを最新の状態に維持します。
- AMQ ブローカーが受け取るオーダーをサブスクライブし、カスタム API でこれらのオーダーを操作します。
- Amazon S3 バケットからデータを取得し、Dropbox フォルダーに追加します。
これは、ビジネスユーザーがコードを作成せずに行える例の一部です。
1.3. Fuse Online を使用する利点
Fuse Online には多くの利点があります。
- コードを作成せずに異なるアプリケーションやサービスからデータを統合します。
- パブリッククラウドの OpenShift Online や、オンサイトの OpenShift Container Platform でインテグレーションを実行できます。
- ビジュアルデータマッパーを使用して、あるアプリケーションのデータフィールドを別のアプリケーションのデータフィールドにマップします。
- オープンソースソフトウェアの利点をすべて活用します。機能の拡張やインターフェースのカスタマイズが可能です。統合するアプリケーションやサービスのコネクターを Fuse Online が提供しない場合は、開発者が必要なコネクターを作成できます。
1.4. Fuse Online コンストラクトの説明
Fuse Online を使用するには、コネクター、コネクション、アクション、ステップ、およびフローを使用してインテグレーションを作成します。これらのコンストラクトの基本を理解すると便利です。
Fuse Online の各インストールは Fuse Online 環境と呼ばれます。Red Hat が Fuse Online 環境をインストールおよび管理する場合、OpenShift Online または OpenShift Dedicated 上で実行されます。ユーザーが Fuse Online 環境をインストールおよび管理する場合、通常は OpenShift Container Platform で実行されますが、OpenShift Dedicated で実行することもできます。
インテグレーション
Fuse Online には、シンプルなインテグレーションと API プロバイダーインテグレーションがあります。
シンプルなインテグレーションは、Fuse Online が実行する順序付けされたステップです。これには、以下が含まれます。
- アプリケーションに接続し、インテグレーションを開始するステップ。このコネクションは、インテグレーションが操作する初期データを提供します。後続のコネクションは追加のデータを提供できます。
- アプリケーションに接続し、インテグレーションを完了するためのステップ。このコネクションは、以前のステップから出力されたデータをすべて受け取り、インテグレーションを終了します。
最初と最後のコネクションの間にアプリケーションに接続する任意の追加ステップ。追加のコネクションがどのインテグレーションステップにあるかによって、追加のコネクションは以下のいずれかまたはすべてを実行できます。
- 操作するインテグレーションの追加データを提供します。
- インテグレーションデータを処理します。
- 処理結果をインテグレーションに出力します。
- コネクションとアプリケーション間のデータで操作する任意のステップ。通常、前のコネクションのデータフィールドを次のコネクションが使用するデータフィールドにマップするステップがあります。
API プロバイダーインテグレーションは、OpenAPI スキーマを提供した REST API サービスをパブリッシュします。REST API クライアントからの呼び出しによって、API プロバイダーインテグレーションの実行がトリガーされます。呼び出しは、REST API が実装するすべてのオペレーションを呼び出すことができます。シンプルなインテグレーションには実行のプライマリーフローが 1 つあります。API プロバイダーインテグレーションの場合は、オペレーションごとに 1 つのプライマリーフローがあります。各オペレーションフローは、インテグレーションの作成時にそのオペレーションのフローに追加したステップに応じて、アプリケーションに接続し、データを処理します。各オペレーションフローは、呼び出しがインテグレーションの実行をトリガーしたクライアントに指定する応答を返して終了します。
コネクター
Fuse Online はコネクターのセットを提供します。コネクターは、データの取得元また送信先となる特定のアプリケーションを示します。各コネクターは、その特定のアプリケーションへのコネクションを作成するためのテンプレートです。たとえば、Salesforce コネクターを使用して、Salesforce へのコネクションを作成します。
接続するアプリケーションは、OAuth プロトコルを使用してユーザーを認証することがあります。この場合、Fuse Online 環境をそのアプリケーションにアクセスできるクライアントとして登録します。登録は、アプリケーションのコネクターに関連付けられます。OAuth を使用する各アプリケーションに 1 度だけ特定の Fuse Online 環境を登録する必要があります。登録は、コネクターから作成する各コネクションまで適用されます。
Fuse Online が必要なコネクターを提供しない場合、開発者が必要なコネクターを作成できます。
コネクション
インテグレーションを作成する前に、データの取得元また送信先となる各アプリケーションまたはサービスへのコネクションを作成する必要があります。コネクションを作成するには、コネクターを選択して、設定情報を追加します。たとえば、インテグレーションで AMQ ブローカーに接続するには、AMQ コネクターを選択してコネクションを作成し、プロンプトにしたがって接続するブローカーと、コネクションに使用するアカウントを特定します。
コネクションは、作成されたコネクターの特定のインスタンスの 1 つです。1 つのコネクターから複数のコネクションを作成できます。たとえば、AMQ コネクターを使用して、各コネクションが異なるブローカーにアクセスする 3 つの AMQ コネクションを作成できます。
シンプルなインテグレーションを作成するには、インテグレーションを開始するコネクションとインテグレーションを終了するコネクションを選択します。また任意で、追加のアプリケーションにアクセスするためのコネクションを 1 つ以上選択します。各オペレーションフローに 1 つ以上のコネクションを追加して API プロバイダーインテグレーションを作成できます。任意の数のインテグレーションおよびオペレーションフローが同じコネクションを使用できます。特定のインテグレーションまたはフローは、同じコネクションを複数回使用できます。
詳細は「アプリケーションへの接続」を参照してください。
アクション
インテグレーションでは、各コネクションは必ず 1 つのアクションを実行します。インテグレーションの作成時に、フローに追加するコネクションを選択し、コネクションが実行するアクションを選択します。たとえば、Salesforce コネクションをフローに追加するときに、Salesforce アカウントの作成、Salesforce アカウントの更新、および Salesforce の検索が含まれ、それに限定されないアクションのセットから選択します。
一部のアクションには追加の設定が必要で、Fuse Online は必要な情報を要求します。
ステップ
シンプルなインテグレーションは、順序付けされたステップのセットです。API プロバイダーインテグレーションでは、各オペレーションフローが順序付けされたステップのセットになります。
各ステップはデータで操作します。ステップによっては、Fuse Online 外部のアプリケーションまたはサービスに接続しながらデータ上で操作するものもあります。これらのステップはコネクションです。コネクションの間に、Fuse Online のデータで操作する他のステップがある場合があります。通常、ステップのセットには、前のコネクションで使用されたデータフィールドをフローの次のコネクションで使用されるデータフィールドにマップするステップが含まれます。シンプルなインテグレーションの最初のコネクション以外では、各ステップは前のステップから受け取るデータで操作します。
Fuse Online は、コネクションの間でデータを操作するため、以下を行うステップを提供します。
- あるアプリケーションのデータフィールドを別のアプリケーションのデータフィールドにマップします。
- データをフィルターし、処理中のデータがユーザー定義の基準と合ったときのみインテグレーションが継続されるようにします。
- レコードのコレクションを個別のレコードに分割して、Fuse Online が各レコードに対して 1 度後続のステップをイテレーティブに実行するようにします。
- 個別のレコードをコレクションに集計し、Fuse Online がコレクションに対して 1 度後続のステップを実行するようにします。
- Freemaker、Mustache、または Velocity テンプレートにデータを挿入して、同等で一貫性のある出力を生成します。
- Fuse Online が自動的に提供するデフォルトのログ以外の情報をログに記録します。
カスタムステップを提供するエクステンションをアップロードすると、Fuse Online に組み込まれない方法でコネクションの間のデータを操作できます。「エクステンションの開発」を参照してください。
フロー
フローは、インテグレーションが実行する順序付けされたステップのセットです。
シンプルなインテグレーションには、1 つのプライマリーフローがあります。API プロバイダーインテグレーションの場合は、REST API が定義するオペレーションごとに 1 つのプライマリーフローがあります。各オペレーションのプライマリーフローは、そのオペレーションの呼び出しを処理するステップのセットです。
プライマリーフローには条件付きフローを追加できます。インテグレーションは、指定した条件を評価し、関連付けられたフローを実行するかどうかを決定します。
フローでは、各ステップは前のステップから出力されたデータで操作できます。フローに必要なステップを判断するには、「インテグレーションの計画」を参照してください。