Thoroughly Modern: The Synon Transformation Journey, From Legacy To Modern Java Solutions
July 8, 2024 Chris Koppe
In today’s evolving tech landscape, companies that run CA 2E (Synon) on IBM i face significant challenges hindering progress and sustainability. Synon represents a fraction of the market share in IBM i environments, far behind RPG and COBOL, and IBM’s recent announcement to cease PL/I support in future OS versions will impact compliance for SOX-regulated and other industries.
Moreover, shifts in ownership – from Computer Associates to Broadcom – cast doubt on Synon’s long-term viability and continued support. A dwindling pool of Synon developers, brittle applications that are difficult to integrate with modern technologies, and cryptic database structures further add pressures to Synon shops.
So, what do you do with your Synon applications? We highlighted some options in a recent blog post. One option is to “keep the lights on” – a risky choice that involves maintaining the status quo despite significant long-term challenges. You can also adopt a packaged application. While this might seem like a safe bet, packaged applications are often costly and fail to provide the level of customization companies have come to rely on. You might be tempted to rewrite applications from scratch, but these projects are typically five times costlier than automated code transformation and they take 2X to 3X longer to complete (if you manage to complete the project).
The most attractive and viable option is using tool-assisted automation to transform Synon applications to Java. This approach requires a lower investment and ensures faster time to market.
Know Before You Go: Take A Strategic Approach To Synon Code Transformation
Fresche’s Transformation Factory offers an end-to-end framework for transforming legacy Synon (and RPG) into modern Java applications. The Discovery phase is a critical starting point for a successful transformation project.
During this phase, the goal is to assess the current state of your Synon applications and the associated IBM i environment. This assessment involves a thorough code analysis to understand the complexity, dependencies, and business logic embedded within the legacy system. Because project costs are driven by size and complexity, the inventory process right-sizes the scope to only include actively used objects. Additionally, the Discovery phase includes stakeholder interviews and workshops to gather insights into the desired state of the transformed system and develop the fundamentals of the business case.
One of the key outputs of the discovery phase is a transformation roadmap. This roadmap outlines the various stages of the transformation journey, including timelines, resource allocation, and risk management strategies. It serves as a comprehensive guide that aligns all stakeholders and sets clear expectations. Companies that invest in this phase can avoid costly surprises and ensure that the transformation project stays on track.
Automated Tools: The Code Transformation Process
Once the discovery phase is complete, the transformation begins in earnest. Automated tools analyze and break the application into modules for incremental transformation. These tools are designed to automate the labor-intensive aspects of code transformation, thereby reducing the risk of human error. They provide a detailed visualization of the legacy code and its dependencies that helps to understand the interconnections within the Synon application and makes it easier to plan the transformation.
Some companies choose to use a UI modernization tool to give their existing screens a modern UI while the larger transformation takes place. This is an important part of the transformation journey because the intuitive web-based screens improve user adoption and demonstrate early success with an incremental deliverable.
The next step is to transform the code through a two-stage transformation process of design deconstruction and forward generation. Another critical tool is a Code Transformation Engine that facilitates the actual transformation of Synon code to Java. Unlike traditional converters that execute a line-by-line conversion, this engine deconstructs the design patterns in the existing code and rearchitects the generated code into a more modern architecture. The resulting Java code is modular and adheres to best practices in software development, ensuring that it is both maintainable and scalable, as confirmed by IBM’s independent code analysis.
Modern Architectural Paradigm: Beyond Code Transformation
Modern architectural paradigm adoption entails more than simply converting code; it necessitates a foundational shift in the design and operation of applications. Fresche’s approach incorporates the adoption of a multi-tiered architecture, which disassembles the monolithic Synon application into smaller, independent services. This modular structure significantly enhances the system’s flexibility and scalability, enabling seamless integration with contemporary technologies and services.
The core layer of the transformed application is driven by Spring Boot, a powerful framework designed to develop enterprise-level applications. Spring Boot enhances the development experience by offering pre-configured templates and tools that facilitate the creation of secure, high-performance applications. Serving as the backbone of the transformed application, this core layer manages interactions between the front-end, database, and other microservices efficiently.
Database Modernization: A Key To Longevity
Transforming the database is a critical step in the modernization process. Most legacy IBM i databases are built using DDS (Data Description Specifications), which is limited in its ability to support modern database features. Success lies in a proactive approach that converts DDS tables into SQL-based tables and enriches them with enhanced capabilities such as referential integrity, long field names, and standardization of date storage types.
The database transformation process involves an automated, thorough analysis of the existing database schema and the code-driven relationships between tables to harvest a comprehensive data model for the modernized database. Tools automate the conversion and enrichment process, ensuring that the new SQL tables retain the same functionality while being easier to understand and maintain. This modernized database forms the foundation of the transformed application with better data management and the ability to make future enhancements.
Automated Testing: Ensuring Quality and Performance
Automated testing tools are used to validate the transformed application, ensuring that it meets the highest standards of quality and performance. These tools can be used to perform various tests (e.g. functional tests, integration tests and performance tests) to verify the functionality and efficiency of the new system.
One of the key advantages of automated testing is the ability to perform regression testing. This involves comparing the outcomes of the legacy system with those of the transformed application to ensure that the transformation has not introduced any errors or inconsistencies. The testing approach also includes comprehensive test coverage analysis, identifying any gaps in the testing process and ensuring that all critical aspects of the application have been thoroughly tested.
Co-Existence Technology: Ensuring Seamless Transition
Co-existence plays a crucial role in ensuring a seamless transition from the legacy Synon system to the modern Java application. This allows the old and new systems to run concurrently so incremental deployments do not disrupt business operations. This phased approach ensures that any issues can be identified and resolved early, which minimizes many risks associated with large-scale transformation projects.
Cloud Provisioning And Beyond
In the modern IT landscape, cloud computing offers unparalleled flexibility and scalability. Fresche’s transformation process includes robust cloud provisioning capabilities that enable companies to harness the power of the cloud for their transformed applications.
The integration of cloud servers is an essential part of the development and transformation process. Some companies aim to move away from data center management, eventually moving to Java in the cloud. Other clients face space limitations and lack the necessary infrastructure to support their transformation, so they provision a cloud server.
Ongoing performance monitoring and security management ensure that the transformed application remains secure and efficient in the cloud environment. This comprehensive support ensures that companies can realize the full benefits of cloud computing while maintaining high standards of security and performance.
Start Your Transformation Journey
The journey from legacy Synon applications to modern Java solutions is complex, but with strategic planning and the right partner, it can lead to numerous business benefits. To learn more about how Fresche can help accelerate your Synon modernization journey, attend our upcoming webinar series “Accelerate your Synon Modernization Journey.” Hosted by Marcel Sarrasin and myself, these webinars will take place on July 11 and July 25 at 1 PM ET.
Whether you are just beginning to explore your options or are ready to embark on your transformation journey, these webinars will equip you with the knowledge and tools needed to make informed decisions. Join us to discover how you can turn challenges into opportunities for innovation and growth. Register here.
Chris Koppe is senior vice president of strategic transformation at Fresche. Since joining Fresche in 1988, Chris has helped hundreds of companies develop and execute successful application management and modernization strategies across a variety of platforms, languages, databases, and technologies. This insight has allowed Chris to accumulate a wealth of best practice expertise that covers everything from strategy and planning to implementation to deployment and project governance for large-scale IBM i modernization projects.
This content is sponsored by Fresche Solutions.
RELATED STORIES
Thoroughly Modern: Still Making These Six IBM i Security Faux Pas? STOP!
Thoroughly Modern: How To Navigate IBM i Cloud Success – Beyond Migration
Thoroughly Modern: Proceed With Caution With AI In The Landscape Of Cybersecurity
Thoroughly Modern: A Practical Primer For The IBM i Cloud Journey
Thoroughly Modern: From Tradition To Transformation For IBM i In The Era Of Cloud And AI
Thoroughly Modern: How IBM i Shops Can Navigate The AI Landscape In 2024
Thoroughly Modern: Practical Ways IBM i Developers Can Use AI Today
Thoroughly Modern: How X-Analysis Transforms IBM i Challenges Into Solutions
Thoroughly Modern: What’s New In IBM i IT Planning
Thoroughly Modern: Top Things To Stop IBM i Hacks
Thoroughly Modern: Remote Managed Services Fill In For Retiring And Overburdened IT Staff
Thoroughly Modern: Proven Strategies For Innovating IT And IBM i In A Digital Age
Thoroughly Modern: Unlocking the Full Potential Of Your IBM i Applications
Thoroughly Modern: Why Modernizing IBM i Applications Is Important And Where to Start
Thoroughly Modern: What You Need to Know About IBM i Security
Thoroughly Modern: Flexible And Fractional Staffing Models That Deliver
Thoroughly Modern: How To Optimize IT In 2023
Thoroughly Modern: A Swiss Army Knife For IBM i Developers
Thoroughly Modern: Digital Solutions For IBM i And Beyond
Thoroughly Modern: Simplify IBM i Application Management and Extract Key Insights
Thoroughly Modern: Four Ways Staff Augmentation Is Helping IT Get Things Done
Thoroughly Modern: Bring Security, Speed, And Consistency To IT With Automation
Thoroughly Modern: Good Security Is Just As Important As Good Code
Thoroughly Modern: The Real Top 5 Challenges For IBM i Shops Today
Thoroughly Modern: Improving The Digital Experience With APIs
Thoroughly Modern: IBM i Security Is No Longer Set It And Forget It
Thoroughly Modern: Taking Charge of Your Hardware Refresh in 2022
Thoroughly Modern: Building Organizational Resilience in the Digital Age
Thoroughly Modern: Time To Develop Your IBM i HA/DR Plan For 2022
Thoroughly Modern: Infrastructure Challenges And Easing Into The Cloud
Thoroughly Modern: Talking IBM i System Management With Abacus
Thoroughly Modern: Making The Case For Code And Database Transformation
Thoroughly Modern: Making Quick Wins Part Of Your Modernization Strategy
Thoroughly Modern: Augmenting Your Programming Today, Solving Staffing Issues Tomorrow
Why convert to Java, when you can accomplish a far better result with Modern RPG. Agree we need to be thinking about how to address the concern with SYNON, but why lock your self in to the Java paradigm. Why not leverage Modern RPG, where you can use Modern source control (like Git) VsCode, Rest Apis, gain all the same benefits off going to Java, BUT, not lose the security, reliability, cost structure(yes…it will cost you more to run an application on Java.. period, and that is local, talk cloud.. and the cost is even more) AND, this is the one that is most always over looked…moving to Java you lose the release to release compatibility you have enjoyed for years. You will be paying a tax…you will need to update to newer version of Java, AND things will change, and you will be having to react to those changes.
Moving from SYNON.. sure, but consider Modern RPG, and continue to leverage the benefits that IBM i and the integrated Db2 provides.