Refactoring Use Case: Migration of an ap...

Refactoring Use Case: Migration of an application event logger framework

Posted by Tocea in Business Cases on August 7, 2012 with Comments Off









Quick Facts
  • Industry: Telecommuncation
  • Project: Migration of an application event logger framework
  • Volumetry:
    • 850 KLOC Java
    • 12 Maven modules
    • 39 000 traces
    • 800 declarations
ROI of the project
  • Manual migration: 1.8 year / man
  • Automation with Tocea: 3 weeks / man
  • Benefits: 1,74 year / man
  • Over 96% of savings, based on the initial workload estimate
Benefits
  • Ease of use of the new framework
  • Reliability and performance
  • Enhancement of the application’s evolutivity
The context of
Tocea’s intervention

The customer, a major actor of the telecommunication industry, develops and maintains an application based on an applicative trace management system (logs). This framework, which relies on 850,000 lines of code written in Java, ensures traceability of code execution and facilitates maintenance and correction activities of development teams.

In order to improve evolutivity and reliability, the customer needed to regain control of this outsourced framework, which was unmaintained. The company called Tocea to determinate the opportunity of a migration from the actual framework to a standard and open trace management system and, if opportune, to support this transformation project on technical and operational aspects.

An obsolete system penalizing the agility and the reliability of the maintenance operations

The historical log system manages 39,000 logs, part of which is interconnected with external applications of the customer information system.

Originally developed by an external provider, this framework had some consequent technical constraint and weaknesses:

  • The outsourcer in charge of development and maintenance had changed.
  • The framework did not meet the standard of log management (ie. commons-http-client, CXF, Log4J or SLF4J).
  • The system was complex of use and was suffering of performance issues.
  • Activation/Deactivation of log was no longer possible due to non portable scripts (bash/sed).
  • No build management tool (such as Maven) was used to produce the application from source files.
  • Lack of unit tests increased risks of functional regressions and made very hard, if not impossible, every evolution of the framework.

In summary, impacts on performance and reliability were important for the applications that used this framework:

  • Significant increase of time needed to correct bugs in production (logs are one of the main tool used for debugging and provide developers with useful clues on how to find and correct an error).
  • Agility of developments penalized by the absence of a build management system.
  • High risk of regressions and potential security flaws, due to possible deactivation of logs without warning.
  • Inability to extend the current system.
Tocea’s mission

In this sharp and complex context, the customer called Tocea’s expert consultants to cover the points below. A pilot project, covering a range of 10% of the overall application would validate the technical and functional solution proposed by Tocea:

  • Support for specification of the migration of the log management system toward a simpler, more reliable and extendable framework.
  • Feasability and estimation for an automation of such a migration.
  • Configuration of Scertify™ in order to automate the migration of the application
  • Functional and technical validation, based on a migration of 10% of the application
  • Manual migration for the components that could not have been migrated automatically

The results of the pilot were successful and full migration of the framework was conducted by Tocea’s consultants. Only the acceptance phases (implementation and validation of tests) and integration into the source manager remained at the charge of the customer.

The solution implemented by Tocea

Tocea’s consultants specified tasks of the migration, within a goal of automation in the following steps:

  1. Definition of the migration’s scenarios.
  2. Automated detection of application logs.
  3. Transformations needed to perform the migration.
  4. Technical optimization.

After 3 weeks of migration assisted with the Scertify™ tools, the framework had been refactored and simplified into 5 methods. The older version counted 17 different methods, as shown below.

Old framework : 17 methods to call the log management system

New framework : 5 methods

Refactoring with Scertify™ : tangible and important gains

Beyond the benefits of the solution proposed by Tocea, the automation of the migration of the system -made possible through the refactoring features provided by the Scertify™ range of tools- brought out considerable gains compared to a manual migration.

Overall, more than 99.4% of the migration was automated thanks to the Scertify™ refactoring technology. Thus, a saving of 96% was generated, compared to the initial workload estimate of the project.

Manual Migration Automated Migration with Scertify™
  • 39,000 logs to be migrated
  • 17 combinations to consider for each log
  • 800 logger declarations, several thousands of string optimizations
  • Pooling of the strings used in the application
  • Twenty custom rules developed for Scertify™
  • 5 minutes to migrate each module
  • 99.4% of the migration is automatable
Estimate Workload Real Workload
39 000 x 5 minutes = 440 days / man
3 weeks including: 

  • 1 week for specification
  • 2 weeks for development & test

About Scertify™

Scertify™ is a suite of tools dedicated to development teams, designed to continuously track and eliminate software-related risks, through code quality & architecture compliance monitoring associated with computer-aided refactoring capabilities.

  • Scertify™ Refactoring Assessment is dedicated to development & QA teams that provides exclusive benchmark data on Software Quality. It automatically detects the portions of an application that can be refactored, gives valuable information on refactoring strategies, and costs.
  • Scertify™ Code is a static code analysis solution that detects and reduces risks related to Software Development (uncontrolled growth of the Technical Debt, low maintainability, performance issues, lack of agility, security flaws, etc.), thanks to a unique and powerful computer-aided refactoring technology. These unique features are directly availalbe on the fly in the development environment as well as in Continuous Integration environments.
  • Scertify™ Architecture is a solution for Software Architects and Development Teams. It preserves the software architectures from any inappropriate modification through a continuous control of components and a unique set of refactoring capabilities.
Tags: , , , , ,

Comments are closed.

Your cart

  • No products in the cart.
Scertify™ is a suite of tools dedicated to development teams, designed to continuously track and eliminate software-related risks, through code quality & architecture compliance monitoring associated with computer-aided refactoring capabilities.
» Get your trial version!

Who we are?

Tocea provides Development Teams with innovative solutions enabling them to continuously control and improve the quality and integrity of their applications. We support developers, architects and project managers in their permanent effort to tackle IT debt and costs, by providing them with unique information on Code & Architecture Quality and some exclusive computer-aided refactoring features.

LoadingRetrieving latest tweet...

Back to Top

2013 © All rights reserved. Tocea SA. Legal Notice