Displaying items by tag: Java

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
Friday, 30 April 2021 11:38

Ada to Java and C++ - ITT / SENSOR

ITT Corporation awarded a sole-source contract to TSRI for modernization of the COBRA DANE Radar Calibration System (SCRS) of the Ballistic Missile Early System (BMEWS) under the Air Force’s System Engineering & Sustainment Integrator (SENSOR) program.

  • Customer & Integrator: US Air Force/ITT
  • Source & Target Language: Ada to Java/C++
  • Lines of Code: 380,300
  • Duration:  8 months
  • Services: Code Transformation, Automated Refactoring, System Integration, Testing & Implementation Support, Final “To-Be” Documentation
  •  
  •  
Published in Case-Studies
Tuesday, 15 September 2009 13:54

TSRI Modernizes European ATC

 

"Thales Air Systems Java Flight Data Processing (JFDP) European-E Air Traffic Management (EATMS) approved for operation in late 2010."

Kirkland, WA. (October 15, 2009) – Thales Air Systems (THALES) of France awarded a ‘follow-on’ contract to The Software Revolution, Inc. (TSRI) in April to modernize the Flight Profile Library (FPL), the core of the Java Flight Data Processor (FDP) of THALES Eurocat-E air traffic control system. Under this contract, TSRI automatically translated the FPL from Ada into Java, refactored the Java to remove dead code, refactored Ada generics into Java generics, and detected and refactored global variables to minimize their visibility as Java member data. Modernization of the FPL module completes a project spanning 4-years in which TSRI supported the modernization of three variations of Eurocat-E, comprising approximately 1.7 million lines of Ada code into real time Java. Automated code translation, code redundancy analysis and code consolidation techniques were applied to modernize the three primary variations of the Eurocat (comprising approximately 1.6 million lines of code) with unprecedented economy of scale and scope and with two to one improvement in key code quality metrics according to published case studies. The European aviation authority required automated code transformation be used to minimize introduction of human error during the modernization of the Eurocat system. The transformed Java Eurocat complies with safety requirements of Eurocontrol (ESARR6) mandates governing SoftWare Assurance Levels (SWAL assessment required for ground applications).

Thales Air Systems S.A. is a major global provider of air traffic management systems and The Software Revolution, Inc. (TSRI) is an industry leader in automated legacy system modernization. Thales Air Systems supplies Eurocat-E as the primary air traffic control system in Europe, Asia and Australia where Eurocat is installed at 260 air traffic control centers worldwide. The JFDP air traffic control system is scheduled to commence operation at the end of 2010 at airports all across Europe and Asia. 

Philip Newcomb, The Software Revolution Chief Executive Officer said, “The Software Revolution is very proud to have played an instrumental role in the modernization of the European air traffic control system for Thales. A key to the success of this project was the use of JANUS Studio®    for automated transformation, refactoring and creation of the Transformation Blueprint ® to document the products and process. I believe the FAA could dramatically reduce costs as well as its 15-year schedule for the NextGen air traffic control system upgrade through the use of similar methods to those the Europeans have employed to modernize the European air traffic control system.”


For more information about TSRI, visit our web site or 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
Tuesday, 15 September 2009 13:54

TSRI Modernizes Cable Telco

 

"Thales Air Systems Java Flight Data Processing (JFDP) European-E
AirTraffic Management (EATMS) approved for operation in late 2010"

Kirkland, WA. (October 15, 2009) – Thales Air Systems (THALES) of France awarded a ‘follow-on’ contract to The Software Revolution, Inc. (TSRI) in April to modernize the Flig ht Profile Library (FPL), the core of the Java Flight Data Processor (FDP) of THALES Eurocat-E air traffic control system. Under this contract, TSRI automatically translated the FPL from Ada into Java, refactored the Java to remove dead code, refactored Ada generics into Java generics, and detected and refactored global variables to minimize their visibility as Java member data. Modernization of the FPL module completes a project spanning 4-years in which TSRI supported the modernization of three variations of Eurocat-E, comprising approximately 1.7 million lines of Ada code into real time Java. Automated code translation, code redundancy analysis and code consolidation techniques were applied to modernize the three primary variations of the Eurocat (comprising approximately 1.6 million lines of code) with unprecedented economy of scale and scope and with two to one improvement in key code quality metrics according to published case studies. The European aviation authority required automated code transformation be used to minimize introduction of human error during the modernization of the Eurocat system. The transformed Java Eurocat complies with safety requirements of Eurocontrol (ESARR6) mandates governing SoftWare Assurance Levels (SWAL assessment required for ground applications).

Thales Air Systems S.A. is a major global provider of air traffic management systems and The Software Revolution, Inc. is an industry leader in automated legacy system modernization. Thales Air Systems supplies Eurocat-E as the primary air traffic control system in Europe, Asia and Australia where Eurocat is installed at 260 air traffic control centers worldwide. The JFDP air traffic control system is scheduled to commence operation at the end of 2010 at airports all across Europe and Asia.

Philip Newcomb, The Software Revolution Chief Executive Officer said, “The Software Revolution is very proud to have played an instrumental role in the modernization of the European air traffic control system for Thales. A key to the success of this project was the use of JANUS Studio®    for automated transformation, refactoring and creation of the Transformation Blueprints to document the products and process. I believe the FAA could dramatically reduce costs as well as its 15-year schedule for the NextGen air traffic control system upgrade through the use of similar methods to those the Europeans have employed to modernize the European air traffic control system.”

For more information about TSRI, visit our web site or 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

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

Code Modernization: Focus on ADA

Ada was designed and released from 1977 to 1983 as a high-level object-oriented language for use in real time and embedded systems. It is used extensively in systems such as air traffic management systems, banking and financial systems, communication and navigational satellites, medical equipment, and in military applications. Currently, although the Ada language has been updated, it is not as common as it once was. The ratio of Java programmers to Ada programmers is now about 20 to 1.

Published in News & Blog

United States Air Force SBSS ILS-S COBOL to Java on AWS Modernization

A major component of the system is 54 years old, written in COBOL, and provides retail-level business logic. The component runs on mainframes that have proven to be extremely difficult to change and manage, and the DoD needed to modernize the component to drive down operating costs and move to an open platform, while retaining all functionality....

Published in News & Blog

The U.S. Air Force uses the Integrated Logistics System – Supply (ILS-S), of which the Standard Base Supply System (SBSS) is a major part, as a mainstay of their supply chain. The SBSS program includes over 1.5 million lines of COBOL, as well as smaller numbers of C and Assembly, all of which are to be transformed into Java. 

  • Customer & Integrator: US Air Force
  • Source & Target Language: COBOL to Java
  • Lines of Code: 1.5 million
  • Duration:  11 months
  •  
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
Thursday, 24 August 2017 12:54

Code Modernization: Focus on Powerbuilder

PowerBuilder, with its ever-popular DataWindow IDE feature, and strong client-server orientation, is still an important coding mechanism.  It has fallen out of favor in recent years, however, and its codebase has been neglected and moved to Sybase, then to SAP, and now to Appeon. Due to a few missteps along the way, and a late.NET capability addition, many companies are choosing to discontinue their use of PB and move to newer platforms. 

Published in News & Blog
Page 1 of 2