Migration from IBM SDK, Java Technology Edition, Version 8 to IBM Semeru Runtime® Open Edition for Java 21 with Eclipse OpenJ9

Java™ evolved significantly since IBM® SDK, Java Technology Edition, Version 8, introducing powerful language features, performance improvements, and enhanced security. Migrating to IBM Semeru JDK 21 helps to ensure long-term support, modern capabilities, and better maintainability. Review this information to help ensure a smooth and efficient migration.

Note: IBM Semeru JDK 21 supports only IBM Sterling® Order Management System next-generation platform customers. If you are not yet on IBM Sterling Order Management System next-generation platform, upgrade to IBM Sterling Order Management System next-generation platform before you migrate to IBM Semeru JDK 21.

Why IBM JDK 21 matters

Migrating to IBM Semeru JDK 21 offers key benefits.
Strengthens security and compliance
IBMSemeru JDK 21 includes TLS 1.3 support, improved cryptography APIs, safer default configurations, complemented by keystones with stronger algorithms, and expanded support for more modern encryption schemes. Remaining on IBM SDK, Java Technology Edition, Version 8 introduces growing risks as vulnerabilities accumulate and frameworks discontinue support. Migrating to IBM Semeru JDK 21 is essential for maintaining security, compatibility, and regulatory compliance.
Boosts developer productivity
IBM Semeru JDK 21 brings language enhancements that are introduced from Java 9 through Java 21, such as var, records, and pattern matching. These features make code more readable, concise, and efficient. These improvements help developers to write cleaner, safer applications with less boilerplate compared to IBM JDK 8. Customizations that are built with these features run seamlessly on application servers that run on IBM Semeru JDK 21.
Provides enhanced scalability for cloud-native environments
IBM Semeru JDK 21 is optimized for modern cloud environments. It includes fast garbage collection, container support, and virtual threads for microservices and Kubernetes deployments. These enhancements help applications to scale efficiently, reduce resource usage, and handle dynamic workloads with predictable performance.
Provides long-term support for your codebase
IBM Semeru JDK 21 is a long-term support release, which includes backported security and performance fixes. IBM JDK 21 provides stability and compatibility with current frameworks and tools for years to come.

Deployment options and runtime compatibility

  • IBM Sterling Order Management System product builds continue to be compiled on IBM JDK 8, but the codebase is refactored for runtime compatibility with IBM JDK 21.
  • You can deploy Sterling™ Order Management System on either IBM JDK 8 or IBM Semeru JDK 21.
  • You can compile customization on IBM JDK 8, but need to validate runtime compatibility with IBM Semeru JDK 21.
  • Integration with external systems such as IBM MQ and REST, and existing processes remain unchanged.

IBM certification and supported JDK

  • IBM certifies only IBM Semeru Runtime Certified Edition v21 for Sterling Order Management System.
  • This version is used in IBM containers and SaaS environments and is suggested for on-premises customers.
  • IBM does not certify any other JDK for Sterling Order Management System.

Operational continuity and future changes

  • No new libraries or Jars are required.
  • Existing build and deployment processes remain unchanged.
  • By Q1 2027, IBM plans to raise the compile baseline to Java JDK 21. As a result, deployment on IBM JDK 8 will no longer be supported, and the transition to JDK 21 will be fully completed. Container images and the DTK will be provided exclusively for JDK 21.
    For on‑premises customers, all fix packs and quarterly releases from IBM can be applied only on a JDK 21 runtime.
    Important: Customers are strongly advised to ensure that their custom code is fully compatible with JDK 21, both in terms of compilation and runtime functionality, in preparation for the transition.

    The following pre‑migration checklist provides a high‑level guideline to support customers throughout their migration journey.

