vFunction Logo

Download the service specification files

  1. Open the Chrome web browser and go to the vFunction WebUI Analysis page. Select “Baseline 1” measurement (specified in the AO Tutorial)

  2. Mark InventoryController, OrderController and ProductController for extraction in the ANALYSIS page by going through each one, clicking the menu near the number next to the name (3 dots) and selecting SAVE. A tick-mark on the sphere indicates it is marked for extraction. Note that the common library is marked for extraction too.

    Marking a service for extraction
    Marking a service for extraction
    Marked for extraction
    Services marked for extraction
  3. Switch to the SERVICE CREATION page, press CONFIGURE and set it up as shown here:

    Service Config
    Service Config Dialog for Service Creation

    The Group ID is the group ID that will be set for the services. The Target Platform is what platform should the services be configured for and the Dependency Repository type is the current repository type used for building the application.

    Note that you can see the current platform (Spring 5.2.3) and the current Java version (Java 8).

    vFunction provides auto refactoring capabilities by using OpenRewrite recipes. Here we want to upgrade from Java 8 to Java 17 and from using Spring to Springboot 3 (which requires Java 17). That is why we set the target version to JAVA_17 and target platform to SPRINGBOO3, and in addition enable the open recipe “MIGRATE TO JAVA 17” and “MIGRATE TO SPRINGBOOT 3.2” (click on Learn More for details). These settings will modify the generated build files of the extracted services (pom.xml and build.gradle) so you can run OpenRewrite to adjust the code for the new platform/target.

  4. Close the Service Configuration dialog and click DOWNLOAD. Make sure to approve / keep the files if needed. The files should be saved to C:\vFunctionLab\service-specs. Also, download the code-copy tool to the same folder as the specification files (there is a action in the left pane of CREATE SERVICE page in vFunction)

The browser might be configured not to prompt for a folder when downloading files. In that case, locate the destination folder by doing “Show in Folder” on one of the downloaded files and then copy the files to C:\vFunctionLab\service-specs. Note that code-copy.jar should also be in the same folder as the .json files.

vFunction Logo