{
  "segmentationGroupRef" : "JavaModernizationPortfolioAdvisor",
  "name" : "Java Modernization Portfolio Advisor",
  "description" : "This Portfolio Advisor segments Java applications based on the need and the complexity of migrating them to the latest versions of Java (compatible with ARM architecture). Since Java 17 (LTS), the OpenJDK and Oracle JDK distributions added robust support for Linux/ARM64, and Java 21 (LTS) continues this with performance optimizations, including on ARM-based cloud processors. Migrating to Java 21 is a future-proof choice for cloud migration, especially if you want to exploit ARM-based cost efficiency (like AWS Graviton or Azure ARM VMs).",
  "segments" : [ {
    "segmentRef" : "JavaMigrationEasy",
    "name" : "Low modernization complexity of legacy Java applications",
    "description" : "Small Java applications using legacy Java versions with few 3rd party OSS dependencies.",
    "color" : "#03CEA4",
    "matchingRules" : [ {
      "description" : "Legacy Java applications in versions prior to Java 17.     (200pts)",
      "formula" : "appData < '{\"name\": \"JDK\", \"version\":\"17\"}'",
      "points" : 200
    },
	{
      "description" : "Small Java applications with less than 100k LOC and with less than 50 3rd party OSS dependencies.     (50pts)",
      "formula" : "technologies =in= (JAVA) and (technology:LOC:JAVA <= 100000 and SCA:count <= 50)",
      "points" : 50
    }	]
  }, {
    "segmentRef" : "JavaMigrationAverage",
    "name" : "Average modernization complexity of legacy Java applications",
    "description" : "Average size Java applications using legacy Java versions with an average number of 3rd party OSS dependencies.",
    "color" : "#90EE90",
    "matchingRules" : [ {
      "description" : "Legacy Java applications in versions prior to Java 17.     (200pts)",
      "formula" : "appData < '{\"name\": \"JDK\", \"version\":\"17\"}'",
      "points" : 200
    },
	{
      "description" : "Average Size Java applications with a size between 100k LOC and 250k LOC or a number of 3rd party OSS dependencies between 50 and 100.     (25pts)",
      "formula" : "technologies =in= (JAVA) and (technology:LOC:JAVA <= 250000 and SCA:count <= 100)",
      "points" : 25
    }	]
  }, {
    "segmentRef" : "JavaMigrationHigh",
    "name" : "High Java Modernization Complexity",
    "description" : "Large size Java applications using legacy Java versions with an high number of 3rd party OSS dependencies.",
    "color" : "#96CAED",
    "matchingRules" : [ {
      "description" : "Legacy Java applications in in versions prior to Java 17.     (200pts)",
      "formula" : "appData < '{\"name\": \"JDK\", \"version\":\"17\"}'",
      "points" : 200
    },
	{
      "description" : "Large Java Applications with more than 250k LOC or with more than 100 dependencies.     (25pts)",
      "formula" : "technologies =in= (JAVA) and (technology:LOC:JAVA > 250000 or SCA:count > 100)",
      "points" : 25
    }	]
  }, {
    "segmentRef" : "Upgradable",
    "name" : "Upgradable Java versions",
    "description" : "Java applications in an upgradable Java version : from Java 17 to Java 21 not included.",
    "color" : "#2280BF",
    "matchingRules" : [ {
      "description" : "Java applications in Java 17 up to Java 21 not included     (100pts)",
      "formula" : "technologies =in= (JAVA) and appData >= '{\"name\": \"JDK\", \"version\":\"17\"}' and appData < '{\"name\": \"JDK\", \"version\":\"21\"}'",
      "points" : 100
    } ]
  }, {
    "segmentRef" : "NoUpgradeRequired",
    "name" : "No Java Upgrade required",
    "description" : "No Java Upgrade required.",
    "color" : "#2280BF",
    "matchingRules" : [ {
      "description" : "Java applications in Java 21 or later    (75pts)",
      "formula" : "technologies =in= (JAVA) and appData >= '{\"name\": \"JDK\", \"version\":\"21\"}'",
      "points" : 75
    } ]
  }, {
    "segmentRef" : "NotApplicable",
    "name" : "Not Java applications",
    "description" : "Not Java applications.",
    "color" : "#DDDDDD",
    "matchingRules" : [ {
      "description" : "Applications not developed in Java    (75pts)",
      "formula" : "technologies =out= (JAVA)",
      "points" : 75
    } ]
  } ],
  "segmentationStatus" : "production"
}