Skip to content

Integration Connectors

An integration connector is a pluggable component that manages the metadata exchange to a third party technology. It is hosted in an integration service which is, in turn, running in an integration daemon.

Figure 1

Figure 1: Integration connectors

The integration connectors can:

  • Listen on a blocking call for the third party technology to send a notification.
  • Register with an external notification service that sends notifications on its own thread.
  • Register a listener with the OMAS client to act on notifications from the OMAS's Out Topic.
  • Poll the third party technology each time that the refresh() method is called.

Interface

The interface that all integration connectors must implement is defined by IntegrationConnectorBase :

Figure 2

Figure 2: Methods implemented by an integration connector

  • initialize is a standard method for all connectors that is called by the connector broker when the connector is created. The connector is passed the connection object from the configuration and a unique identifier for this instance of the connector.
  • setAuditLog provides a logging destination (see Audit Log Framework (ALF)).
  • setConnectorName provides the name of the connector for logging.
  • setContext sets up the integration-specific context. This provides an interface to the services of the OMAS that the integration service is paired with. Although the interfaces vary from integration service to integration service, they typically offer the following types of method call for each type of metadata it supports:
    • The ability to register a listener to receive events from the OMAS's Out Topic, or send events to the OMAS's In Topic.
    • The ability to create and update metadata instances.
    • For assets, the ability to change an asset's visibility by changing its zone membership using the publish and withdraw methods.
    • The ability to delete metadata.
    • Various retrieval methods to help when comparing the metadata in the open metadata repositories with the metadata in the third party technology.
  • start indicates that the connector is completely configured and can begin processing. This call can be used to register with non-blocking services. For example, it can register a listener with the OMAS Out Topic with the context.
  • engage is used when the connector is configured to need to issue blocking calls to wait for new metadata. It is called from its own thread. It is recommended that the engage() method returns when each blocking call completes. The integration daemon will pause a second and then call engage() again. This pattern enables the calling thread to detect the shutdown of the integration daemon server.
  • refresh requests that the connector does a comparison of the metadata in the third party technology and open metadata repositories. Refresh is called:
    1. when the integration connector first starts and then
    2. at intervals defined in the connector's configuration as well as
    3. any external REST API calls to explicitly refresh the connector.
  • disconnect is called when the server is shutting down. The connector should free up any resources that it holds since it is not needed any more.

Two approaches to designing the connections for an integration connector

Figure 3 shows the approach used for a dedicated connector to a specific third party technology deployment.

Figure 3

Figure 3: An explicit endpoint is added to the integration connector's connection in its configuration

Figure 4 shows the approach used to catalog all instances of a particular type of technology.

Figure 4

Figure 4: No endpoint is configured in the integration connector's connection.

Location is determined from the endpoints that are stored in open metadata. The connector registers a listener with the context and it listens for events relating to endpoint of the appropriate values.

An integration connector can choose to support one of these patterns or switch dynamically depending on the presence of the endpoint in the connector's configuration.

Further information
Back to top