Chapter 2. Fuse Online
Fuse Online provides a web browser interface that lets a business expert integrate two or more different applications or services without writing code. It also provides features that allow the addition of code if it is needed for complex use cases.
Fuse Online runs an integration on OpenShift as a Spring Boot application that uses Apache Camel. As a Technology Preview feature, Camel K is available as an additional runtime.
2.1. About Fuse Online distributions
Fuse Online is Red Hat’s web-based integration platform. Syndesis is the open source project for Fuse Online. Fuse Online runs in these OpenShift environments:
Red Hat installs and provisions Fuse Online on Red Hat infrastructure.
OpenShift Container Platform
Customer installs and manages.
2.2. New features in Fuse Online 7.3
Fuse Online 7.3 provides the following new features:
API provider integrations are now supported. This type of integration was a Technology Preview feature in the previous release. An API provider integration publishes a REST API service for which you provided an OpenAPI schema. A call from a REST API client triggers execution of an API provider integration.
An integration that is not an API provider integration is now referred to as a simple integration.
There are new connectors for:
A connection to Google Sheets can return spreadsheet data or spreadsheet properties, update spreadsheet values or properties, or insert a chart or pivot table into a spreadsheet.
Apache Kudu is a columnar storage manager developed for the Apache Hadoop platform. A Fuse Online integration can connect to a Kudu data store to scan a table, which returns all records in the table to the integration, or to insert records into a table.
- The IRC connector, which connects to text-based Internet Relay Chat to receive and send messages, is now supported. It was a Technology Preview feature in the previous release.
Support for processing collections in an integration includes the following new features:
- In a data mapper step, you can now map from/to a collection of primitive types and you can map from/to the fields that are in a complex collection. During execution, the data mapper iterates over the source collection to populate the target.
The new split step divides a collection into separate elements. The integration processes subsequent steps once for each element. When a collection is returned from a connection to one of the following services, the split step can separate the collection:
- Amazon S3
- Google Sheets
- SQL database
- The new aggregate step joins elements into a collection and passes the collection to the next step in the flow. The integration executes subsequent steps once for the collection. You must add a split step to a flow before you can add an aggregate step. After an aggregate step, an integration typically requires a data mapper step. An aggregate step’s output collection can be direct input (without an intervening data mapper step) to only a Google Sheets connection.
- In a template step, Fuse Online now supports Freemarker and Velocity templates, as well as Mustache templates.
When you are running Fuse Online on OpenShift Container Platform (OCP) on premise, the following new features are available:
- Mark an integration for a Continuous Integration/Continuous Deployment (CI/CD) pipeline.
- Expose the Fuse Online public API for use by external tools.
Use external tools, such as Ansible, Jenkins, a
cronjob, to export and import integrations in CI/CD pipelines.
- Configure OpenShift so that users bypass the page that prompts them to authorize access from Fuse Online to their OpenShift account.
2.3. Changes in Fuse Online 7.3
Fuse Online 7.3 changes 7.2 features as follows:
In previous releases, when a connection to one of the following services returned a collection, Fuse Online split the returned collection into separate elements and executed subsequent integration steps once for each element:
- Amazon S3
- SQL databases
In Fuse Online 7.3, these connections now return a collection that can be input to
- A data mapper step. You can map to/from a collection of primitives, or to/from the fields in a complex collection.
- A split step, which is new in 7.3.
To preserve behavior in existing and imported integrations, Fuse Online automatically adds the new 7.3 split step to an integration after one of these connections. This happens as part of the upgrade to Fuse Online 7.3, or when you import a 7.2 integration into a Fuse Online 7.3 environment.
If you want the integration to operate on the collection, edit the upgraded integration to remove the split step. In most cases, you also need to add or reconfigure a data mapper step.
For details, see How to process a collection in a flow.
When one of the following returns data that is specified as a collection, you can now map that collection in a data mapper step:
- API provider integrations
- AMQP Message Broker connection
- HTTP/HTTPS connection
- Red Hat AMQ connection
- Webhook connection
A data mapper step can now provide a collection as input to the following when their input is specified as a collection:
- API provider integration return paths. This is the last step in each API provider integration operation flow.
- AMQP Message Broker connections that publish messages.
- HTTP/HTTPS connections that store, update or remove content.
- Red Hat AMQ connections that publish messages.
You can now add a log step as a simple integration’s finish connection, as well as in the middle of an execution flow. Log connections are no longer available to be added to integrations. They are deprecated in this release and it is expected that they will be removed in a future release.
After an upgrade to 7.3, a running integration that has a log connection in its flow continues to run. You can edit a log connection that is already in a flow and you can edit and publish an integration that has a log connection. While you do not need to remove log connections from integrations in this release, you should plan to do so eventually. Replace a log connection with a log step when you are editing an integration. In the integration’s visualization flow, click the plus sign where you want to add a log step. When Fuse Online prompts you to choose a step, click Log.
A log step does not provide all logging that was provided by a log connection:
- A log step cannot log the ID of each message. (Internally, this ID is the exchange ID.)
A log step does not let you specify the level (
TRACE) of messages that you want to log.
In an API provider integration, a connection to a SQL database that executes a
SELECTstatement now returns a collection that contains the result set. In the previous release, the connection returned only the first record in the result set.
In the previous release, when you added a template step to an integration, you were required to prefix each placeholder in the template with
body.. This is no longer necessary, and
.in a placeholder is not allowed. The editor displays a syntax error if you specify
.in a placeholder.
If you are running Fuse Online on OCP on premise, there is a new prerequisite for running the script that installs or upgrades Fuse Online. You must have an account for https://developers.redhat.com and you must know your user name and password for
https://developers.redhat.com. The script prompts you for your credentials. For details about creating an account, see Accessing and Configuring the Red Hat Registry.
2.4. Upgrading existing integrations that are running on OpenShift Online
When Fuse 7.3 is released, the Fuse Online infrastructure on OpenShift Online is automatically upgraded. During the infrastructure upgrade, any existing integrations that are running on OpenShift Online continue to run both during and after the upgrade. However, the existing integrations continue to run with the older versions of Fuse libraries and dependencies.
After you receive an email message that lets you know that the Fuse Online infrastructure has been upgraded to the new release, upgrade your existing integrations by republishing them (not just restarting them). Do this as soon as you can.
To republish your integrations, in your Fuse Online environment, in the left navigation panel, click Integrations. Then do the following for each integration:
- To the right of the integration entry, click and select Edit.
- When Fuse Online displays the integration for editing, in the upper right, click Publish.
Publishing forces a rebuild that uses the latest Fuse Online dependencies.
The Fuse Online user interface shows a warning if any element of an integration has a newer dependency that needs to be updated.
2.5. Important notes
Important notes for the Fuse 7.3 release of the Fuse Online distribution:
- A Fuse Online account is limited to a specific number of integrations that can be running at one time. For details, see the pricing plan. If you are using a Fuse Online evaluation account, then only one integration at a time can be running.
- An OpenAPI schema that you upload to Fuse Online might not define input/output types. When Fuse Online creates a custom API client from an OpenAPI schema that does not specify input/output types then it is not possible to create an integration that maps integration data to fields that the API client can process or from fields that the API client processed. If an integration requires data mapping to or from a custom API, then when you upload the OpenAPI schema, click Review/Edit to open Apicurito, which is an API design tool, and add input/output type specifications.
- An OpenAPI document that you use for a custom API client connector or for an API provider integration cannot have cyclic schema references. For example, a JSON schema that specifies a request or response body cannot reference itself as a whole nor reference any part of itself through any number of intermediate schemas.
2.6. Obtaining technical support
To obtain technical support, in Fuse Online, in the upper right, click and then click Support to display the Fuse Online support page. Use this page to download diagnostic information for all integrations or for one or more integrations that you choose. The page provides instructions for opening a support ticket and providing the diagnostic information that you downloaded.
2.7. Technology Preview features
This release includes the Technology Preview features that are listed below.
Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information, see Red Hat Technology Preview features support scope.
- Camel K is available as an additional runtime. For details, see Enabling Apache Camel K to speed up Fuse Online deployments on OCP in Integrating Applications with Fuse Online.
For a REST API client that uses OAuth, when you create an API client connector, you can change the default OAuth2 behavior of connections that you create from that connector. Fuse Online vendor extensions to the OpenAPI specification support the following:
- Providing client credentials as parameters.
- Obtaining a new access token based on HTTP response status codes.