Connector object describes a generic connector. Connector in midPoint is any method of connection to the resource. The actual implementation, connector framework or protocol does not matter but the most common type of connector is OpenICF connector.
The values of
connectorHost (if present) together form a unique identification of the connector. That means that two ConnectorType objects that have these values same represent the same connector. Only one such instance of ConnectorType should exist in the repository.
Identification of the framework or mechanism that implements this connector.
Type of the connector, as seen by the framework. The value is framework-specific.
Version of the connector. Used only for display purposes and for searching during imports. Therefore it may be any (sensible) string, but it should be reasonably stable to avoid broken imports. May be any string (numeric convention is recommended, but not required). The value is framework-specific.
Name of a package that the connector comes in. It may be a name of the JAR file, ICF bundle name, URL or any other designation of the packaging. The value is framework-specific.
Identification of the kind of target system that the connector can connect to, such as "LDAP" or "DB Table". Used only for display purposes and for searching during imports. Therefore it may be any (sensible) string, but it should be reasonably stable to avoid broken imports.
Connector-private namespace. This is the namespace that is private for a specific connector (and optionally connector version). It may be used by the connector to generate connector configuration schema or for other purposes.
Reference to the host that this connector is installed on.
XSD definition of connector configuration schema. It defines connector configuration variables and data types such as host names, ports, administrator names and so on. Connector schema is only available at run-time and may be different for every connector. It is supposed to be dynamically interpreted in run-time.
Connector schema defines connector configuration variables and data types such as host names, ports, administrator names and so on.
Connector schema is dynamic, it is only available at run-time and may be different for every connector. It is supposed to be dynamically interpreted in run-time. It is generated directly from the connector, there is no need to create it manually.
See Resource and Connector Schema Explanation for a detailed description how the dynamic schemas work together.
Local and Remote Connectors
There are two types of connectors:
- Local connectors are installed on the same host (and in the same web application context) as midPoint. Therefore midPoint instance can call them directly. MidPoint can discover such connectors and do most of the connector lifecycle tasks automatically.
- Remote connectors are installed on a different host (or in a different application context) than midPoint. No midPoint instance has direct access to such connector. Some form of inter-process communication is needed to interact with such connector.
Local connectors are discovered automatically when the system starts. Connector object will be created for each of the discovered connectors if it haven't existed before.
MidPoint will never delete a connector object during discovery, not even if the connector is missing. Deleting an object may break links that are created in existing configured resources. Even if the connector object is re-created later it may have different OID and therefore the links may break. Old connector objects needs to be deleted manually by system administrator.
Remote connectors are not discovered automatically. These needs to be set up manually (for now).