Primary interfaces are ConnectorFactory and ConnectorInstance. The UCF implementation is supposed to provide at least one implementation of ConnectorFactory. The ConnectorFactory implementation will produce instances of ConnectorInstance interface.
Currently there are two UCF implementations:
- ucf-impl-connid: Implementation using the ConnId framework. This is used for almost all midPoint connectors.
- ucf-impl-builtin: Implementation for specialized built-in connectors. This is used mostly for manual connectors.
UCF ConnId Implementation
UCF Builtin Implementation
UCF implementation for built-in and specialized connectors. This a very thin implementation, heavily based on midPoint internals (e.g. Prism Objects) and Spring framework.
This implementation is looking for connector classes that have @ManagedConnector annotation and it tries to use them automatically. All "connectors" used by this implementation must be built together with midPoint. Therefore they either need to be part of midPoint itself, they need to be midPoint dependencies or they need to be glued to midPoint classpath by using maven overlay or a similar mechanism.
The UCF API has s specialized abstract class
AbstractManualConnectorInstance that can be used to create manual connectors. Built-in manual connectors simply need to extend this class and implement the abstract methods. The responsibility of a manual connector implementation is to create tickets (work orders) and to provide information about their state.
The default built-in manual connector implementation can be used as an example:
How To Create Manual Connector
- Coordinate your effort with midPoint development team. See Development Participation.
- Create an subclass of
- Implement the abstract methods
- Use @ManagedConnector annotation
- The implementation must be in
com.evolveum.midpoint package. Following root package is recommended:
- Make sure that this implementation is on a class path when midPoint runs.
This method is only supported for connectors that are supposed to become (optional) part of midPoint. It is expected that the connectors will be available under open source license, preferably Apache License and that they will be contributed to the midPoint project. This method is not supported for commercial or per-project connectors.