OpenICF Interfaces

This chapter describes all of the interfaces supported by the OpenICF framework, along with notes about their implementation. Specific connectors may support only a subset of these interfaces.

AttributeNormalizer

Normalize attributes to ensure consistent filtering.

Authenticate

Provides simple authentication with two parameters, presumed to be a user name and password. If the connector does not implement the AuthenticateOp interface it can not be used in OpenIDM to provide pass-through authentication.

Batch

Execute a series of operations in a single request. If a resource does not support batch operations, the connector will not implement the batch operation interface. The OpenICF framework will still support batched requests but the operations will be executed iteratively through the connector.

Connector Event

Subscribe for notification of any specified event on the target resource. This operation can be used in the context of IoT device reports, to receive notification of events such as low battery signals, inactive devices, and so on.

Create

Create an object and return its uid.

Delete

Delete an object by its uid.

Get

Get an object by its uid.

PoolableConnector

Use pools of target resources.

Resolve Username

Resolve an object to its uid based on its username.

Schema

Describe supported object types, operations, and options.

Script on Connector

Allow script execution on connector.

Script On Resource

Allow script execution on the resource.

Search

Allow searches for resource objects.

Connectors that implement only this interface can only be used for reconciliation operations.

Sync

Poll for synchronization events, which are native changes to target objects.

Sync Event

Subscribe for notification of synchronization events, which are native changes to target objects.

Test

Test the connection configuration, including connecting to the resource.

Update

Allows an authorized caller to update (modify or replace) objects on the target resource.

Update Attribute Values

Allows an authorized caller to update (modify or replace) attribute values on the target resource. This operation is more advanced than the UpdateOp operation, and provides better performance and atomicity semantics.