第2章 Fuse Online
Fuse Online は、コードを作成せずに複数の異なるアプリケーションやサービスの統合を可能にする Web ブラウザーインターフェースを提供します。また、複雑なユースケースで必要な場合にコードを追加できる機能も提供します。
Fuse Online では、OpenShift のインテグレーションは Apache Camel を使用する Spring Boot として実行されます。Camel K はテクノロジープレビューの機能であるため、追加のランタイムとして使用できます。
2.1. Fuse Online ディストリビューション
Fuse Online は Red Hat の Web ベースのインテグレーションプラットフォームです。Syndesis は Fuse Online のオープンソースプロジェクトです。Fuse Online は以下のような OpenShift 環境で実行されます。
ホスト環境 | インストール |
OpenShift Online | Red Hat が Red Hat インフラストラクチャーに Fuse Online をインストールし、提供します。 |
OpenShift Container Platform | お客様がインストールし、管理します。 |
2.2. Fuse Online 7.3 の新機能
Fuse Online 7.3 は以下の新機能を提供します。
API プロバイダーインテグレーション がサポートされるようになりました。このインテグレーションは、これまでのリリースではテクノロジープレビューでした。API プロバイダーインテグレーションは、OpenAPI スキーマを提供した REST API サービスをパブリッシュします。REST API クライアントからの呼び出しによって、API プロバイダーインテグレーションの実行がトリガーされます。
API プロバイダーインテグレーションでないインテグレーションは、シンプルなインテグレーションと呼ばれるようになりました。
以下に対して新しいコネクターが提供されます。
Google Sheets へのコネクションは、スプレッドシートデータやスプレッドシートプロパティーの返送、スプレッドシート値やプロパティーの更新、またはスプレッドシートへのチャートまたはピボットテーブルの挿入を行うことができます。
Apache Kudu は Apache Hadoop プラットフォーム向けに開発された列指向ストレージです。Fuse Online のインテグレーションは Kudu データストアに接続してテーブルをスキャンでき、テーブルのすべてのレコードをインテグレーションに返すか、レコードをテーブルに挿入します。
- テキストベースの Internet Relay Chat に接続してメッセージを送受信する IRC コネクターがサポートされるようになりました。これは、これまでのリリースではテクノロジープレビューの機能でした。
インテグレーションのコレクションを処理するサポートには、以下の新機能が含まれます。
- データマッパーの手順では、プリミティブ型のコレクションをマップ先またはマップ元とすることができ、複雑なコレクションにあるフィールドをマップ元またはマップ先とすることができるようになりました。実行中、データマッパーはソースコレクションを反復処理し、ターゲットにデータを追加します。
新しい スプリットステップ (split step) はコレクションを個別の要素に分割します。インテグレーションは、後続のステップを各要素に対して 1 度処理します。コレクションがコネクションから以下のサービスの 1 つに返されると、スプリットステップはコレクションを分割できます。
- Amazon S3
- Google スプレッドシート
- Kudu
- OData
- ServiceNow
- SQL データベース
- 集約ステップ (aggregate step) は新しいステップで、要素を結合してコレクションにし、コレクションをフローの次のステップに渡します。インテグレーションは、後続のステップをコレクションに対して 1 度実行します。スプリットステップをフローに追加してから、集約ステップを追加する必要があります。集約ステップの後、通常はインテグレーションにデータマッパーステップ (data mapper step) が必要です。集約ステップの出力コレクションは、Google Sheets コネクションのみへ直接入力 (データマッパーステップに干渉しない) できます。
- テンプレートステップ (template step) では、Fuse Online は Freemarker、Velocity、および Mustache テンプレートをサポートするようになりました。
Fuse Online を OpenShift Container Platform (OCP) にてオンプレミスで実行している場合、以下の新機能を使用できます。
- CI/CD (Continuous Integration/Continuous Deployment) パイプラインのインテグレーションをマーク付けする。
- 外部ツールが使用するために Fuse Online のパブリック API を公開する。
-
Ansible、Jenkins、
cron
ジョブなどの外部ツールを使用して、CI/CD パイプラインで インテグレーションをエクスポートおよびインポートする。 - Fuse Online から OpenShift アカウントへの アクセス承認を要求するページをユーザーが迂回するように OpenShift を設定する。
2.3. Fuse Online 7.3 での変更点
Fuse Online 7.3 では 7.2 の機能が以下のように変更されました。
これまでのリリースでは、以下のサービスの 1 つへの接続がコレクションを返すと、Fuse Online は返されたコレクションを個別の要素に分割し、後続のインテグレーションステップを各要素に対して 1 度実行しました。
- Amazon S3
- SQL データベース
- ServiceNow
Fuse Online 7.3 では、これらのコネクションは、以下に入力できるコレクションを返すようになりました。
- データマッパーステップ。プリミティブ型のコレクションをマップ先またはマップ元としたり、複雑なコレクションのフィールドをマップ先またはマップ元とすることができます。
- 7.3 で新規導入された、スプリットステップ。
既存のインテグレーションおよびインポートしたインテグレーションでの動作を保持するため、Fuse Online はコネクションの 1 つの後に、新しい 7.3 でのスプリットステップを自動的にインテグレーションに追加します。これは、Fuse Online 7.3 へのアップグレードの一部として行われるか、7.2 のインテグレーションを Fuse Online 7.3 の環境にインポートするときに行われます。
インテグレーションをコレクションで操作するには、アップグレードされたインテグレーションを編集し、スプリットステップを削除します。ほとんどの場合で、データマッパーステップの追加や再設定も必要になります。
詳細は、「How to process a collection in a flow」を参照してください。
以下の 1 つが、コレクションとして指定されたデータを返した場合にそのコレクションをデータマッパーステップでマップすることができるようになりました。
- API プロバイダーインテグレーション
- AMQP メッセージブローカーコネクション
- HTTP/HTTPS コネクション
- Red Hat AMQ コネクション
- Webhook コネクション
入力がコレクションとして指定されている場合に、データマッパーステップがコレクションを以下への入力として提供できるようになりました。
- API プロバイダーインテグレーションの戻りパス。これは、各 API プロバイダーインテグレーションの操作フローの最後のステップになります。
- メッセージをパブリッシュする AMQP メッセージブローカーコネクション。
- コンテンツを格納、更新、または削除する HTTP/HTTPS コネクション。
- メッセージをパブリッシュする Red Hat AMQ コネクション。
ログステップ をシンプルなインテグレーションの最後のコネクションとして追加したり、実行フローの途中に追加することができるようになりました。ログコネクションは、インテグレーションに追加できないようになり、本リリースで非推奨となりました。ログコネクションは今後のリリースで削除される予定です。
7.3 へのアップグレード後、フローにログコネクションがある稼働中のインテグレーションは継続して実行されます。フローの準備ができているログコネクションは編集することができ、ログコネクションがあるインテグレーションは編集およびパブリッシュすることができます。本リリースではインテグレーションからログコネクションを削除する必要はありませんが、最終的に削除する必要があります。インテグレーションの編集時にログコネクションをログステップに変更してください。インテグレーションの可視化フローで、ログステップを追加したい部分のプラスマークをクリックします。Fuse Online がステップの選択を要求したら、Log をクリックします。
ログステップは、ログコネクションによって提供されたすべてのロギングを提供しません。
- ログステップは各メッセージの ID をログに記録できません。(内部的には、この ID は交換 ID です)。
-
ログステップでは、ログに記録するメッセージのログレベル (
ERROR
、WARN
、INFO
、DEBUG
、TRACE
) を指定できません。
-
API プロバイダーインテグレーションでは、
SELECT
ステートメントを実行する SQL データベースのコネクションは結果セットが含まれるコレクションを返すようになりました。これまでのリリースでは、コネクションは結果セットの最初の記録のみを返しました。 -
これまでのリリースでは、テンプレートステップをインテグレーションに追加するときに、テンプレートの各プレースホルダーの前に
body.
を追加する必要がありました。この作業は必要ではなくなり、プレースホルダーに.
を使用することができなくなりました。プレースホルダーに.
を指定すると、エディターに構文エラーが表示されます。 -
オンプレミスにて OCP 上で Fuse Online を実行している場合、Fuse Online をインストールまたはアップグレードするスクリプトの実行に新しい要件が追加されました。https://developers.redhat.com のアカウントが必要で、
https://developers.redhat.com
のユーザー名とパスワードを覚えている必要があります。スクリプトはクレデンシャルを要求します。アカウントの作成に関する詳細は、「Red Hat レジストリーへのアクセスおよびその設定」を参照してください。
2.4. OpenShift Online で実行されている既存インテグレーションのアップグレード
Fuse 7.3 のリリース時、OpenShift Online の Fuse Online インフラストラクチャーは自動的にアップグレードされます。インフラストラクチャーのアップグレード中、OpenShift Online で実行されている既存のインテグレーションはすべてアップグレード中およびアップグレード後の実行が継続されます。しかし、既存のインテグレーションは古いバージョンの Fuse ライブラリーおよび依存関係で実行を継続します。
Fuse Online のインフラストラクチャーが新しいリリースにアップグレードされたことを知らせる電子メールのメッセージを受け取った後、既存のインテグレーションを再パブリッシュ (再起動だけではなく) してアップグレードします。これはできるだけ早期に行ってください。
Fuse Online 環境でインテグレーションを再パブリッシュするには、左側のナビゲーションパネルで Integrations をクリックします。その後、インテグレーションごとに以下を行います。
- インテグレーションエントリーの右側で をクリックし、Edit を選択します。
- Fuse Online で編集するインテグレーションが表示されたら、右上の Publish をクリックします。
パブリッシュを行うと、最新の Fuse Online 依存関係を使用して再ビルドが強制されます。
インテグテーションの要素に、更新の必要がある新しい依存関係がある場合、Fuse Online ユーザーインターフェースに警告が表示されます。
2.5. 重要事項
Fuse Online ディストリビューションの Fuse 7.3 リリースにおける重要事項
- Fuse Online アカウントは、同時に実行可能なインテグレーションの数が制限されています。詳細は、価格プランを参照してください。Fuse Online の評価版のアカウントをご使用の場合は、1 度に 1 つのインテグレーションのみを実行できます。
- Fuse Online にアップロードする OpenAPI スキーマに出入力タイプが定義されていないことがあります。Fuse Online が出入力タイプを指定しない OpenAPI からカスタム API クライアントを作成した場合、API クライアントが処理できるフィールドにインテグレーションデータをマップするインテグレーションや、API クライアントが処理したフィールドから統合データをマップするインテグレーションを作成できません。インテグレーションにカスタム API を起点または終点とするマッピングが必要な場合、OpenAPI スキーマをアップロードするときに Review/Edit をクリックして API デザインツールの Apicurio を開き、出入力タイプの仕様を追加します。
- カスタム API クライアントコネクターまたは API プロバイダーインテグレーションに使用する OpenAPI ドキュメントは、循環スキーマ参照を持つことができません。たとえば、リクエストまたは応答ボディーを指定する JSON スキーマは、そのスキーマ自体を全体的に参照することはできず、任意数の中間スキーマを介してそれ自体を部分的に参照することもできません。
2.6. テクニカルサポートの利用
テクニカルサポートを受けるには、Fuse Online の右上にある をクリックし、Support をクリックして Fuse Online サポートページを表示します。このページを使用して、すべてのインテグレーションまたは指定したインテグレーションの診断情報をダウンロードします。このページでサポートチケットの作成手順やダウンロードした診断情報の提供手順を確認できます。
2.7. テクノロジープレビューの機能
本リリースには、以下に示すテクノロジープレビュー機能が含まれています。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。
以下に対するコネクターです。
- Camel K は追加のランタイムとして使用できます。詳細は、『Integrating Applications with Fuse Online』の「Enabling Apache Camel K to speed up Fuse Online deployments on OCP」を参照してください。
OAuth を使用する REST API クライアントでは、API クライアントコネクターの作成時に、そのコネクターから作成するコネクションのデフォルト OAuth2 の動作を変更することができます。OpenAPI 仕様への Fuse Online ベンダーエクステンションは以下をサポートします。
- クライアントクレデンシャルをパラメーターとして提供。
- HTTP レスポンスステータスコードを基にした新しいアクセストークンの取得。