Displaying items by tag: mainframe

Going to AWS re:Invent 2022 in Las Vegas? The TSRI team is. The magic number to remember for accelerating and assuring your software modernization projects is 846. That’s our booth at the event where you’ll find our team and hear about our advanced JANUS Studio® solution to modernize your software applications to the AWS cloud.

 

 

DON'T GAMBLE WITH SOLUTIONS WHEN IT COMES TO YOUR CODE.
CONNECT WITH THE EXPERTS AT TSRI.

AWS Mainframe Migration Competency Partners

As a vetted and validated AWS Mainframe Migration Competency partner, TSRI provides rapid, low-risk software modernization for deployment on AWS.

Stop by to see how the TSRI team has strategically planned and executed hundreds of successful modernization projects. We’ll be ready to discuss the business and technical details of our modernization solution and answer questions about how TSRI transforms more than 35 different languages operating without code-freeze and business disruption in a graceful, step-wise manner.
 

 

GAIN A FAST ADVANTAGE

AWS ISV Accelerate Program Member

At the booth, you can get a head-start on launching projects from kick-off and execution to ongoing operations on the AWS cloud. Because TSRI has earned membership in the AWS ISV Accelerate Program, we offer prioritized access to the AWS co-sell support team to drive faster adoption of ISV solutions. That means our customers get access to valuable resources that provide guidance to achieve better results through collaboration with the powerful AWS Sales and Account Management organizations.

 

YOU'VE GOT QUESTIONS

We've got over 250 successful migrations to reference

We speak from experience. TSRI has transformed some of the most secure and mission-critical military, government, and finance systems in the world to full business operations in cloud-ready modern languages. Our team at AWS re:Invent would love to share insights from real-world case studies across a broad range of industries.

— Ask us how we saved Pitney Bowes 97% on their annual Total Cost of Ownership by moving them—without disruption—from COBOL on an HP NonStop Tandem mainframe to a modern C# .NET Core application in production on AWS.

— You might also want to know how it only took six weeks to move the Canada Revenue Agency’s Help Desk application to AWS—while reducing their annual system maintenance costs by 80%.

— While you’re there, find out how we achieved a 99.9996% automation rate in modernizing all but one or two lines of code while transforming Educational Testing Services (ETS) from COBOL and JCL to Java and Python on AWS. That included a high-transaction batch system, DB2 and VSAM to PostgreSQL, as well as a very large number and variety of sort cards that required automation. We would love to tell you how we did it—and show you what we can do for you!

 

 

STOP BY BOOTH #846 OR PRE-SCHEDULE YOUR VISIT NOW

We love talking about this stuff. That’s partly why we love AWS re:Invent so much. It’s our chance to meet you face-to-face.

Our team of experts will be available to answer questions about your specific application modernization scenario, provide demonstrations, and share case studies of TSRI’s successful modernization projects spanning government, military, finance, insurance, retail, and many other industries. To get expert one-on-one modernization advice at AWS re:Invent put yourself on our calendar now.

Schedule a Session

 

---

Proven by Decades of Results. Prove It for Yourself. 
For decades, TSRI clients have been discovering a dramatically faster, more accurate, and less expensive AI-based and automated modernization process. We’ve earned a place as the go-to resource for enterprise corporations, government, military, healthcare, and more. Now prove it for yourself. Find out how the proprietary TSRI modernization process delivers future-ready, cloud-based code in any modern language in a fraction of the time. 

See Case Studies 
Learn About Our Technology 
Get Started on Your Modernization Journey Today! 

Published in Events
Friday, 23 September 2022 14:54

Budget Surplus Is a Dirty Word

In stark contrast to its 2021 numbers, the US Federal Government expects to end this fiscal year (2022) with a surplus of $308 billion dollars according to the Congressional Budget Office. (As opposed to last year’s $226 billion deficit.) While that excess fuels clickable headlines for politicians, it’s not great news if your agency or department uses less budget than you predicted—while possibly falling short of longer term goals such as software modernization.

“Use it, or lose it” is a real thing that has caused Federal Government agencies and departments to lose or cut over $127 billion between 2009 and 2019. In one stark example from 2019, the Department of Defense had to return $80 billion in unused budget.

 

The average amount of budget fund cancelation is about 1.6% annually.”

 

