Main Article Content

Abstract

Upgrading from Java 8 to Java 17 in the enterprise setting is both challenging and an opportunity, especially for mission-critical ecosystems. Java 17 is a long-term support (LTS) version that includes numerous enhancements over Java 8, including language syntax enhancements, improved garbage collection and memory management, enhanced security models, and modularization via the Java Platform Module System (JPMS). Nevertheless, the opportunities presented by Java 17 can be fully realised with the assistance of a well-organised migration plan that assesses risks, implements mitigation strategies, and ensures the equipping of enterprise-scale systems. This paper proposes a risk-based migration framework that is SAP-based, Java environment-specific, and identifies safe migration patterns, along with a detailed case study example to demonstrate how the workflow migration methodology works. We suggest an expedient and replicable solution that accommodates modernization.

Keywords

Java migration Java 17 Modernization Risk-driven framework Backward compatibility Enterprise Java

Article Details

How to Cite
Kathi, S. R. ., Joshi, P. ., Muralidhar, V. ., & Venugopalan, A. . (2026). Secure migration patterns from Java 8 to Java 17 in the mission-critical ecosystem: a risk-driven approach to modernization . Future Technology, 5(2), 297–309. Retrieved from https://fupubco.com/futech/article/view/835
Bookmark and Share

References

  1. Oracle. (2021). Java SE 8 End of Public Updates. Oracle Technology Documentation.
  2. https://www.oracle.com/java/technologies/java8-support.html
  3. Oracle. (2021). JDK 17 Feature Specification Overview. OpenJDK Project.
  4. https://openjdk.org/projects/jdk/17/
  5. Dahanayake, D., Deelsnyder, J., & van der Weide, T. (2020). Challenges in integrating Java with enterprise SAP environments: A case-based analysis. Proceedings of the 2020 IEEE International Conference on Enterprise Systems, pp. 157–164. IEEE. https://doi.org/10.1109/ES.2020.00027
  6. Islam, M. R., Mahmood, A., & Hossain, M. (2021). Modernizing Java applications: Techniques and tools for migration. Journal of Software Engineering Research and Development, 9(1), 1–20.
  7. https://doi.org/10.1186/s40411-021-00123-4
  8. Oracle. (2016). JEP 246: Use G1 garbage collector as the default server GC. OpenJDK Project.
  9. https://openjdk.org/jeps/246
  10. Oracle. (2018). JEP 333: ZGC scalable low-latency garbage collector. OpenJDK Project.
  11. https://openjdk.org/jeps/333
  12. Oracle. (2019). JEP 361: Switch expressions (standard feature). OpenJDK Project.
  13. https://openjdk.org/jeps/361
  14. Oracle. (2021). JEP 394: Pattern Matching for instanceof. OpenJDK Project.
  15. https://openjdk.org/jeps/394
  16. Oracle. (2021). JEP 395: Records in Java. OpenJDK Project.
  17. https://openjdk.org/jeps/395
  18. Oracle. (2021). JEP 409: Sealed Classes and Interfaces. OpenJDK Project.
  19. https://openjdk.org/jeps/409
  20. Oracle. (2016). JEP 252: Default locale data based on Unicode CLDR. OpenJDK Project.
  21. https://openjdk.org/jeps/252
  22. SAP. (2024). SAP Java Connector (JCo) Technical Documentation. SAP Help Portal.
  23. https://help.sap.com/docs/JCO_LIB
  24. SAP. (2023). SAP Business Technology Platform Documentation. SAP Official Portal.
  25. https://www.sap.com/products/technology-platform/btp.html
  26. Reinhold, M. (2017). The State of the Java Module System. OpenJDK Jigsaw Project.
  27. https://openjdk.org/projects/jigsaw/spec/sotms/
  28. OWASP Foundation. (2023). OWASP Risk Rating Methodology. Available: https://owasp.org/www-community/OWASP_Risk_Rating_Methodology
  29. OWASP Foundation. (2023). OWASP Dependency-Check Documentation. Available: https://owasp.org/www-project-dependency-check/
  30. Apache Software Foundation. (2024). Apache Maven Dependency Plugin – Official Documentation. Available: https://maven.apache.org/plugins/maven-dependency-plugin/
  31. VMware. (2022). Spring Framework 6.0 Reference Documentation. Available: https://docs.spring.io/spring-framework/docs/6.0.x/reference/html/
  32. VMware. (2022). Spring Boot 3.0 Migration Guide. Available: https://docs.spring.io/spring-boot/docs/3.0.0/reference/htmlsingle/
  33. Eclipse Foundation. (2023). Jakarta EE 10 Platform Specification. Available: https://jakarta.ee/specifications/platform/10/
  34. Oracle. (2017). JEP 261: Module System (Project Jigsaw). OpenJDK Project. Available: https://openjdk.org/jeps/261
  35. Unicode Consortium. (2024). Unicode CLDR Project Documentation.
  36. https://cldr.unicode.org/
  37. Apache Software Foundation. (2024). Apache Maven Project Documentation. Available: https://maven.apache.org/
  38. Feitelson, D. G. (2015). Workload Modeling for Computer Systems Performance Evaluation. Cambridge University Press. https://doi.org/10.1017/CBO9781107280142
  39. Oracle. (2021). JEP 376: Hidden Classes. OpenJDK Project. Available: https://openjdk.org/jeps/376
  40. Oracle. (2021). JEP 411: Deprecate the Security Manager for Removal. OpenJDK Project. Available: https://openjdk.org/jeps/411
  41. NIST. (2020). Security and Privacy Controls for Information Systems and Organizations (SP 800-53 Rev. 5). National Institute of Standards and Technology. https://doi.org/10.6028/NIST.SP.800-53r5
  42. Oracle. (2021). JEP 403: Strongly Encapsulate JDK Internals. OpenJDK Project. Available: https://openjdk.org/jeps/403
  43. Li, Z., Liang, P., & Avgeriou, P. (2015). Architectural debt management in enterprise systems: A case study. Journal of Systems and Software, 110, 19–33. https://doi.org/10.1016/j.jss.2015.08.025
  44. Mens, T., & Demeyer, S. (2008). Software Evolution. Springer. https://doi.org/10.1007/978-3-540-76440-3