Resource and Connector Schema Explanation

Last modified 12 Feb 2024 11:11 +01:00

Resource and connector schemas are dynamic schemas - they are created and interpreted in the run-time. Both resource and connector schemas are stored in the repository, as a part of resource and connector objects. This page explains how are these schemas used and how they work together to support dynamic resource object shadow structure and resource configuration.

Simplified examples

The examples provided on this page are considerably simplified. The goal is to demonstrate the concept. Complete and working examples can be found in the samples section of source code repository.

Object Storage and References

Following figure illustrates a "static" state. It shows where are the objects stored and how they are referenced.

schemas ref

Dynamic Schemas

Following figure illustrates how dynamic schemas work. The colors specify different dynamic namespaces:

  • red denotes connector schema and also to the parts of resource configuration that it specifies

  • blue denotes resource schema and also the parts of resource object shadow that it specifies

schemas def

Namespaces

The <attributes> part of the resource object shadow must be in the resource schema namespace also called resource instance namespace as namespace URI is specified for each resource instance. It usually has prefix ri. The namespace URL may be explicitly specified in resource definition. If it is not then a default value will be used:

http://midpoint.evolveum.com/xml/ns/public/resource/instance-2

The <configuration> part of the resource must be in the connector schema namespace also called connector instance configuration namespace. This namespace is generated for each connector type and it usually contains connector type definition. When using ICF connectors the namespace has usually prefix icfi and it looks like this:

http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/bundle/org.identityconnectors.ldap/org.identityconnectors.ldap.LdapConnector
Was this page helpful?
YES NO
Thanks for your feedback