ODC Migration from OutSystems 11 in Just 4 Steps

Migrating to the OutSystems Developer Cloud (ODC) can be an exciting yet challenging journey. Whether you’re modernizing a single application or your entire portfolio, the costs and effort involved depend on your application’s size, complexity, and type.

For example:

  • Reusability: Many Forge components are already available in ODC, making the process smoother.

  • Transformations: Traditional Web Applications (TWAs) are unsupported and require transformation into Reactive Applications.

  • API Changes: While importing SOAP APIs needs extra effort, exporting them isn’t directly possible in ODC.

  • Architecture Upgrades: Domain-driven architecture, introduced in OutSystems 11, is now deeply embedded in ODC to support scalability and modularity.

Before starting the migration, understanding the key differences between OutSystems 11 and ODC is crucial. Let’s break it down step by step.

Key ODC Changes to Know Before Migration

Before jumping into the migration process, here are a few major changes in ODC you need to understand:

  1. Weak References: ODC uses weak references instead of modules. Applications interact through exposed APIs like REST APIs or Service Actions, promoting flexibility.

  2. Application and Library-Only Models: ODC supports only Applications and Libraries, eliminating the concept of modules, which enhances scalability and team autonomy.

  3. Lifecycle Independence: Teams can now work on different applications independently without dependencies bogging them down.

These architectural changes require a strategic migration approach to make the most out of ODC’s capabilities.



The Four-Step Migration Process


Step 1: Assess Your Application Portfolio

  • Begin Assessment: The first step is to evaluate all applications and components to estimate the work needed for migration.

  • Categorization: Divide your applications into categories:

    • Ready to Migrate: Applications or components already compatible with ODC.

    • Needs Minor Adjustments: For example, components requiring tweaks to fit the ODC architecture.

    • Requires Rebuilding: TWAs or components that need significant changes, such as transforming into Reactive Applications.

  • Documentation Review: Use OutSystems-provided migration guides and upcoming Migration Kits to automate some parts of the assessment.

  • Architecture Mapping: Analyze how existing OutSystems 11 constructs, like modules, translate into ODC’s Application and Library model.

Step 2: Prepare Your Code



Once the assessment is done, the next step is preparing your code for migration. Key tasks include:

  • Code Adjustments: Refactor code to match ODC’s architecture, such as converting TWAs to Reactive Applications.

  • Database Preparation: Update SQL queries to comply with Aurora PostgreSQL syntax, required by ODC.

  • Application Domain Segregation: Reorganize modules based on Domain-Driven Architecture principles to promote scalability and modularity.

  • Service Updates: Replace SOAP-based integrations with APIs that align with ODC requirements.

This stage is crucial to ensure a smooth migration. Prioritize these tasks and incorporate them into your project sprints.

Step 3: Migrate Your Code



You’ll start migrating your OutSystems 11 applications to ODC at this stage. Key activities include:

  • Mapping Code: Translate OutSystems 11 code into ODC constructs.

  • Updating System References: Replace system-specific references and outdated login/logout flows.

  • Public Properties Adjustment: Modify Public properties to align with ODC’s new structure.

  • SQL Query Conversion: Convert your existing SQL queries to work with Aurora PostgreSQL syntax. This may require in-depth testing and adjustments.

  • Streamlining SOAP Services: Transform existing SOAP services into compatible API-based alternatives.

Step 4: Migrate Your Data


The final step is migrating your application data to ODC. While OutSystems is expected to release tools to simplify this process, manual effort may still be required for complex data structures. Steps include:

  • Data Preparation: Clean and organize your data for migration.

  • Data Migration: Use available tools to transfer data from OutSystems 11 to ODC.

  • Testing and Validation: Ensure migrated data maintains integrity and functionality.

  • Coexistence Strategy: During the transition, manage data in both OutSystems 11 and ODC environments to ensure minimal downtime for end users.

Once data migration is complete, redirect users to ODC applications and retire OutSystems 11 applications.


Migrating to ODC is a significant step forward for organizations looking to future-proof their applications. While it may seem complex, breaking the process into four steps—assessment, preparation, migration, and data transfer—makes it much more manageable.

Planning, preparation, and an understanding of ODC’s architecture will ensure your migration is smooth and successful. Remember, this is more than just a technical shift—it’s an opportunity to build scalable, modular, and efficient applications for the future.

Related posts