Package org.openiam.sync.service
This package defines the contracts that synchronization scripts and adapters must implement to participate in the OpenIAM identity synchronization process. These interfaces enable customization of data mapping, validation, pre/post-processing, and source system connectivity.
Key Components
Transformation and Validation
TransformScript- Primary interface for transformation scripts that map data between source systems and OpenIAM identity objectsValidationScript- Interface for scripts that validate identity data during synchronization to ensure data quality and integrityAttributesScript- Interface for scripts that handle custom attribute transformation and mappingAbstractAttributeNamesLookupScript- Base implementation for scripts that lookup and map attribute names between systems
Pre/Post Processing
SyncPreprocessorScript- Interface for scripts executed before the main synchronization process beginsSyncPostprocessorScript- Interface for scripts executed after the main synchronization process completesSyncAbstractProcessorScript- Abstract base class with common functionality for pre and post-processor scripts
Data Access
SourceAdapter- Interface for adapters that connect to and retrieve data from external identity sourcesSynchronizationDataService- Interface for services that manage and provide access to synchronization data
Synchronization Process
The synchronization process typically follows this flow:
- Pre-processing script execution (
SyncPreprocessorScript) - Source data retrieval via
SourceAdapter - Data validation using
ValidationScript - Data transformation using
TransformScript - Attribute mapping through
AttributesScript - Post-processing script execution (
SyncPostprocessorScript)
Script Implementation
Implementations of these interfaces can be provided as Java classes or, more commonly, as Groovy scripts that are loaded dynamically at runtime. The framework includes abstract base classes that simplify script implementation by providing common utility methods:
AbstractTransformScript- Base implementation for transformation scriptsAbstractUserTransformScript- Specialized for user transformationsAbstractGroupTransformScript- Specialized for group transformationsSyncAbstractProcessorScript- Base implementation for processor scripts
Extension Points
These interfaces represent the primary extension points in the OpenIAM synchronization framework, allowing organizations to:
- Implement custom business logic for identity mapping
- Enforce data quality through validation rules
- Perform special processing before or after synchronization
- Connect to proprietary or custom identity sources
- Define attribute mappings and transformations
Configuration
Script implementations are referenced in SynchConfig objects that define the complete
synchronization configuration. These configurations specify which scripts to use for different
phases of the synchronization process.
- Since:
- 2.0
- See Also:
SynchConfig
-
Interface Summary Interface Description AttributesScript Interface that all transformation scripts in the synchronization process must implementSourceAdapter Interface to implementing source adaptersSyncAbstractProcessorScript SynchronizationDataService Interface forAsynchIdentitySynchService.SyncPostprocessorScript Interface which is called after sync validated and started (currently not right after end of sync) not a mandatory scriptSyncPreprocessorScript Interface which is called before sync running not a mandatory scriptTransformScript<T extends ProvisionObject> Core interface that defines the contract for all identity transformation scripts in the OpenIAM synchronization framework.ValidationScript Interface that all validation scripts in the synchronization process must implementWSOperationCommand Interface that needs to be implemented to call a webservice that will be used as an authoritative source. -
Class Summary Class Description AbstractAttributeNamesLookupScript