How to modernise your monolithic legacy applications

10/06/2019 minute read Rob Anderson

The summer holidays are only a month away. Soon, schools will begin to wind down for the year, which means your tiny human family members are coming up on their summer break, a fact that might have you feeling blissfully relieved to have a reprieve from strict wake up times, carpools and routines. Chances are, though, you might actually be in a state of panic.

If you’re a parent, whether your kids are still of school age or have already flown the nest, you know this pre-summer feeling of panic well as the close of school draws nearer. The idea of long, unstructured days without a fully formed plan in place can seem a little stressful.

Much like the frame of mind of parents entering this long, 6-week consecutive stretch of ‘free’ days, with unruly children running in the wild without a harness, so too is the feeling you might have about the state of your monolithic legacy applications running on a mainframe. You might be terrified about entering the second half of the year without a real action plan or process for doing something about your ageing applications.

You know your lack of movement to modernise is continuing to weigh down your immediate and long term business goals. And, you’re likely already facing looming deadlines with out-of-date technologies, end of life product support, an ageing workforce, as well as compliance and regulation deadlines. The clock is ticking on your legacy applications, much like the clock that ticks for summer’s inevitable approach.

To help you get out in front of this challenge, we’ve outlined the following plan and process, complete with all of the core elements and phases needed to help you solve your legacy environment woes.

Begin with a complete Discovery to break down the technical and financial feasibility

  • Determine customer goals and objectives, including key stakeholder identification and discussions, budget and timing requirements
  • Gather details on your application and environment including characteristics, types, quantities, hardware / operational requirements
  • Gain access to a proposal with migration approach and/or rough order of magnitude (ROM) budgetary pricing estimates

Assess and Design in order to understand your environment and shape a strategic plan

Any modernisation effort must begin with an assessment and design process consisting of two key service activities. The automated application assessment is intended to clearly define the current state of applications and databases, whilst the operational and infrastructure assessment identifies the current state of operations and infrastructure.

A key element of the automated application assessment is a focus on upfront scope reduction. In most cases, legacy applications are overflowing with dead and unused code, code referencing external resources that have long-since been retired, and other artefacts that can be carefully and safely eliminated from the environment. In fact, after the assess and design process is complete, our customers see an average codebase footprint reduction of up to 70 percent. The addition of an operational and infrastructure assessment provides a complete picture of the legacy system that reduces ongoing complexity, enabling our team of experts to fully define a modernisation project plan including assignments, responsibilities, timeframes, and costs.

Automated Application Assessment

During the automated application assessment, application components are classified and listed in detail with notes attached to components requiring special attention. All application components are inventoried and cross-referenced, while missing components are collected and added to the inventory. Duplicate components residing in multiple repositories are also eliminated from the inventory with guidance from the customer.

Advanced also highlights topics that could be troublesome during maintenance or augmentation, and which must be addressed prior to the modernisation effort. Once these areas of concentration are identified, experts work together to implement appropriate solutions. Common areas of concentration in assembler environments include user-defined Macros and code patterns that could easily and efficiently be refactored to improve maintainability in the target environment. The goal of this phase is to define the current state of applications and databases and allow you to:

  • Know what you have, what you use, and how you use it
  • Know the size, composition and complexity of every application
  • Know all databases and files, and how and when they are used and shared
  • Determine required modifications in order to take advantage of dynamic scaling abilities of the cloud
  • During the assessment you should be able to identify areas where state may be stored on the application tier

Operational & Infrastructure Assessment

The operational and infrastructure assessment should complement and cross-references the findings of the automated application assessment to ensure an understanding of the customer’s entire legacy landscape. The infrastructure assessment focuses on the hardware requirements for the appropriate target distributed system architecture. Captured information is used to determine the associated architecture and cost of the target infrastructure.

The aim is to ensure a deep understanding of the processes in place for managing and monitoring the application workloads in the target environment, how to monitor and performance-tune the environment, and the composition and options are available to adequately outfit the target environment, including cloud-based platforms. The overall result of this phase is to be able to define the current state of operations and infrastructure and will help you to do the following:

  • Understand the legacy landscape
  • Garner details on every vendor product/tool you have, how they’re used, what enterprise license agreements are place
    • Know the size and composition of your mainframe, servers and other devices
    • Understand the processes in place for managing and monitoring online and batch applications
  • Know how to monitor and enhance performance
  • Gain insights into the target operational and infrastructure options, including information about leveraging cloud-based platforms

Transform your environment with a detailed project plan & partners with experienced execution

The transformation process begins after the assess and design process is complete and a strategy for moving ahead is established. Automated database and data conversion is performed alongside automated application conversion. In addition, the target environment and relevant operational infrastructure is built out, alongside any necessary operational data migration activities.