According to the Government Accountability Office, the average amount of budget fund cancelation is about 1.6% annually. While that number doesn’t sound large, it can have an erosive effect on your budget and create a downward trend that can be more difficult to reverse down the road when increases could be genuinely needed. And while the examples above are government figures, the principle is the same in the private sector—or even more tightly policed.

So, what can you do as we near the end of your fiscal year if you find yourself with that ugly surplus—even of a measly one or two percent or less? We’ve got four suggestions for you:

 

1. NOTCH YOUR ARROWS FOR NEXT YEAR

Take some time to cast ahead to your fiscal 2023 strategy. What updates and improvements would you like to see by the end of next year?

Knowing that you have money in your coffers ahead of time, consider what additional resources, technology, or assistance will help you achieve those goals. Are there moderate investments such as modernization planning that you can make this year that could give you wiggle room should the vagaries of budget and crisis change your situation next year? Are there plans you’d like to lock in now?

As you envision what next year should look like, consider software modernization. One smart use of funds ahead of a modernization project is using the final couple of months of this year to get an assessment for your program. It only took TSRI six weeks to assess the entire AT&T billing system with 961,780 lines of code and comments through our JANUS Studio®, delivering an Application Blueprint® that enabled them to begin the next phases of their modernization more efficiently.

 

It only took TSRI six weeks to assess the entire AT&T billing system with 961,780 lines of code.”

 

 

2. UPSKILL YOUR TEAM

Professional development does more than grow your organizational toolkit of capabilities; it also helps employee retention during a time of 3.5% unemployment.


In a fascinating 2022 learning and development study, LinkedIn found that the #1 driver of workplace culture (and so, retention) is opportunities to learn and grow. And in a time where languages like COBOL and Ada don’t even rank in the top ten searched languages, training in modern languages can also pay off for your organization. In a Microsoft-sponsored study, IDC found that IT professionals who have achieved a relevant role-based technical certification perform on average 26% better than their uncertified colleagues with the same responsibilities. Certifying your people is worth the investment.

 

3. UPGRADE YOUR TECHNOLOGY

If you have money left over, it’s a great time to provide your teams with technology that matches both the needs of a more mobile, more connected, and more secure world.

These can be affordable, pointed investments that can pay off with increased productivity, security, and employee satisfaction while positioning your teams to face changing needs. As you consider your options, think in terms of:

Mobility: More powerful and secure laptops and tablets

Business processes: Point of sale for retail, connected medical devices

Cloud computing: New as-a-Service applications, storage devices, and subscriptions

Cybersecurity: Assess and upgrade your current measures

Automation: Software, AI, and services to automate large, repetitive, or formerly impossible tasks

Let’s talk about that last one.

 

4. GET A FIRM HANDLE ON YOUR CURRENT CODE

Even if you’re not planning on modernizing code, poorly written or undocumented applications that are written in hard-to-understand languages can be a huge IT operating expense for you.

A Harris poll found that developers spend an average of 17 hours a week (42% of their time) dealing with bad code. Basic understanding of code content should be a prerequisite for any software-managing organization: know what’s there. But with millions, or tens of millions of lines of code, that can be very difficult or impossible to do manually.

 

Developers spend an average of 17 hours a week (42% of their time) dealing with bad code.”

 

 

That’s where TSRI DocsRev makes a powerful investment in all 365 days of 2023—and beyond.

DocsRev is automated code documentation-as-a-Service. It allows users with varying experience levels to quickly familiarize themselves with the structure and flow of the application through easily navigable diagrams, hyperlinking code, and other UML artifacts and graphics. It’s powered by the same automated tools our clients have trusted to document the world’s most critical applications since 1995. Now our technology is available to you as a simply-priced and easy-to-manage service that keeps you up to date on what’s really in your code.

In addition to giving you always-current code documentation, DocsRev apprises you on your application's current complexity, structure, control flow, data flow, similarity, and dead code. All you need to do is upload your latest code baseline to receive complete and detailed documentation. 

Trusted by major organizations around the world for application maintenance and development, DocsRev frees you from uncertainty by letting you easily inspect and identify external calls, utilities, and interfaces. DocsRev shows you what your code is actually up to by automatically exposing EXEC statements your application is using such as SQL, CICS, and more.

 

Let’s Make Your 2023 Budget Process Go Smoothly

