Orchestration SDKs

Migrating from ForgeRock SDKs to the Orchestration SDK

PingOne Advanced Identity Cloud PingAM Android iOS JavaScript

This section provides guidance for migrating your existing applications from the legacy ForgeRock SDKs to the modern Orchestration SDK.

The Orchestration SDK represents a significant architectural evolution, embracing contemporary platform features and development paradigms to offer a more efficient and developer-friendly experience.

The migration process involves adapting to new concurrency models, modular structures, and streamlined APIs. To assist with this transition, we also provide specialized markdown files designed for use with AI assistants, which can help automate and simplify many of the necessary code changes.

Overview

The migration to the new Orchestration SDK introduces a unified, modern architectural approach across Android, iOS, and JavaScript platforms.

While the legacy ForgeRock SDKs relied on traditional callback-based listeners for asynchronous operations, the new Orchestration SDKs fully embrace modern concurrency models native to each platform.

This consistent architectural approach ensures that while the language-specific implementation details differ, the core concepts for handling authentication journeys, managing sessions, and processing callbacks are aligned across all platforms.

Key architectural changes common to all platforms include:

Modern Asynchronous Programming

A fundamental shift from traditional callback listeners to modern, sequential-style asynchronous programming.

This is implemented using async/await for iOS and JavaScript, and Kotlin Coroutines for Android, resulting in cleaner and more readable code.

Modular and Instance-Based Design

The Orchestration SDKs are now broken down into smaller, specialized modules.

Configuration and API calls are instance-based rather than global or static, promoting better encapsulation and flexibility.

Workflow-Centric Design

Authentication and orchestration flows are modeled using a clear workflow pattern, involving "nodes", such as ContinueNode, SuccessNode, FailureNode, and ErrorNode.

These provide explicit control and visibility over the user journey.

Enhanced Type Safety and Explicit Error Handling

The new Orchestration SDKs emphasize stronger type safety and more explicit error handling.

This means moving away from generic value handling in callbacks to specific, strongly-typed properties, and providing clear structures for reporting failures and errors.

Declarative Configuration

Initialization is now handled declaratively, through builder patterns or factory functions with configuration objects, offering a more flexible and readable setup.

AI-assisted migration

To further streamline your migration efforts, we provide platform-specific markdown files. These files contain detailed mappings and example snippets of changes between the legacy ForgeRock SDKs and the new Orchestration SDK versions.

AI assistants can leverage this information to help you adapt your application code, reducing manual effort and improving consistency.