Integration Daemon Services Section¶
This section is only relevant when configuring an integration daemon.
There are two approaches to configuring the Integration Daemon Services.
- The Dynamic Integration Groups section points to lists of integration connectors stored in the open metadata repositories. The integration daemon monitors these lists to determine which integration connectors to run. It dynamically updates the connectors it is running based on the values in the open metadata repositories.
- The Integration Services section provides details of the integration connectors that are statically configured into the integration daemon. They are organized by the integration services that each integration connector is using. These integration connectors will be automatically started with the integration daemon. Any changes to these integration connectors need to be made in the configuration document and then the integration daemon needs to be restarted for the changes to take effect.
Both approaches can be used in the same integration daemon instance.
Configuring integration services
Configure the integration services¶
The integration services (or Open Metadata Integration Services (OMIS) to give them their full name) run in an integration daemon.
Each integration service hosts one or more integration connectors. An integration connector is responsible for the exchange of metadata with a specific deployment of a third party technology. For example, the database integrator integration service supports integration connectors that work with relational databases (RDBMS). A deployment of this integration service in an integration daemon may host, say, two integration connectors each loading metadata from their own relational database server.
The descriptive information and operational status are filled out automatically by the administration services based on the integrationServiceURLMarker
value that you supply. The other values are supplied on the configuration call.
List integration services¶
It is possible to get a description of each of the registered integration services using the following command:
GET - list integration services
{{platformURLRoot}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/integration-services
Note the integrationServiceURLMarker
for the integration service that you want to configure.
Configure an integration service¶
Each integration service is configured with the network location of the metadata access point / metadata access store running the appropriate OMAS. There are a set of options that the integration service supports along with the list of configuration properties for the integration connectors that will be run in the integration service. The integration connector's configuration properties defines which connector implementation to use and how it should be operated.
POST - configure an integration service
{{platformURLRoot}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{serverName}}/integration-services/{{integrationServiceURLMarker}}
With a request body like the following:
{
"class": "IntegrationServiceRequestBody",
"omagserverPlatformRootURL": "{MDServerURLRoot}",
"omagserverName": "{MDServerName}",
"integrationConnectorConfigs":
[
{
"class": "IntegrationConnectorConfig",
"connectorName": " ... ",
"connectorUserId": " ... ",
"connection":
{
"class": "Connection",
"connectorType":
{
"class": "ConnectorType",
"connectorProviderClassName": "{connector provider class name}"
},
"endpoint":
{
"class": "Endpoint",
"address" : "..."
}
},
"metadataSourceQualifiedName": " ... ",
"refreshTimeInterval": "60",
"usesBlockingCalls": "false",
"permittedSynchronization": " ... "
}
]
}
Detailed description of the properties:
connectorName
sets up the name of the connector. This name is used for routing refresh calls to the connector as well as being used for diagnostics. Ideally it should be unique amongst the connectors for the integration service.connectorUserId
sets up the user id for the connector - if this is null, the integration daemon's userId is used on requests to the Open Metadata Access Service (OMAS).connection
sets up the connection for the integration connector.metadataSourceQualifiedName
sets up the qualified name of the metadata source for this integration connector. This is the qualified name of an appropriate software capability element stored in open metadata. This software capability is accessed via the partner OMAS and is used to control the origin information - known as metadata provenance in any metadata elements created by the integration connector. The default value is null, which means all metadata elements created by the integration connector will have local cohort provenance values and can be updated by other process in the open metadata ecosystem. If it is set up with a valid qualified name, the metadata elements will have external source provenance values and only the integration connector is able to update the values.refreshTimeInterval
sets up the number of minutes between each call to the connector to refresh the metadata. Zero means that refresh is only called at server start up and whenever the refresh REST API request is made to the integration daemon. If the refresh time interval is greater than 0 then additional calls to refresh are added spaced out by the refresh time interval.usesBlockingCalls
sets up whether the connector should be called using theengage()
method to allow it to block on a listening call rather than therefresh()
method.permittedSynchronization
is an optional property that defines the permitted directions of metadata flow between the third party technology and open metadata. If the integration connector attempts to flow metadata in a direction that is not permitted, it receives theUserNotAuthorizedException
. The default for this value is set up automatically in the integration service's descriptive information so this value only needs to be set if it is necessary to restrict the behavior of the connector. These are the different values for this property and their effect:TO_THIRD_PARTY
- The third party technology is logically downstream of open metadata. This means the open metadata ecosystem is the originator and owner of the metadata being synchronized. Any updates detected in the third technology are overridden by the latest open metadata values.FROM_THIRD_PARTY
- The third party technology is logically upstream (the originator and owner of the metadata). Any updates made in open metadata are not passed to the third party technology and the third party technology is requested to refresh the open metadata version.BOTH_DIRECTIONS
- Metadata exchange is permitted in both directions. Synchronization is halted on a specific element if potentially clashing updates have occurred both in the third party technology and open metadata. Such conflicts are logged on the audit log and resolved through manual stewardship.
Configuring integration groups
Configure integration groups¶
An integration group identifies a list of integration connectors that an integration daemon should run. These integration connectors are defined and maintained as open metadata elements stored in the open metadata repositories. Changes can be made to these integration connectors at any time using the Governance Server OMAS. The integration daemon is monitoring for changes and updates the integration connectors it is running in line with the changes it discovers. This approach allows changes to be made to the integration daemon's configuration without needing access to the administration commands, nor a restart of the integration daemon.
Configure an integration group¶
Each integration group is configured with the network location of a metadata access server running the appropriate Open Metadata Access Services (OMASs) along with the qualified name of the IntegrationGroup open metadata entity that represents the integration group.
The OMASs needed in the metadata access server depend on the Open Metadata Integration Services (OMISs) in use by the integration connectors. If you are unsure of which integration services will be used by your integration connectors, configure all of the listed OMASs in the metadata access store.
Open Metadata Integration Service (OMIS) | OMIS Description | Open Metadata Access Service (OMAS) running in the metadata access server |
---|---|---|
API Integrator | provides cataloguing for APIs. | Data Manager OMAS |
Catalog Integrator | provides a two-way synchronization for data catalogs. | Asset Manager OMAS |
Database Integrator | provides metadata extraction from relational databases. | Data Manager OMAS |
Display Integrator | provides metadata extraction from systems that provide user displays and forms to capture new data values. | Data Manager OMAS |
Files Integrator | collects metadata about files stored in a filesystem or file manager. | Data Manager OMAS |
Infrastructure Integrator | supports the extraction of metadata from IT infrastructure artifacts as well as the use of metadata to maintain IT infrastructure artifacts. | IT Infrastructure OMAS |
Lineage Integrator | collects metadata about processes, their internal logic and the data assets they work with. | Asset Manager OMAS |
Organization Integrator | imports details of an organization's structure - such as teams and departments. | Community Profile OMAS |
Search Integrator | supports the building of search indexes based on open metadata events. | Asset Consumer OMAS |
Security Integrator | distributes security properties to access control enforcement points. | Security Manager OMAS |
Stewardship Integrator | exchanges requests for stewardship action (and results) with a human task manager. | Stewardship Action OMAS |
Topic Integrator | provides cataloguing of topics and event schema for event brokers. | Data Manager OMAS |
POST - configure an integration group
{{platformURLRoot}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{serverName}}/integration-groups/configuration
With a request body like the following:
{
"class": "IntegrationGroupConfig",
"omagserverPlatformRootURL": "{MDServerURLRoot}",
"omagserverName": "{MDServerName}",
"integrationGroupQualifiedName": {qualifiedName}
}
Configure all integration groups in one command¶
POST - configure all integration groups
{{platformURLRoot}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{serverName}}/integration-groups/configuration/all
With a request body like the following:
[
{
"class": "IntegrationGroupConfig",
"omagserverPlatformRootURL": "{MDServerURLRoot}",
"omagserverName": "{MDServerName}",
"integrationGroupQualifiedName": {qualifiedName}
},
{
"class": "IntegrationGroupConfig",
"omagserverPlatformRootURL": "{MDServerURLRoot}",
"omagserverName": "{MDServerName}",
"integrationGroupQualifiedName": {qualifiedName}
},
]
Retrieve configured integration groups¶
GET - all configured integration groups
{{platformURLRoot}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{serverName}}/integration-groups/configuration
Remove all configured integration groups¶
DELETE - all configured integration groups
{{platformURLRoot}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{serverName}}/integration-groups
Remove a specific configured integration group¶
DELETE - a configured integration group
{{platformURLRoot}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{serverName}}/integration-groups/{{qualifiedName}}
Raise an issue or comment below