Throughout next year and beyond, your code will change based on your needs. To make sure you have the right views into whatever happens in your code, the DocsRev team is continually adding new views, graphs, indices, diagrams, and other features to its documentation set.

---

Proven by Decades of Results. Prove It for Yourself. 
For decades, TSRI clients have been discovering a dramatically faster, more accurate, and less expensive AI-based and automated modernization process. We’ve earned a place as the go-to resource for enterprise corporations, government, military, healthcare, and more. Now prove it for yourself. Find out how the proprietary TSRI modernization process delivers future-ready, cloud-based code in any modern language in a fraction of the time. 

See Case Studies 
Learn About Our Technology 
Get Started on Your Modernization Journey Today! 

Published in Government

CRA and AWS engaged with TSRI to complete the modernization of their COBOL-based system to Java on AWS. To Achieve CRA's goals, TSRI tuned JANUS Studio® to parse, transform, document, and refactor the IBM z/OS COBOL application. In just 1.5 months, TSRI modernized the application from an IBM Mainframe COBOL and CICS monolith to a modern multi-tier architecture in Java on the AWS cloud. Just as important, TSRI also converted the DB2 database and VSAM sequential files to a relational PostgreSQL database on AWS Aurora.

Customer: Canadian Revenue Agency (CRA) and AWS

Source & Target Language: IBM COBOL to Java on AWS

Lines of Code: 168,000

Duration:  1.5 Months

Services: Automated Code Transformation, Automated Refactoring, Integration and Testing Support, SonarQube Quality Refactoring, Code-Specific Adaptation, Database Migration, Transformation "To-Be" Blueprint®, Application "As-Is" Blueprint®

 

 

Published in Case-Studies
Monday, 27 June 2022 13:10

Modernize the code. Keep the brilliance.

 

How long would it take you to complete 25,000 tasks that take thirty minutes each?

Before you drag out your calculator, that’s 12,500 hours, or about 1,562 working days. Wouldn’t it be better to have it all done in under an hour? That gives you an idea of how refactoring—when done correctly—can accelerate modernization process and deliver accuracy in the range of just one error among 20,000 lines of code. That’s the kind of accuracy that’s needed for critical systems. Let’s talk about how refactoring achieves it so fast.

The refactoring phase of modernization at TSRI takes a project beyond updating the code and database to modern standards and system architecture. Sure, the planning, assessment, transformation, and integration phases of a modernization process get the mass of the work done. But more is needed. Imagine if a great painter only took a portrait to the point of getting the features in the right places. For functional equivalency, high performance, and future-readiness you need to dive into the details to get them as right as the original—and ready for future enhancements and needs.

That’s where refactoring can be hugely beneficial. If, after the transformation and integration phases you have to find and address each issue manually over hundreds of thousands or millions of lines of code, you may as well add those 12,500 or more hours back in. That’s why refactoring is key. By including an iterative code scanning and refactoring phase to the modernization process, TSRI automatically and semi-automatically remedies a host of issues at scale that would make developers run for the hills, including:

  • Pinpointing and getting rid of dead or non-functional code
  • Merging and consolidating duplicate code and data
  • Improving design of code and data
  • Eliminating system flaws from transformed software
     

"TSRI's refactoring process creates reusable components that can be applied to future projects"


And beyond those cleaning and refining functions, a well-designed refactoring process also provides forward-looking advantages. TSRI’s refactoring process improves maintainability, remediates security vulnerabilities, increases performance, and modularizes functionality. It also creates reusable components that can be applied to future projects for optimization, packaging, and redistribution.

When you’re able to reuse some or all of the outputs of automated or semi-automated refactoring, you don’t have to recreate the mechanisms for modern microservices, REST calls, and other reusable elements. They’re at your fingertips and ready for integration in modern environments or databases for future projects. It gives you the best of modularity, but customized and created specifically for your systems’ needs such as data-dictionaries, code and record consolidation, introduction of logging or comments, and more.

 

"It gives you the best of modularity, but customized and created specifically for your systems' needs."

 

One scan, one rule, and thousands of fixes

A key part of the refactoring process is scanning the newly modernized code to find issues for remediation. To do this, we use the SonarQube scanning tool. SonarQube is an open-source platform that executes continuous inspection of code quality in modernized code. It provides a detailed report of bugs, code smells, vulnerabilities, code duplications, and more. Once SonarQube has identified problems in the code the TSRI team can use the results to resolve the issues and improve code maintainability issues and security vulnerabilities.

