Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 1. Understanding Ignite

Ignite is an integration platform. With Ignite, you can obtain data from an application or service, operate on that data if you need to, and then send the data to a completely different application or service. No coding is required to accomplish this.

For a high-level overview of Ignite, see:

1.1. How Ignite works

Ignite lets you enable data transfer between different applications. For example, each time a customer is mentioned in Twitter, you might want to capture that mention in your Salesforce account for that customer. Another example is a service that makes stock trade recommendations. You can capture recommendations of interest and forward them to a service that automates stock transfers.

Ignite provides a web browser interface that lets you integrate two or more different applications or services without writing code. It also provides features that allow you to introduce code if it is needed for complex use cases.

To create and run a simple integration, the main steps are:

  1. Create a connection to each application that you want to integrate.
  2. Select the start connection. This connection is to the application that contains the data that you want to share with another application.
  3. Select the finish connection. This connection is to the application that receives data from the start connection and that completes the integration.
  4. Map data fields from the start connection to data fields in the finish connection.
  5. Give the integration a name.
  6. Click Publish to start running the integration.

The Ignite dashboard lets you monitor and manage integrations. You can see which integrations are running, start, stop, and edit integrations.

1.2. Who Ignite is for

Ignite is for business experts in, for example, finance, human resources, or marketing, who do not want to write code in order to share data between two different applications. Their use of a variety of software-as-a-service (SaaS) applications gives them an understanding of business requirements, workflows, and relevant data.

1.3. Benefits of Ignite

With Ignite, you can:

  • Integrate data from different applications or services without writing code.
  • Run the integration on OpenShift in the public cloud or on site.
  • Use the visual data mapper to map data fields in one application to data fields in another application.
  • Leverage all the benefits of open source software. You can extend features, and customize interfaces. If Ignite does not provide a connector for an application or service that you want to integrate then a developer can create the connector that you need.

1.4. Understanding Ignite terms

When you integrate applications with Ignite, you create an integration by working with connectors, connections, actions, and steps. See the following sections to learn about each of these constructs.

1.4.1. About integrations

To set up data integration between applications, you create an integration. An integration is set of ordered steps. This set includes:

  • A step that connects to an application to start the integration. This connection provides the initial source data that the integration operates on. A subsequent connection can provide additional source data.
  • A step that connects to an application to complete the integration. This connection receives any data that was output from previous steps and finishes the integration.
  • Optional additional steps that connect to applications between the start and finish connections. Depending on the position of the additional connection in the sequence of integration steps, an additional connection can do any or all of the following:

    • Provide additional source data for the integration to operate on
    • Process the integration data
    • Output processing results to the integration
  • Optional steps that operate on data between connections to applications. Typically, there is a step that maps data fields from the previous connection to data fields that the next connection uses.

In an integration, each step can operate on the data that is output from the previous steps. To determine the steps that you need in an integration, see Section 1.5, “Planning integrations”.

1.4.2. About Ignite connectors

Ignite provides a set of connectors. A connector represents a specific application that you want to obtain data from or send data to. Each connector is a template for creating a connection to that specific application. For example, you use the Salesforce connector to create a connection to Salesforce.

If Ignite does not provide a connector you need, a developer can create the needed connector.

1.4.3. About Ignite connections

Before you can create an integration, you must create a connection to each application or service that you want to obtain data from or send data to. To create a connection, you select a connector and add configuration information. For example, to create an AMQ connection, you select the AMQ connector and then follow prompts to identify the broker to connect to and the account to use for the connection.

A connection is one specific instance of the connector that it is created from. While you can create any number of connections from one connector, doing so does not always make sense. For example, you can use the AMQ connector to create three AMQ connections where each connection accesses a different broker. However any connector for an application that uses OAuth requires authorization from that application for access to a particular user account. Consequently, each connection that you create from that connector would have the same configuration. There is no need for more than one connection to an application that uses OAuth.

To create an integraton, you select a connection to start the integration, a connection to end the integration, and optionally one or more connections for accessing additional applications. Any number of integrations can use the same connection.

For details, see Chapter 3, Connecting to applications that you want to integrate.

1.4.4. About actions

In an integration, each connection performs one action. As you create an integration, you choose a connection to add to the integration and then you choose the action that the connection performs. For example, when you create an integration that uses a Salesforce connection, you choose from a set of actions that includes, but is not limited to, creating a Salesforce account, updating a Salesforce account, and searching Salesforce.

Some actions require additional configuration and Ignite prompts you for this information if it is needed.

1.4.5. About steps

An integration is a set of ordered steps. Each step operates on data. Some steps operate on data while connected to an application or service outside Ignite. These steps are connections. Between connections, there can be other steps that operate on data in Ignite. Typically, an integraton includes a step that maps data fields used in a connection to data fields used in the next connection. Except for the start connection, each step operates on data it receives from the previous steps.

