Package org.openiam.sync.service

Provides the core interfaces for OpenIAM's identity synchronization framework scripts and adapters.

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 objects
  • ValidationScript - Interface for scripts that validate identity data during synchronization to ensure data quality and integrity
  • AttributesScript - Interface for scripts that handle custom attribute transformation and mapping
  • AbstractAttributeNamesLookupScript - Base implementation for scripts that lookup and map attribute names between systems

Pre/Post Processing

Data Access

  • SourceAdapter - Interface for adapters that connect to and retrieve data from external identity sources
  • SynchronizationDataService - Interface for services that manage and provide access to synchronization data

Synchronization Process

The synchronization process typically follows this flow:

  1. Pre-processing script execution (SyncPreprocessorScript)
  2. Source data retrieval via SourceAdapter
  3. Data validation using ValidationScript
  4. Data transformation using TransformScript
  5. Attribute mapping through AttributesScript
  6. 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 scripts
  • AbstractUserTransformScript - Specialized for user transformations
  • AbstractGroupTransformScript - Specialized for group transformations
  • SyncAbstractProcessorScript - 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