Transformation is the heart of the automated conversion solution, which will enable developers to extend application functionality directly without having to navigate decades-old assembler instructions to do it. Throughout the transformation, precious business logic from the legacy system is preserved, enabling deeper integration, cloud migration, and customisation to meet business requirements.

Automated Database & Data Conversion

  • Automated Database & Data Conversion provided by Advanced supports Db2, IMS DB, Adabas, Datacom, IDMS, VSAM
    • Convert non-relational databases (e.g. IMS, IDMS, etc.) and VSAM to target relational database
      • Targeting Db2 LUW, Oracle, PostgreSQL, SQL Server (on any platform), Db2 for z/OS
      • Option for NoSQL targets such as MongoDB, Cassandra, Hadoop or cloud-specific databases such as AWS RDS, Aurora, Azure SQL, etc.
    • Db2 may be converted to a different relational database
  • Sequential and GDGs are retained as flat files
  • The good news is, your data never leaves your customer site

Automated Application Conversion

  • An automated conversion offering should address COBOL, Assembler, ADS/Online, CA Gen, Natural and other languages converted to maintainable Java or C#, JCL to JSR-352 XML or retained as JCL
    • Use a process that leverages automated tools to reduce risk
    • Convert only components in use by active apps
    • Be sure you can retain business logic, remove redundant code
    • Finally, source code should retrofit to avoid any development freeze
  • Consider containerised, cloud-ready deployment by leveraging standard Java or C# frameworks. In addition, you and further optimise and refactor your applications to take advantage of the elastic cloud infrastructure, even Incrementally reengineering and replacing monolithic functionality with modern macro and microservices

Operational & Infrastructure Implementation

During this phase, all operational and infrastructure components required by the modernised applications are provisioned, configured, implemented and integrated. This includes the underlying hardware platform and all required third-party software. QA/Test environments are built out first, and applications are tested to ensure complete functionality before deploying to the final target environment. If necessary, specific operational data migration-related tasks are completed during this phase, including the migration of required batch job schedules, security profiles, and any archived data.

Additional benefits include:

  • Gain operational and infrastructure support for areas such as:
    • Infrastructure and operational software selection, installation, configuration, integration, management, and monitoring
      • Operational data migration related tasks, e.g. Job schedule, security profile, source code mgt. migration, etc.
      • Operational support during duration of the modernization project (and post Go-live)
    • Provide support/guidance for on-premises or cloud-based deployment options
      • Cloud-specific deployment strategy consulting

Conduct Test Planning, Execution, Final Validation and Go-Live Planning

In our 30+ years of experience completing successful modernization projects, we’ve seen a common pattern in which customers often underestimate the required effort for testing. It can take up to 50 percent of the time required as part of a larger modernisation efforts.

In the case of Advanced’s customer The New York Times, it was as high as 70-80 percent of the time spent on the automated refactoring of their mission critical application powering their Home Delivery Platform.  For The New York Times’ application, it was critical to have functional equivalence between the Java application and the COBOL application. Component groups assembled related components that would be runnable and testable together as a single entity through existing externally accessible interfaces, such as web services, user interface screens, database tables, and files.

Overall Advanced-led Testing Services focuses on:

  • Test Strategy Workshop
  • Pre-delivery testing
  • Application discrepancy correction

Customer or Advanced-led Testing Services can include:

  • Baseline test for planning
  • Regression (unit) testing
  • Integration testing
  • User Acceptance Testing (UAT)
  • Performance / Load testing
  • Security testing
  • HA / DR testing
  • Data migration testing

Go-live contingency planning and preparation:

  • Provides assistance to customer led planning, preparation, and execution of production cutover
    • Validate readiness to deploy into production including application/data, environment, people
    • Supports cutover into the new environment
  • Typically includes multiple dry run cutovers, fall back procedures, etc. to validate / fine tune plan
  • Provide production cutover timing information. Ensures that all data is converted and ready for production in the time allotted.
  • Assess overall readiness and validate documented process
  • Provide the start of any parallel testing runs

Although we can all long for summertime days of the past, when we could run amok in the streets of our childhood neighbourhoods, totally untethered, the same approach cannot be taken with your legacy applications.

Instead of turning this summer into a never-ending loop of Bananarama’s 1984 hit ‘Cruel Summer’ (‘It's a cruel, cruel summer, leaving me here on my own…’), go out and find your modernisation partner, and together you can face that legacy modernisation project once and for all.

We’d love to hear about your legacy modernisation trials and tribulations, and talk with you to learn more about how we can help. Contact us for an assessment of your mainframe environment.