This is where the economy of rules comes in. Once SonarQube has pointed out issues across thousands of lines of code, TSRI uses that intel to identify the types of issues that need to be addressed. When an issue appears once in an application, it often appears hundreds or thousands of times, and a single rule applied across all code can eliminate a host of individual instances.

 

So how did we get to those 12,500 hours we started with? We didn’t just make it up. In a TSRI project for Deutsche Bank, a single rule created based on a scan of the code fixed about 25,000 instances that issue. SonarQube estimated it would take 30 minutes to fix each instance. That means refactoring automated the remediation process and saved them about 12,500 hours of software development time. That’s a lot of Marks.

 

 

The proof is in the work. Refactoring can not only save thousands of coder hours, but a combination of code scanning and refactoring can also uplevel your modernization with:

  • Maintainability making it easier to update and manage code going forward
  • Readability for modern developers to find and improve the functions they need more easily
  • Security by increasing the speed with which security issues can be found and remediated either manually or through refactoring rules
  • Performance greatly increasing the efficiency of the application—for instance, enabling multiple services to run in parallel rather than sequentially.

 

Find out what refactoring done right can do for you, contact TSRI now

 

----

Proven by decades of results. Prove it for yourself.
For decades, TSRI clients have been discovering a dramatically faster, more accurate, and less expensive AI-based and automated modernization process. We’ve earned a place as the go-to resource for enterprise corporations, government, military, healthcare, and more. Now prove it for yourself. Find out how the proprietary TSRI modernization process delivers future-ready, cloud-based code in any modern language in a fraction of the time.

See Case Studies 
Learn About Our Technology 
Get Started on Your Modernization Journey Today! 

Published in Best Practices
Wednesday, 30 March 2022 13:43

COBOL & JCL to Java & Python - Deutsche Bank KM

Deutsche Bank's relatively reliable mainframe infrastructure utilized COBOL and JCL languages running DB2 and VSAM flat-file databases for a variety of their key financial applications. The company’s leadership knew they would need to be cloud-enabled with a modern architecture to stay relevant for its customers and ongoing market needs. Following a successful proof of concept against other well-known industry soluitons, TSRI emerged as the best solution (highest quality output and most advanced architecture) for the full modernization effort of Deutsche Bank’s internal KreditManager application. An application which gives the company’s employees all of the tools they need to handle all of the company’s loan, credit and mortgage applications.

Customer: Deutsche Bank

Source & Target Language: COBOL & JCL to Java & Python

Lines of Code: 397,222 (383,358 - COBOL, 13,864 - JCL)

Duration:  12 Months

Services: Automated Code Transformation, Automated Refactoring, Integration and Testing Support, SonarQube Quality Refactoring, Code-Specific Adaptation, Database Migration, Transformation Blueprint®, Application "As-Is" Blueprint®

 

 

Published in Case-Studies

Using money from the Technology Modernization Fund (TMF) under the Modernizing Government Technology Act disbursed by the General Services Administration (GSA) of the U.S. government, the Department of Housing and Urban Development (HUD) sought to modernize several of its remaining critical systems on a legacy Unisys mainframe written in COBOL with a flat-file DMS-II database.

Customer: Department of Housing and Urban Development and Salient CRGT

Source & Target Language: Unisys COBOL to Java

Lines of Code: 1.3 Million

Duration:  8 Months

Services: Automated Code Transformation, Automated Refactoring, Integration and Testing Support, Enginerring Support, Software Maintenance Agreement, Transformation Blueprint®Application "As-Is" Blueprint®

 

 

Published in Case-Studies

No change in business logic.
Reduction in overhead costs. 
Continuous development during and after migration.

These are a few modernization concepts that Scott Pickett, TSRI’s Vice President of Product Operations and Service Delivery, discussed on his recent appearance on Amazon Web Services’ APN TV channel. 

“TSRI allows for an ability to do automated transformation of not only your language, but your application to the cloud environment, allowing you to bring in skilled, modern technology to your legacy implementations, being able to drive down the cost point associated with ongoing operational costs, and being able to deliver new applications, new functionality, new screens, and new capabilities in that modern language,” he said in his talk. 

So what does that mean, exactly? 