Pre-migration checklist

  • Verify that you are on IBM Sterling Order Management System next-generation platform.
  • Take an inventory of your application to identify any dependencies and Java features that are used.
  • Take an inventory of your application to identify any dependencies your custom code may have on third party jars packaged as part of Sterling Order Management System.
    Note: Some of these jars may not be present in the JDK 21 version of Sterling Order Management System.
  • Check third-party libraries to make sure that they are compatible with IBM Semeru JDK 21.
  • Verify that your build tools support IBM Semeru JDK 21.
  • Update CI/CD pipelines for the new JDK version.
Note: The current Java Runtime Environment (JRE) is JRE 8 but needs to be updated to version 21. IBM Semeru JDK 21 includes the updated JRE, compiler, and development tools.

Migration strategy

Phased migration approach
Determine when you plan to migrate based on your normal business operations and priorities and then contact IBM Support. Plan to migrate your environments systematically from your pre-production environments through your production environment.
Testing approach
Upgrade and test thoroughly in each pre-production environment before you move to the next environment. Focus your testing primarily on customizations, integrations, and workflows. Unit, integration, and regression tests are critical. Plan to test your migrations step-by-step starting with your pre-production environments and working up to your production environment. Validate application stability and performance before you upgrade your production environment.
Note: If your data includes emojis or accented characters, test relevant flows in your pre-production environments. Known issues with special characters can occur; workarounds are available, and permanent resolutions are scheduled for a future release.

Migration process

You can upgrade all of your environments to IBM Semeru JDK 21 through Self Service per your plans. Migration scheduling does not depend on IBM.
  1. In the Self Service application, from the Downloads area, download the latest developer toolkit (DTK) at the IBM Semeru JDK 21 level.
  2. Build the extension JAR file in the IBM Semeru JDK 21 DTK.
  3. Upload your extensions package to Self Service at the IBM Semeru JDK 21 level.
  4. On the Environment Details page, in the Upgrade to JDK21 available box, click Upgrade.
  5. From the drop-down menu, select the uploaded JDK 21 custom JAR file and submit.
  6. Track the upgrade status from the Process tab.
  7. Validate all business-critical scenarios and integrations.
  8. Upgrade and test your pre-production environments.
  9. When testing is successfully completed in your pre-production environments, upgrade to IBM Semeru JDK 21 in your production environment.

Migration notes

IBM recommends paying close attention to the following considerations during the migration process:
  • Customers are using classes from xalan.jar in JDK 8. IBM will remove the xalan.jar in the JDK 21 version of Q3 2026 release images. This is because the classes from this JAR are now pulled into the core Java packages in JDK 21.

    Most Xalan classes are incorporated into JDK 21 core modules and will continue to work seamlessly since the package structure is retained. However, some classes are deprecated and removed, or are internal classes that are moved to internal modules and are therefore not accessible.

    To ensure a smooth migration, review your custom code to verify that it does not rely on deprecated or internal xalan.jar classes, and update any code that uses unavailable classes to use supported alternatives.

    On a JDK 21 DTK prior to Q3 2026, to test this dependency, delete the xalan.jar from the jar\xalan\2_7_3 folder and then build and test the customization.

    Use the following steps:
    1. Run the following command in the extracted runtime and in the om-runtime containers.
      ./install3rdParty.sh xalan 2_7_3 -j ../jar/xalan/2_7_3/xalan.jar -uninstall -targetJVM EVERY
    2. Regenerate and redeploy the ear.
      ./om-compose.sh update-extn
  • Customers are using classes from the following packages that are deprecated and removed from JDK 21. To ensure a smooth migration to JDK 21, review your custom code to verify that it does not rely on these removed packages, and update any code that uses unavailable classes.
    1. Java Architecture for XML Binding (JAXB)
      Packages:
      • javax.xml.bind.*
      • javax.xml.bind.annotation.*
    2. Java API for XML Web Services (JAX-WS)
      Packages:
      • javax.xml.soap.*
      • javax.xml.ws.*
      • javax.xml.ws.*.handler.*
    3. Java Activation Framework
      Packages:
      • javax.activation.*