Graybar observed that increasing numbers of its customers choose to place orders directly on its website. However, the existing website e-commerce system did not provide an acceptable user experience, encountered reliability issues, and required operating cost payments to the service provider (IBM Commerce). Graybar decided to migrate the legacy system to REST Microservices and awarded the project to TDK.
After extensive preparation to identify the obstacles and challenges for the project, TDK developed around 20 microservices on Spring Boot. TDK built a caching layer between the front-end and the database, which made repeated queries or partial-repeated queries faster than direct queries using the slower legacy software. The microservices approach also made the system more modular since each individual microservice is independent of the others.
TDK developed the microservices using Test Driven Development, an approach that creates software test protocols based on what the software is designed to accomplish before any code is written. Then as the code is rolled out and tested, the developer knows the code is solid when all test protocols are passed successfully. This method is especially effective for a single module of code.
In addition, Behavior Driven Development (BDD) was also utilized to take the user’s perspective into account in the development process. BDDs are automated regression tests based on behavioral expectations at the module level to test a completed feature of a project. TDK developed automated BDD scripts to be used on a continuous delivery pipeline.
The project also utilized a concept called Pair Programming where TDK’s experienced technologists were able to groom junior developers at Graybar in advanced Java development. Using this approach, TDK programmers wrote the code while Graybar representatives observed how it went together so they would more easily maintain the system when the development work was completed. It also permitted a system of checks and balances. Pair Programming builds in a peer review approach, which is particularly valuable when producing complex code.
The project was successful on multiple levels. Microservices improved speed and reliability of the Graybar website e-commerce system. The microservices achieved 90 percent code coverage, which measures how much Java code is executed during automated testing. The project also achieved 90 percent mutation coverage, a quality benchmark that measures how many pre-planted mutations were detected and killed during automated Java code testing. The results against both benchmarks are considered exceptional by industry standards, where the legacy system did not have any code coverage and zero unit test cases.
The project was beneficial for Graybar from a cost perspective since all applications utilized are open source, permitting the company to avoid paying ongoing fees. Exceptional front-end and in-depth planning, which laid the groundwork for expected inputs and outputs, is credited for making development extremely smooth. The six-month project was completed in five months, allowing the remaining time to be dedicated to optimization. One additional outcome of the project is that Graybar has retained TDK for future development requirements.