In TSRI’s modernization of a major European bank to the cloud, that meant they modernized approximately 80,000 lines of code at 99.7% automation. In other words, only 384 of those lines of code were hand-written. That's big for a project of this size—but it's huge when you're talking about applications with hundreds of thousands or even millions of lines of code!

For any organization, whether in commercial enterprise organizations like the banking client mentioned above, or in government agencies, modernization reduces risk. 

 

“You're able to bring a new skill set, new experts that know Java and know CI and CD tools and apply them to your legacy application that's been modernized,” Scott said. “It literally also allows for the ability to drop tens of thousands, and even hundreds of thousands of dollars, off your monthly costs.” 

 

 

As Scott also noted in his presentation, “we can not only transform code quickly…because there are very, very few manual changes, but it also means that you can migrate to the cloud and then be able to not have any business logic change associated with that migration.” 

Maintaining business logic is a big deal when it comes to systems that measure their age in decades rather than years and the original programmers have long since moved on. 

One other interesting point Scott brought up is how TSRI’s tools have enabled customers to maintain agility and competitive advantage by providing its clients with the modern, cloud-based applications they need—all while reaching back to its legacy DB2 database that supports the applications that have yet to be modernized. 

Throughout the talk, Scott also pointed to how TSRI has adopted a step-wise model, which modernizes small applications or pieces of an application, tests for validity, then pushes into production before the next applications are transformed. Such a methodology allows the client to continue to develop in the legacy language, maintain a common data set, and minimizes business disruption to almost zero. 

 

 

“There’s no big delay. You can continue developing the legacy and we can migrate those legacy applications while the transformations are happening and migrate them into your modern environment,” he said. 

 

Scott also explains the steps of an automated migration in layman’s terms and how a TSRI transformation integrates cleanly into cloud services like AWS using containerization and microservices. 

We of course don’t want to spoil the presentation by giving everything away, so head over to APN TV and watch for yourself to learn about how automated modernization to the cloud will save your organization time, money, and the headaches from continuing to maintain legacy systems. 

 

TSRI is Here for You

As a leading provider of software modernization services, TSRI enables technology readiness for the cloud and other modern architecture environments. We bring software applications into the future quickly, accurately, and efficiently with low risk and minimal business disruption, accomplishing in months what would otherwise take years.

See Case Studies

Learn About Our Technology

Get Started on your Modernization Journey Today!

 
 
Published in AWS

Downtime, lack of agility, and vendor lock may keep organizations from modernizing their aging legacy applications, but plenty of other roadblocks, whether technical or psychological, can also stand in the way from an organization from undertaking a high-stakes modernization effort. For example:

  • One TSRI defense client had been using the same COBOL mainframe applications for nearly 50 years. The agency expected that migrating away from this mission-critical system would require downtime that could have led to data loss, mission interruptions, and catastrophic security failures.
     
  • Another client, a large European bank, used mainframe applications that could have served them well for another decade or longer. However, upstart digital competitors were running circles around this financial powerhouse. They needed more agility.
     
  • Another defense client wanted to migrate its applications to Amazon Web Services but worried about limited options. Their mainframe used a proprietary architecture and applications, and the agency was locked into long-term contracts that would have prevented them from undergoing a transformation. This agency needed assurances a transformation could be done—and done properly.

 

 

Understanding and Overcoming the Misconceptions and Fears


If you’re a change maker in your organization — whether on the business or IT side — you probably see the need to modernize your applications. Throughout our 26 years of modernizing critical applications, we have found that many perceived obstacles are actually misconceptions, fears, uncertainties, or doubts that arise due to a lack of information.

Here are the most common misconceptions and obstacles, and how we help our clients get around them:

 

Obstacle 1: “It Will Cost Too Much!”
Cost almost always rises to the top of the list. From an OpEx perspective, once a modernized system goes into production, your organization can achieve savings quickly and dramatically. One client reduced its IT operations costs from over $1 million to tens of thousands of dollars—per month. While not every transformation will yield remarkable savings like that, your organization will recoup its modernization costs quickly.

In addition, because an automated transformation is much less likely to produce the inevitable errors produced by humans—we are, after all, only human—that means far lower instances of cost overruns.

 

