Incremental analysis of legacy applications
A method, system, and computer program product for automated increment analysis of legacy applications are provided. The method receives a set of service properties for a service to be generated from a set of applications. The set of applications are associated with a set of resources. A subset of resources are determined based on the set of service properties. The subset of resources are to be included in the service. A resource graph of the subset of resources is generated based on the subset of resources and the set of service properties. The method generates a service increment including at least a portion of the subset of resources based on the resource graph and the set of service properties.
1 . A computer-implemented method, comprising:
receiving a set of service properties for a service to be generated from a set of applications, the set of applications associated with a set of resources, wherein the set of service properties include a set of objectives and constraints for a modernization of the set of applications, and the set of service properties are specified as a set of objectives and a set of requirements and constraints of a service increment;
determining a subset of resources based on the set of service properties, the subset of resources to be included in the service, wherein the determining includes performing a code analysis of the set of service properties and identifying a relationship between the set of service properties;
generating a resource graph of the subset of resources based on the subset of resources and the set of service properties that indicates the relationship;
converting the set of objectives and the set of constraints to a set of predicates and generate a formal notation for the predicates; and
generating, based on the resource graph and the formal notation, a service increment including a portion of the subset of resources based on the resource graph and the set of service properties, wherein the service increment is a portion of the modernization, and the service increment is based on an optimization of the formal notation and predicates in meeting specified requirements defined by the service properties.
2 . The method of claim 1 , wherein determining the subset of resources further comprises:
determining a set of seed resources based on the set of service properties; and
identifying a set of dependent resources based on the set of seed resources.
3 . The method of claim 2 , wherein the resource graph includes one or more seed resources for the service increment and a subset of dependent resources associated with each seed resource of the one or more seed resources.
4 . The method of claim 1 , wherein the set of service properties are a first set of service properties, the method further comprising:
receiving a second set of service properties for the service; and
modifying the service increment based on the second set of service properties to generate a modified service increment.
5 . The method of claim 4 , wherein the subset of resources is a first subset of resources and modifying the service increment to generate the modified service increment further comprises:
pruning the subset of resources to generate a second subset of resources based on the second set of service properties.
6 . The method of claim 1 , wherein generating the service increment further comprises:
determining a boundary for the service increment, the boundary including a set of internal resources representing at least a portion of the subset of resources; and
determining a set of external resources associated with the set of internal resources, the set of external resources being external to the boundary of the service increment.
7 . The method of claim 1 , wherein the set of constraints are based on a service type and an entity type.
8 . A system, comprising:
one or more processors; and
a computer-readable storage medium, coupled to the one or more processors, storing program instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
receiving a set of service properties for a service to be generated from a set of applications, the set of applications associated with a set of resources, wherein the set of service properties include a set of objectives and constraints for a modernization of the set of applications, and the set of service properties are specified as a set of objectives and a set of requirements and constraints of a service increment;
determining a subset of resources based on the set of service properties, the subset of resources to be included in the service, wherein the determining includes performing a code analysis of the set of service properties and identifying a relationship between the set of service properties;
generating a resource graph of the subset of resources based on the subset of resources and the set of service properties that indicates the relationship;
converting the set of objectives and the set of constraints to a set of predicates and generate a formal notation for the predicates; and
generating, based on the resource graph and the formal notation, a service increment including a portion of the subset of resources based on the resource graph and the set of service properties, wherein the service increment is a portion of the modernization, and the service increment is based on an optimization of the formal notation and predicates in meeting specified requirements defined by the service properties.
9 . The system of claim 8 , wherein determining the subset of resources further comprises:
determining a set of seed resources based on the set of service properties; and
identifying a set of dependent resources based on the set of seed resources.
10 . The system of claim 9 , wherein the resource graph includes one or more seed resources for the service increment and a subset of dependent resources associated with each seed resource of the one or more seed resources.
11 . The system of claim 8 , wherein the set of service properties are a first set of service properties, the operations further comprising:
receiving a second set of service properties for the service; and
modifying the service increment based on the second set of service properties to generate a modified service increment.
12 . The system of claim 11 , wherein the subset of resources is a first subset of resources and modifying the service increment to generate the modified service increment further comprises:
pruning the subset of resources to generate a second subset of resources based on the second set of service properties.
13 . The system of claim 8 , wherein generating the service increment further comprises:
determining a boundary for the service increment, the boundary including a set of internal resources representing at least a portion of the subset of resources; and
determining a set of external resources associated with the set of internal resources, the set of external resources being external to the boundary of the service increment.
14 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by one or more processors to cause the one or more processors to perform operations comprising:
receiving a set of service properties for a service to be generated from a set of applications, the set of applications associated with a set of resources, wherein the set of service properties include a set of objectives and constraints for a modernization of the set of applications, and the set of service properties are specified as a set of objectives and a set of requirements and constraints of a service increment;
determining a subset of resources based on the set of service properties, the subset of resources to be included in the service, wherein the determining includes performing a code analysis of the set of service properties and identifying a relationship between the set of service properties;
generating a resource graph of the subset of resources based on the subset of resources and the set of service properties that indicates the relationship;
converting the set of objectives and the set of constraints to a set of predicates and generate a formal notation for the predicates; and
generating, based on the resource graph and the formal notation, a service increment including a portion of the subset of resources based on the resource graph and the set of service properties, wherein the service increment is a portion of the modernization, and the service increment is based on an optimization of the formal notation and predicates in meeting specified requirements defined by the service properties.
15 . The computer program product of claim 14 , wherein determining the subset of resources further comprises:
determining a set of seed resources based on the set of service properties; and
identifying a set of dependent resources based on the set of seed resources, and wherein the resource graph includes one or more seed resources for the service increment and a subset of dependent resources associated with each seed resource of the one or more seed resources.
16 . The computer program product of claim 14 , wherein the set of service properties are a first set of service properties, the operations further comprising:
receiving a second set of service properties for the service; and
modifying the service increment based on the second set of service properties to generate a modified service increment.
17 . The computer program product of claim 16 , wherein the subset of resources is a first subset of resources and modifying the service increment to generate the modified service increment further comprises:
pruning the subset of resources to generate a second subset of resources based on the second set of service properties.
18 . The computer program product of claim 14 , wherein generating the service increment further comprises:
determining a boundary for the service increment, the boundary including a set of internal resources representing at least a portion of the subset of resources; and
determining a set of external resources associated with the set of internal resources, the set of external resources being external to the boundary of the service increment.