CPQ Application Modernization Success

Industry:
Healthcare
Product Used:

Our Client is a multinational medical technology company that specializes in the development, manufacturing, and distribution of medical devices, equipment, and services. They faced the challenge of modernizing a complex Configure, Price, Quote (CPQ) application that had been developed over two decades in C++/MFC.

The organization aimed to achieve an updated CPQ application based on modern web standards. This modernized application should be accessible from a web browser, boasting improved usability, accessibility, maintainability, and a contemporary look. Ultimately, the goal was to enhance productivity for end-users.

Reasons for Modernization:

The application suffered from a legacy architecture based on a fat MFC client written in C++, written following legacy coding practices (e.g. no Model-View-Controller (MVC) model), making it extremely challenging to evolve and maintain. The use of outdated MFC technology rendered the application non-portable, requiring installation and configuration on each equipped machine, and limiting its accessibility.

The user interface lacked responsiveness and failed to comply with modern UX standards for accessibility, resulting in poor compliance. Moreover, the application struggled with integration issues when attempting to interface with other internal web-based systems.

The application’s usability had deteriorated over the years due to design decisions made more than two decades ago. Furthermore, it lacked accessibility features for screen readers and other devices, limiting its usability to PCs running Windows.

Initial Approach

Initially, the organization pursued an in-house approach, which entailed a complete re-design of the application as a web app. It involved a full re-implementation of the UI using React/TypeScript and a comprehensive re-write of the application logic in TypeScript. However, this approach encountered significant challenges. The complexity of the application’s logic, both architecturally and in terms of performance, led to project delays and increased costs beyond what the business could support. The project became incompatible with the organization’s business priorities and was at risk of being discontinued. Furthermore, given the complexity of the calculations involved in the CPQ application, the porting of its logic to JavaScript was associated with a high technical risk

To address these challenges, the organization collaborated with Leaning Technologies. The partnership with Leaning Technologies involved several key milestones, including a feasibility and architectural study that confirmed the potential of using Cheerp and WebAssembly to expedite the project.

Within two months, the partnership achieved a full Proof of Concept (PoC) state, demonstrating significant progress. In a total of six months, the entire application was modernized and ready for pre-production piloting and eventual release.

The Technical Approach

The technical approach to modernization retained the original UI redesign but adopted a different strategy for the application logic. Rather than a full rewrite, the organization chose to preserve the existing C++ logic and compile it to WebAssembly using Cheerp. This approach required some re-architecting to align with the asynchronous model of web browsers. The benefits of this approach included reduced technical risk compared to a full rewrite, exceptional performance thanks to WebAssembly and the state-of-the-art Cheerp compiler, minimal uncertainty in the UI development timeline, and easier resource acquisition for HTML5-native technologies. Furthermore, system interactions were adapted to comply with the web model.

Results

The project successfully modernized the CPQ application within the required timeframe and budget. The organization achieved its goals of improved usability, accessibility, maintainability, and a modernized appearance. The application is now accessible from web browsers, providing enhanced productivity for end-users while minimizing technical risk.

This case study highlights how a strategic partnership with Leaning Technologies, combined with a focused technical approach, enabled the efficient modernization of a mission-critical CPQ application, meeting both technical and usability requirements.

What is Cheerp?

Cheerp is an enterprise-grade C/C++ compiler for the web that can compile C/C++ into WebAssembly and JavaScript. It is open source, with dual licence (GPLv2 & commercial) and is actively developed/back by Leaning Technologies.

Related Stories