Catalog Target Types¶
The developer of an integration connector is able to specify one or more types of technology supported by the connector. These are called Catalog Target Types and they are specified in the implementation of the integration connector's connector provider. Catalog Target Types include the following properties:
- typeName - the open metadata type name of the element that describes a specific catalog type.
- deployedImplementationType - the deployed implementation type of the element that describes a specific catalog type. This allows a more fine-grained specification of the type of technology supported by the integration connector.
- otherPropertyNames - as the name suggests, this allows other properties that are useful to a person deploying the connector.
The catalog target type is given a name called the catalogTargetName. Here is a code snippet from the Data Files Monitor Integration Connector's connector provider showing how the catalog target types are set up. This connector is configured with the name of a directory (folder) on a filesystem and it catalogues the files underneath this folder. Therefore, the catalog target type describes a directory.
static public final String CATALOG_TARGET_NAME = "directoryToMonitor";
CatalogTargetType catalogTargetType = new CatalogTargetType();
This information is then available to the person choosing the appropriate integration connector and setting it up to run.
The CatalogTarget relationship links an integration connector's entity to an entity that describes the specific third party technology that the integration connector should exchange metadata with. It is used when configuring an integration daemon using integration groups. With this style of configuration, details of the integration connectors to run are described in the open metadata repositories that the integration daemon is connected to. The catalog target relationship is part of this open metadata description.
The diagram below shows the open metadata elements describing an integration group. This integration group has two integration connectors. Each integration connector is linked to a connection that describes how to create a running instance of the integration connector. This connection may optionally include the endpoint information of the third party technology that the integration connector is to exchange metadata with. The CatalogTarget relationship provides an alternative way to supply details of one, or more third party technologies that it should connect to. These technologies are described, typically by an asset open metadata element (shown in yellow) and are linked to the integration connector's element using the CatalogTarget relationship.
The diagram below shows an example of a metadata description for an integration connector that catalogs files found in a directory (folder). The catalog target is the asset that describes the directory where the files are located. Linked to the asset is a connection for the data folder connector that will provide access to the files in the directory.
This style of configuration means that the connection to a specific third party technology only needs to be specified once and can be used for multiple purposes. This is important for technologies that need a complex connection structure that may need to be updated from time to time. For example, the next diagram shows an integration connector that is linked to a database asset. This database's connection is complex and includes an embedded secret store connector. If details of the secrets used to connect to the database need to be changed, it only needs to be changed in one connection.
The CatalogTarget relationship is similar to the TargetForAction relationships that links engine actions to the elements describing the technology that the associated governance service is to work on.
From the perspective of the database element, these relationships make it possible to see the automated processing (agents) working with the database, as well as the metadata they are gathering/validating/updating. This is useful for either the owner or the consumer of the resource to know how the technology and its metadata are being maintained.
Raise an issue or comment below