To help you understand how the Spring Application Advisor works and how it interacts with your environment and services, this document:

  • Explains how Spring Application Advisor fits into your software delivery lifecycle (SDLC)
  • Provides an architecture diagram that shows how data flows through the Spring Application advisor components and your system

How Spring Application Advisor fits into your software delivery lifecycle (SDLC)

Spring Application Advisor is designed to create automatic pull requests that incrementally upgrade your Spring applications. Pull requests are requests to review a new contribution to a repository. It is the place where the information is shared among reviewers, and where multiple manual and automatic checks are executed to prevent causing a broken application.

Spring Application Advisor creates a new branch in the Git repository every time a new upgrade opportunity is detected, so the engineering team with write access in the repository can review and adapt the requested changes before integrating them into the main branch.

Spring Application Advisor has been designed to run in a CI/CD environment with a native CLI every time new code changes have been integrated into the main branch, so there is continuous checking whether incremental upgrades for Spring are available.

To resolve whether there are incremental upgrades available (for example, from boot 2.6 to boot 2.7), Spring Application Advisor checks for the current version of your dependencies and build tools. To retrieve this information with accuracy and to prevent CI failures after an upgrade, Spring Application Advisor must run in a development environment that always has access to your enterprise Maven repositories. This environment is usually the CI/CD environment.

The flow we describe appears in this diagram:

flow

Architecture diagram

The graphic shown in this section is a high-level architecture diagram that shows the flow of data between Spring Application Advisor and a typical customer environment. Arrows indicate communication between components.

advisor-architecture

Spring Application Advisor has two main components: a server component that does not require any external Internet connectivity or storage and a native CLI component designed to run un a CI/CD environment.

The CLI works as a client of the server. Therefore the server, which by default runs in the 8080 port, needs to be accessible from the CLI location.

If you want to learn how to install the server, see How to install Spring Application Advisor. Alternatively, if you want to learn how to connect the CLI to the server, see How to run the CLI.

Spring Application Advisor upgrades the source code running OpenRewrite recipes from the CLI, so no source code is transferred from the CLI location to the server. The server is the component that resolves which OpenRewrite recipes need to be executed, however, the artifacts in which those recipes are stored are downloaded from the Maven repositories that you have configured in your CI environment.

Spring Application Advisor executes commercial recipes that are available in the Spring Commercial repository. See Spring Enterprise Subscription for Artifact Repository Administrators to understand how to integrate this Maven repository into your environment.

check-circle-line exclamation-circle-line close-line
Scroll to top icon