Chapter 18.  Investigating Microservice Dependencies

A lot of applications have been developed around 'Microservices'. One big advantage of Microservices is their loose coupling via HTTP(S), which can turn into a disadvantage because dependencies between a large number of services are hard to track.

Sonargraph exposes the dependencies via its 'Spring Microservices' and 'Swagger' plugins. All detected 'Web Resources' and 'Web Calls' can be listed with the script 'Core/FindWebResourcesAndCalls.xml' which can be imported from the built-in quality model. Executing the script, multi-selecting all found elements in the 'Elements Tab' of the Script View and opening the Exploration View via the context menu creates a nice dependency overview between microservices as shown in the following screenshot for the Piggy Metrics application.

Exploring Microservice Dependencies
Figure 18.1. Exploring Microservice Dependencies


NOTE

With the help of the plugins and the script you cannot only visualize the dependencies between your microservices, but also define an architectural model that would enforce restrictions on those dependencies. To achieve that just create a big Java project containing the code of all your microservices.

Currently, calls and resources are detected for the above mentioned Java frameworks (see the detailed sections for implementation details) as a starting point. Dependencies are resolved between web calls and web resources detected by a plugin for any of the supported languages.

If you have the need for the support of a specific framework, please get in contact with us via !

Related topics: