Custom connectors
This page provides an overview of the custom connectors feature in Integration Connectors, and assumes that you are familiar with the following concepts:
The custom connectors feature, lets you use connectors that aren't a part of the standard connectors provided by Integration Connectors. For example, you might have an in-house Human Resource Management System (HRMS) with a proprietary connectivity protocol, that you want to expose to Application Integration through a connector. The custom connector feature is useful in the following scenarios:
- Built-in connectors aren't available in Integration Connectors for a data source or service that you want to connect.
- Built-in connectors available in Integration Connectors, but they don't meet your requirements.
How Integration Connectors supports a custom connector?
Integration Connectors supports custom connectors through Open API specification (version 3.0.0 and all it's minor versions). You can expose your backend as a public endpoint, and then use your endpoint's Open API specification to create a new connector that connects to your endpoint (backend).
An endpoint's Open API specification defines the contract between Integration Connectors and the endpoint. Integration Connectors uses the API specification to generate the connector's actions and entities. The API specification can be a JSON or a YAML. The following is an excerpt from a sample Open API specification of a backend service:
{ "openapi":"3.0.2", "info":{ "title":"Swagger Petstore - OpenAPI 3.0", "description":"This is a sample Pet Store Server based on the OpenAPI 3.0 specification. You can find out more about\nSwagger at [ http://swagger.io](http://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!\nYou can now help us improve the API whether it's by making changes to the definition itself or to the code.\nThat way, with time, we can improve the API in general, and expose some of the new features in OAS3.\n\nSome useful links:\n- [ The Pet Store repository ] ..... ..... "paths":{ "/pet/{petId}/uploadImage":{ "post":{ "tags":[ }, ..... ..... "/pet/findByStatus":{ "get":{ "tags":[ "pet" ], ..... ..... }, "api_key":{ "type":"apiKey", "name":"api_key", "in":"header" } } } }
To view the complete sample specification, see Sample pet store repository.
Suppose you use this sample specification to create a custom connector, Integration Connectors will generate a separate action for each
element in path
. For example, uploadImage
and findByStatus
would be listed as supported actions by the custom connector.
Backend connectivity scenarios
Integration Connectors supports custom connectors for the following backend connectivity scenarios:
- Direct backend connectivity
- Indirect backend connectivity
Scenario - Direct backend connectivity
In this scenario, the Integration Connectors runtime directly establishes connectivity to your Open API compliant backend. The following illustration shows the connector connectivity in this scenario:
Scenario - Indirect backend connectivity
In this scenario, the Integration Connectors runtime establishes connectivity to your backend through an intermediary (facade) service that is Open API compliant. The intermediary service in turn connects to your backend. The following illustration shows the connector connectivity in this scenario:
Custom connector versions
With the versioing feature, you can create multiple versions of a custom connector. Each version can have a different OpenAPI specification, authentication method, and backend variables. As a result, it provides you a lot of flexibility in creating a connector with various configurations.
When you create a new connector, the first version of the connector is created automatically, for you, and the version details are displayed in the Versions tab of the custom connector's details page. To understand how to create a new version of a connector, see .
What's next
Understand how to create a custom connector.