Analyzing the structure of the application backend
In this section, we will be analyzing the packaging structure and dependencies of our application backend to decide what code refactoring is needed to restructure and repackage so that a microservice only contains the interfaces and classes it needs. It would be a rare application that can simply be repackaged without some code changes being necessary.
The dependency structure between the components of our application is shown in the following diagram:
The preceding diagram shows the WAR file banking-rest, which as well as providing its own classes contains the JAR files for banking-domain, domain-driven-design, and firebase-authentication. The last two of those are supporting JAR files and not specific to any service, so each microservice will have a copy of domain-driven-design and firebase-authentication. Our target is to separate banking-rest and account...