The Problem

Graybar observed that a growing number of their customers were placing orders directly on the Graybar website. However, their existing e-commerce website didn’t provide an acceptable user experience, had reliability issues, and required ongoing operating payments to IBM Commerce.

The Solution

After extensive preparation to identify the obstacles and challenges for the project, Graybar partnered with TDK Technologies to migrate their legacy e-commerce system to REST Microservices, developing around 20 Microservices on Spring Boot. 

The TDK team designed a caching layer between the front-end and the database. Not only did this make repeated queries or partial-repeated queries faster than direct queries on Graybar's previous platform, it also made the system more modular since each individual Microservice is independent of the others. 

The TDK team leveraged test-driven development and behavior-driven development to increase code quality and provide automated continuous delivery.

The project also utilized pair programming, where TDK’s experienced technologists were able to groom junior developers at Graybar in advanced Java development. This close collaboration allowed TDK developers to write the code and provide a system of checks and balances, while Graybar representatives observed the process, making it easier for their internal team to maintain the system once the development work was completed.

The Result

The project achieved success on multiple levels. Not only did the Microservices improve the speed and reliability of Graybar's e-commerce system, but TDK achieved 90% code coverage and 90% mutation coverage; both benchmarks are considered exceptional by industry standards, where the legacy system did not have any code coverage and zero unit test cases. 

The collaboration between TDK and Graybar also decreased Graybar’s costs since all applications utilize open source frameworks, allowing them to avoid paying ongoing fees. Lastly, the six-month project was completed in five months, allowing the remaining time to be dedicated to optimization.