Obstacle 2: System Downtime
Many organizations see time to market and system downtime as major concerns. Undertaking an automated modernization will be the fastest, most reliable alternative nearly all the time. As opposed to rewriting all or most of the code in the target language by hand, a fully automated transformation can take months—if not years—off the timeframe to bring the modernized application into production. Such automated modernizations also can give you the option to run your applications in the legacy and modernized environments side by side for testing, and then flip the switch to put the new environment into production with very little, if any, downtime—which means no disruption to the business.

 

Obstacle 3: “If it Ain’t Broke, Don’t Fix it!”
Organizations may also face the dilemma of making change if there isn’t a need to change. Such attitudes can be embedded into an organization’s culture, and convincing top management to commit to large expenditures where much of the beauty lies under the hood can be a heavy lift. However, external issues may force a modernization—oftentimes when it’s too late.

Most enterprise companies and government agencies running mainframes historically had armies of programmers that maintained their systems. As the decades rolled by, however, most of those programmers retired from the workforce while computer science programs shifted to educating on modern, object-oriented languages like C# or Java. As one client discovered for PL/1, a much more obscure mainframe language, the agency that ran the application found only a single person in the entire country capable of supporting the application. That was clearly not a sustainable solution.

Even more challenging, the language or platform itself may have survived past its reasonable lifespan. TSRI has modernized applications originally housed on mainframes built by Wang. The company ceased to exist in the 1990s and its subsequent iterations no longer supported a version of COBOL proprietary to its systems. At that point, modernization wasn’t a luxury—it was a necessity.

 

Obstacle 4: The Knowledge Gap
Finally, when a legacy system has been in service for 40, 50, or even 60 years, the original developers will doubtfully still be a part of the organization. Institutional knowledge can be passed down, but most IT leaders won’t have a clear view of what their systems can do. The transformation engine that takes on an automated modernization can also generate documentation that provides a detailed blueprint of an application today and how it will function in the modern target language. Those insights will help the engineers who maintain the application understand how a modernization can achieve their business goals.

 

Face the Fear and Reap Big Rewards!

Undertaking a drastic change like modernizing an application comes with risks and likely some trepidation, but it also creates opportunities that might never have been possible by continuing to maintain a legacy system. Completion of a successful transformation will not only save your organization money and give you better access to development resources, it will make your organization more agile and provide you with modern tools to better serve your end users.

 

TSRI is Here for You

As a leading provider of software modernization services, TSRI enables technology readiness for the cloud and other modern architecture environments. We bring software applications into the future quickly, accurately, and efficiently with low risk and minimal business disruption, accomplishing in months what would otherwise take years.

See Case Studies

Learn About Our Technology

Get Started on your Modernization Journey Today!

Published in Best Practices
Monday, 13 September 2021 14:14

Video: Modernizing Using Layered Architectures

One huge benefit to an automated modernization is the migration from a monolithic architecture to a multi-tier architecture. The multi-tier, or layered, architecture separates the data layer from the logic layer, and also makes the presentation layer—what the end user sees and interacts with—independent of the other two. In this video segment, Scott Pickett discusses how this modern-day style of architecture allows developers to extend the functionality of an application without affecting the data or behavior of an application. Even more important, however, he explains how a modernized application can continue to refer back to legacy databases when organizations migrate to their target environment in smaller steps rather than committing all at once.

Be sure to view our other videos in this series:

Videos 1 & 2: “Setting Project Scope” and “Setting Up Development Sandboxes”

Video 3: Selecting Cloud Vendors and Your Target Language

Video 4: Using Automation to Quickly and Accurately Move to a Multi-Tier Environment

----

TSRI is Here for You As a leading provider of software modernization services, TSRI enables technology readiness for the cloud and other modern architecture environments. We bring software applications into the future quickly, accurately, and efficiently with low risk and minimal business disruption, accomplishing in months what would otherwise take years.

See Case Studies

Learn About Our Technology

Get started on your modernization journey today!

Published in Cloud

Using automation to modernize mainframe applications will bring a codebase to today’s common coding standards and architectures. But in many cases, modernization to an application’s functional equivalent isn’t always enough. Organizations can do more to make their modern code more efficient and readable. By building refactoring phases into their modernization projects, organizations can eliminate the Pandora’s box of dead or non-functional code that many developers don’t want to open, especially if it contains elements that just don’t work.

Using TSRI’s automated refactoring engine, remediation was complete in an hour.

What is Refactoring and How is it Used?

