Displaying items by tag: automation

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 News & Blog
Monday, 27 January 2020 14:19

The Business Case for Automated Modernization

Perhaps you’ve seen your competition pull ahead. Maybe your customers have become frustrated with their experience as they interact with your systems. Possibly, you’ve even experienced a security breach. You know your legacy systems need to move into the 21st century, and perhaps you’re struggling to decide how to move forward. Whether you want to face it or not, now is the time to take a hard look at modernizing your digital infrastructure.

According to salesforce.com, “while there may be a multitude of reasons for a business to undergo digital transformation, it mostly boils down to survival. Digital transformation can be risky and expensive, so it’s often a necessity for businesses that want to survive and outlast the ones that failed to evolve.”

And then there’s the expense: Daniel Newman at The Future of Work suggests that as much as 80 percent of an IT budget can be spent on maintenance. Modernizing legacy systems—even incrementally—can help a company see its capabilities leap forward by using the cloud to integrate automation into standard business processes. John Brandon at techradar.com suggests that “some of the most disruptive technologies—such as machine learning, voice bots like Amazon Alexa, and artificial intelligence—are helping to automate mundane tasks and improve how a business runs.”

These technologies run on data. In this new era of computing, the businesses that truly succeed will be the ones that put an emphasis on their data. If they haven’t already, legacy systems with limitations on their data will fall behind, especially when introducing machine learning and AI into the mix. At the same time, the data and infrastructure that have kept older systems going for so long can’t just be switched off, and freezing the systems as teams write and develop its replacement will push customers away.

Modernization effectively overcomes these risks to your organization by opening up the possibilities that an older codebase wasn't designed to handle.

“Taking inventory of what still works and what doesn’t allows companies to identify which processes are no longer relevant,” writes Newman. “Only applications deemed critical to business are then modernized; the others are simply retired, saving time and money on maintenance.”

When you decide to replace or reconfigure your legacy system, you can decide between any of these modernization options:

New Application Development. Replicate your legacy system by writing entirely new code. Your team will manually develop your new system using current coding practices with modern interfaces, and support for current technologies. This option is very expensive option, and it’s generally only usable to set a baseline for future development. You’ll incur expenses that can be as high as the original project, risk levels are similar to a typical “waterfall” project, and there are high likelihoods of time and budget overruns.

Extend/Surround. Many organizations currently opt for this method. The development teams or consultants encapsulate the legacy system in coding containers that provide APIs and tack-on integration with other systems. While the solution may work, you will have a patchwork of code, often in multiple programming languages, that gradually increases technical debt and incurs added maintenance costs. While this situation defers replacement, it will likely be costly in the long run.

COTS/SaaS. Both common off-the-shelf (COTS) solutions or cloud-based SaaS systems enable you to migrate to a less expensive and more modern architecture, but costs can easily escalate. The new system will require customization and ongoing licensing costs. Such a migration could create ripple effects on other systems and cause you to incur other costs from conforming to a completely new platform with unknown attributes.

Automated Modernization. A careful translation of code by a team of expert external engineers creates a new, modern application based upon the logic and behavior of the original. The process will include varying degrees of automation, which increases accuracy while decreasing costs. Modernization will likely incur the least risk and expense of any of these options.

Replacement of aging systems is becoming increasingly urgent, and as programmers of many of these older systems retire, replacement costs will continue to rise. An automated modernization program will likely yield the least expensive and most flexible alternative for stable, long-term performance.

 

-----

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!

Standish Group, “Modernization: Clearing a Pathway to Success,” 2010

Published in News & Blog
Monday, 22 February 2010 15:28

TSRI Automatically Modernizes OpenVistA

 

Kirkland, WA. (March 12, 2010) – One of the best kept secrets in Washington DC is that our nation’s veterans already have a comprehensive electronic health care record (EHR) that for decades has supported delivery of quality health care at more than a 160 VHA hospitals around the world.  That extraordinary system is VistA, the Veteran Information System Technical Architecture.  Written in MUMPS, VistA serves as the vital backbone of the Veterans Health Administration (VHA) Electronic Health Care Record System (EHRS) that manages medical record data and delivers medical informatics to the veteran’s bedside while tracking and managing 100% of veteran’s health care electronically throughout his journey through the VHA medical care system.

Visit the VHA’s OpenVistA® Transformation Blueprint at
http://www.tsri.com/open-vista