To operate on data between connections, Ignite provides steps for:

  • Mapping data fields in one application to data fields in another application.
  • Filtering data so that the integration continues only when it meets criteria that you define.
  • Logging information in addition to the default logging that Ignite automatically provides.

See also Section 5.3, “Adding steps between connections” and Section 1.6, “Workflow for creating an integration”.

To operate on data between connections in a way that is not built into Ignite, you can upload an extension that provides a custom step. See Section 4.2, “Adding extensions”.

1.5. Planning integrations

Some planning so that you have answers to the following questions is helpful before you create an integration.

To start the integration:

  • Which application should the integration obtain data from?
  • In that application, what triggers the action that obtains the data? For example, an integration that starts by obtaining data from Twitter might trigger on a Twitter mention.
  • What are the data fields of interest?
  • What credentials does Ignite use to access this application?

To finish the integration:

  • Which application receives the data?
  • In that application, what action does the integration perform?
  • What are the data fields of interest?
  • What credentials does Ignite use to access this application?

Between the start and finish applications:

  • Do you need to access any other applications? For any other applications the integration accesses:

    • Which application does the integration need to connect to?
    • What action should the integration perform?
    • What are the data fields of interest?
    • What credentials should the integration use to connect to this application?
  • Does the integration need to operate on the data between connections? For example:

    • Should the integration filter the data it operates on?
    • Do field names differ between source and target applications? If they do then data mapping is required.
    • Does the integration need to operate on the data in some customized way?

1.6. Workflow for creating an integration

After you log in to the Ignite console, the general steps for integrating applications are:

  1. For each application that you want to integrate and that uses the OAuth protocol, register Ignite as a client of that application.
  2. For each application that you want to integrate, create a connection.
  3. Create the integration:

    1. Select the start connection. This connection starts the integration by accessing the application you want to obtain data from.
    2. Select the action that you want the start connection to perform.
    3. Optionally, depending on the connection, enter some configuration information, for example, you might indicate whether to operate on a Salesforce contact or a Salesforce lead.
    4. Select the finish connection. This connection completes the integration by accessing the application that uses the data from the start connection.
    5. Select the action you want the finish connection to perform.
    6. Optionally, depending on the connection, enter some configuration details.
    7. Optionally, between the start connection and the finish connection, add one or more connections to other applications.
    8. Optionally, between connections, add additional steps, such as filtering data, mapping data fields, or logging that is in addition to the automatically-provided logging. Typical integrations require data mapping.
  4. Click Publish to start running your integration.

1.7. How you use Ignite

The best way to learn about how to use Ignite is to create the sample integrations by following the instructions in the sample integration tutorials. Following is an abbreviated description of one of the samples to provide an overview of how you use Ignite. These steps omit details so you should not try to follow them.

Note

If you already created a sample integration then you can skip this section.

  1. Register your installation of Ignite as an application that can access Salesforce. You need to do this only once to be able to create any number of integrations that connect to Salesforce.
  2. Create a Salesforce connection. To configure this connection, Ignite prompts you to log in to the Salesforce account you used to register Ignite. You can use the same Salesforce connection in any number of integrations.
  3. Choose your Salesforce connection as the connection that starts the integration.
  4. Choose the action that you want the Salesforce connection to perform. In the sample integration, you choose the On create action for the Lead object. After connecting to Salesforce, the integration watches for notifications that a Salesforce lead was created. When the integration finds such a notification, it passes the new lead’s data to the next step in the integration. However, before you can add the next step, you must choose the integration’s finish connection.
  5. Choose the PostgresDB connection as the connection that completes the integration.
  6. Choose the action that you want the PostgresDB connection to perform. In the sample integration, you choose add_lead as the procedure you want to invoke. This is a provided stored procedure that runs in the sample database. This procedure determines the requirements for mapping Salesforce data fields to database fields.
  7. Add a step between the Salesforce connection and the database connection. This step maps Salesforce data fields to database fields.
  8. Give the integration a name. Optionally, enter a description of what the integration does.
  9. Click Publish to start running the integration.
  10. On the Ignite dashboard, confirm that the Salesforce to database integration is designated as Published, which means that it is running.
  11. Confirm that the integration is working as expected by creating a new lead in Salesforce.
  12. For this sample integration, in a browser, insert todo- in front of the URL for your Ignite installation. This displays the notification that a new lead was created in the database.

1.8. About the product name

Ignite is Red Hat’s web-based integration platform. Syndesis is the open source project for Ignite.

Ignite runs in two environments:

Product Name

Host

Installation

Fuse Online

OpenShift Online

Red Hat installs and provisions Ignite on Red Hat infrastructure.

Ignite

OpenShift Container Platform

Customer installs and manages.

In user documentation, consider the names Fuse Online and Ignite as interchangeable.