Refactoring, by definition, is an iterative process that automatically identifies and remediates pattern-based issues throughout a modernized application’s codebase. For example, unreferenced variables or unnecessary redundant snippets could exist throughout the application. This scan, known as dead/redundant code refactoring, will find repetitions of any of this unusable code to flag, then remove it from the codebase. One of TSRI’s current projects found 25,000 instances of a similar issue that would have required 15 minutes of manual remediation per instance—not including the inevitable introduction of human error that would require further remediation. The number of development hours would take more than a year for a single developer to complete.

Using TSRI’s automated refactoring engine, however, remediation was complete in an hour.

Calling refactoring its own post-modernization phase is, in some ways, misleading. Refactoring typically occurs all the way through an automated mainframe transformation. As an example, in a typical COBOL or PL/1 mainframe modernization, TSRI would refactor the code from a monolithic application to a multi-tier application, with Java or C# handling back-end logic, a relational database layer through a Database Access Object (DAO) layer, and the user interface (screens) modernized in a web-based format. Believe it or not, many legacy applications still run on 3270 green-screens or other terminals, like in the graphic below.

Once the automated modernization of the legacy application is complete, the application has become a functionally equivalent, like-for-like system. However, any deprecated code, functions that may have never worked as planned, or routines that were written but never implemented will still exist. A process written in perhaps 1981—or even 1961—may have taken far more code to execute than a simple microservice could handle today.

Situations like this are where refactoring becomes indispensable.

 

Where to begin?

Before a formal refactoring process can begin, it’s important to understand your goals and objectives, such as performance, quality, cybersecurity, and maintainability. This will typically mean multiple workshops to define which areas of the modernized codebase need attention and the best candidates for refactoring, based upon the defined goals. These refactorings will either be semi-automated (fully automated with some human input) or custom written (based upon feedback from code scanners or subject-matter experts.)

The refactoring workshops can reveal many different candidates for refactoring:

  • Maintainability: By removing or remediating bugs, dead or orphaned code, or any other anomalies the codebase can be reduced by as much as one third while pointing developers in the direction of any bugs in need of remediation.
  •  
  • Readability: Renaming obscure functions or variables for a modern developer to fit within naming conventions that are both understandable and within the context of the code’s functionality.
  •  
  • Security: Third-party tools such as Fortify and CAST can be utilized to find vulnerabilities, but once found they need to be remediated through creation of refactoring rules.
  •  
  • Performance: Adding reusable microservices or RESTful endpoints to connect to other applications in the cloud can greatly improve the efficiency of the application, as can functionality that enables multiple services to run in parallel rather than sequentially.

 

What are the Challenges?

  • Challenge 1: One reason refactoring must be an iterative process is that some functionality can change with each pass. Occasionally, those changes will introduce bugs to the application. However, each automated iteration will go though regression testing, then refactored again to remediate those bugs prior to the application returning to a production environment.
  •  
  • Challenge 2: The legacy architecture itself may pose challenges. On a mainframe, if a COBOL application needs to access data, it will call on the entire database and cycle through until it finds the records it needs. Within a mainframe architecture this can be done quickly. But if a cloud-based application needs to call a single data record out of millions or billions from halfway across the world (on cloud servers), the round trip of checking each record becomes far less efficient—and, in turn, slower. By refactoring the database, the calls can go directly to the relevant records and ignore everything else that exists in the database.
  •  
  • Challenge 3: Not every modernization and refactoring exercise meets an organization’s quality requirements. For example, the codebase for a platform that runs military defense systems is not just complex, it’s mission critical. Armed forces will set a minimum quality standard that any transformation must meet. Oftentimes these standards can only be achieved through refactoring. A third-party tool like SonarQube in conjunction with an automated toolset like TSRI’s JANUS Studio® can be utilized to discover and point to solutions for refactoring to reach and exceed the required quality gate.
  •  

In conclusion, while an automated modernization will quickly and accurately transform legacy mainframe applications to a modern, functionally equivalent, cloud-based or hybrid architecture, refactoring will make the application durable and reliable into the future.

--

TSRI is Here for You

As a leading provider of software modernization services, TSRI enables technology readiness for the cloud and other modern architecture environments. We bring software applications into the future quickly, accurately, and efficiently with low risk and minimal business disruption, accomplishing in months what would otherwise take years.

See Case Studies
Learn About Our Technology
Get started on your modernization journey today!

Published in Education
Page 1 of 2