Ironically, VistA like many systems that are highly successful, is now threatened with self-extinction due to its need for continuous growth and the inability of MUMPS, the language it is written in, to sustain its continued evolution.  VistA suffers from a form of software arthritis common among many legacy systems. Due to its age, size and complexity VistA is brittle, inflexible and resistant to change, and its maintenance costs have gone through the roof, compromising the VHA’s ability to grow and evolve Vista as the foundation for a 21st century medical delivery system for its veterans.

In 2005 the VHA estimated automated modernization of VistA could save the VHA upwards of $3 Billion compared to redevelopment, or manual replacement.  With the announcement today by The Software Revolution, Inc (TSRI), (the world-leading supplier of architecture driven modernization (ADM-based) solutions), of its open-source Transformation Blueprint ® for OpenVistA, TSRI has made a huge start on this daunting challenge.  For those who might care to understand, the OpenVistA Transformation Blueprint ® is a major step towards achievement of the VHA's goal of modernizing its Electronic Healthcare Record  system for its veterans. 

OpenVistA Casestudy

TSRI’s OpenVistA® Transformation Blueprint ® provides the complete target Java code and UML design for the transformation of all 2.1 Million lines of OpenVistA® and 120,000+ lines of Fileman MUMPS code.  The OpenVistA® Transformation Blueprint ® is far more than a mere language translation.  It is a massive multi-million page (300GB) web-based software design and architecture document consisting of navigable hypertext of the 'As-Is' MUMPS and 'To-Be Java' hyperlinked to hundreds of thousands of State Machine Graphs, Cause-Effect Graphs, State-Transition Tables, Control Flow Graphs, Data-Flow Graphs, Structure Charts, Data Element Tables, Class Diagrams expressed as scalable graphical diagrams that richly document all of the MUMPS and target Java/J2EE code. The Transformation Blueprint ® is both an application portfolio as well as a complete architectural roadmap towards a modernized OpenVistA® and Fileman. Every statement of MUMPS in OpenVistA® is shown side-by-side with its transformation into Java/ J2EE along with an extensive array of software property-oriented metric indices (e.g. fan-in, fan-out, complexity, redundancy, dead code, etc) for navigation to the code measured by the property. 

To learn more about TSRI’s transformation of OpenVistA® and the company’s plans for evolving OpenVistA® towards a modernized universal EHR system of the future, read the Chapter 12 casestudy: Veterans Health Administration’s VistA MUMPS Modernization Pilot in William Ulrich and Philip Newcomb’s new book Information Systems Transformation: Architecture-Driven Modernization CaseStudies, just published by Morgan Kaufmann, February 2010 as part of the Object Management Group (OMG) OMG Series.


   Kirkland, WA. (February 22, 2010) – New Book Release

   Information Systems Transformation: Architecture-Driven Modernization Casestudies

   By William M. Ulrich and Philip H. Newcomb
   Published by Morgan Kaufmann
   ISBN: 978-0-12-374913-0
   Copyright Feb 2010
   $59.95 USD €43.95 EUR £29.99 GBP
   www.informationsystemstransformation.com

For more information about TSRI contact:

TSRI
Greg Tadlock
Vice President of Sales
Phone: (425) 284-2770
Fax:     (425) 284-2785
This email address is being protected from spambots. You need JavaScript enabled to view it.

 

Published in News & Blog
Tagged under

One of the largest Japanese Car Manufactures now uses TSRI’s modernization methods to increase efficiency in their manufacturing systems. With the help of systems integrator Comture Corporation, TSRI was able to successfully transform 120k lines of COBOL to Java, in a three-week time-period, with over 99% automation levels. 

  • Customer & Integrator: Comture Car Manufacturer
  • Source & Target Language: COBOL to Java
  • Lines of Code: 120,000
  • Duration:  1 month
  •  
  •  
Published in Case-Studies
Thursday, 07 December 2017 11:20

Code Modernization: Focus on Visual Basic 6 (VB6)

When that stalwart of facile enterprise development, Visual Basic 6, was retired by Microsoft, it left companies with a variety of problems. While many were able to immediately upgrade to Visual Basic .NET, Java, C++ and other platforms, cases remain in which VB6 was so embedded in the software infrastructure that it could not be easily changed or extricated. TSRI has been working on code transformation of numerous languages for many years, and now includes VB6 transformation.

Published in News & Blog