Speed, reliability and cost-control are important attributes for businesses with customers who increasingly place orders directly on company websites. Fortune 500 firm Graybar, one of the nation’s leading industrial and electrical supply distributors, turned to TDK Technologies to move its existing legacy e-commerce system to a microservices-based architecture framework and applications. The project paired experienced Java developers from TDK with Graybar developers to develop and implement the desired architectural framework and support applications.
Technologies Used
Spring Boot
Spring JPA
Hibernate
Liquibase
Swagger
MySQL
Jenkins
Pair Programming
Agile
Test Driven Development
Behavior Driven Development
Karate BDD Framework
Show Case Study Details Hide Case Study Details

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.

Expertise you need. Results you deserve.