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.
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 respository.
Object Storage and References
Following figure illustrates a "static" state. It shows where are the objects stored and how they are referenced.
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
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:
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:
- What is midPoint Open Source Identity & Access Management
- Evolveum - Team of IAM professionals who developed midPoint