back to CSS Capstone schedule

UWB Logo

Computer Science and Software Engineering Capstone Presentations

Fall Quarter

December 18, 2020

 

Nate Faber

"Planning, Implementation, & Testing of a Collection of Microservices"

(Liberty Mutual)

 

Faculty Advisor: Dr. Nancy Kool

 

 

 

Abstract

My internship at Liberty Mutual Insurance as a backend software engineer focused on one project. My project was design and start to implement a new B2B data flow to replace my team's inbound service. (Detail what the inbound service is). The inbound service is a collection of service that receive claim information from CCC (an external vendor), validate it, and send the information to the outbound service who send the claim information to Navigator, our internal claims management system. This project was still in the planning phase when I started.

 

Along with my mentor, we came up with a collection of new microservices in the Java Spring framework. These included 10 new microservices, 5 replacing the inbound service, and 5 replacing the outbound service. We also included a new middleware between the inbound and outbound services called RabbitMQ, that we could use to log claim information. We started by creating a context diagram to show all the new microservices we could be creating, and how they are all connected. With planning done, I started to work on the "first level" of services, in which I received information of a claim from CCC, validated, and processed it. The information from CCC was sent as a JSON object, which I stored using a JSON Java library object. I then compared the object to a prebuilt claim, to validate that all the fields required for a valid claim are present. For my next step, I needed to provide some sort of source control for the databases/queues that I would be sending the claim information to. We sent a claim to 1 of 5 different databases based off what development environment the claim is supposed to be in. For example, we could have one claim from CCC be for our test environment, and another one for our production environment. To make sure we had proper source control, I implemented Flyway, an open-source technology that allows for proper source control of databases that worked with the database/queue structure we were using.

 

By the end of my internship, I was able to almost finish a microservice that received input, validated input, and sent claim information to the correct database environment. This project will be continued by the other developers on my team. It is scheduled to be fully released for use by other Liberty Mutual teams by the end of Quarter 1 2021.

 

 

 

 

 

 

 

 

 

 

 

Updated December 15, 2020