Right now at Framewerx, our development team is diligently transforming the STEMS/Fabwerx legacy system into what we will call, “Fabwerx Core.” This transition involves several critical steps to modernize our technology and enhance its capabilities, providing a more accessible solution to our clients. Read on to learn more about the process, milestones, and challenges of this project:
Technical Process of Transitioning Legacy Code
The transition of legacy business logic code, originally written over a decade ago for a desktop application, to a more portable web-based API platform involves several critical steps. The primary objective is to enhance the accessibility and integration capabilities of the system. Web-based API platforms can integrate with web browsers and mobile apps, unlike legacy applications written exclusively for Windows, which are often incompatible with modern web and mobile interfaces.
The core technical advantage of web-based APIs is their ability to communicate over the web from virtually anywhere, eliminating the need for additional downloads or installations. For our project, this involves “wrapping” legacy code inside a web-accessible endpoint, making it available for future web and mobile applications.
Specifically, we are transitioning legacy .NET Framework code to its successor, .NET Core. Microsoft introduced .NET Core in 2016 as an open-source, cross-platform framework. We have been developing new applications in .NET Core over the past seven years and are now migrating the STEMS/Fabwerx legacy to this modern framework, which promises faster performance, new features, and broader deployment options across platforms like Linux and mobile apps.
Key Steps and Milestones in the Transition Process
- Setup a .NET Core Web API Application: Establish a new application that will host all web-accessible API endpoints, which will be utilized by future web and mobile applications. We have completed this step thus far.
- Migrate Legacy Code by Sections: Transition individual business units within the STEMS/Fabwerx legacy application, such as the Purchase Order, Cut Processing, AP/AR, and MTR tracking modules, into the new .NET Core web API application. This step is currently in progress.
- Modernize the Desktop UI Front-End: Convert the desktop UI front-end of the legacy system into a modern webapp UI and migrate existing webapps to use the new Fabwerx APIs. This will be part of the future Fabwerx Phase 2 implementation.
- Deploy in Azure Cloud: Launch the final web-based solution in Azure Cloud, enabling customers to access the new platform via a simple website URL.
Improvements in System Performance and Success Metrics
This transition improves accessibility as its primary benefit. Currently, the platform requires installation on Windows desktops or laptops. The new platform will allow users to access their data via mobile phones or web apps, significantly enhancing portability.
While immediate system performance improvements may not be significant, we expect future enhancements. We can offload complex calculations to the web-based API server, processing data more efficiently at the source compared to the legacy desktop solution. However, the focus is currently on improving accessibility and portability for customers.
Challenges in Modernizing Legacy Steel Solutions
One of the main challenges in modernizing the legacy steel solutions is the absence of original stakeholders, which means the original intent and purpose of some business logic can be unclear. The STEMS project has a long history, and much of the original code was written by individuals who are no longer involved.
To address this, we are developing our understanding of the steel industry through internal training and ongoing projects for our customers. When additional knowledge is needed, we reach out to current stakeholders in the relevant business areas, such as our contacts at Supreme Steel.
Future Innovations Enabled by the Project
The modernization of STEMS/Fabwerx legacy to what will be known as, “Fabwerx Core”. And it will form the central hub for communication and data storage across our various other add-on products like Shopwerx, Sitewerx, and Bidwerx. This new approach will simplify and optimize data flow between our products, providing a robust foundation for future offerings.
Additionally, Fabwerx Core, as the central repository of information, opens up opportunities for advanced data analysis and business intelligence. These insights can be extremely valuable to our customers, aiding them in making better and more efficient business decisions.
Follow us on Facebook and LinkedIn to get more Framewerx content. Want to know more about our projects? Read more now!