Microservices Graph Generation
AssigneeSap SE
InventorsDeng Feng Wan, Zuxing Wang
Life of this patent
Estimating the term…
Abstract
The present disclosure provides systems and methods for generating a graph of microservices of a software application. Source code for the application may be parsed using one or more method identifiers to identify a plurality of methods of the software application. Names and path values for the plurality of methods may be stored in a graph database as nodes and edges. The graph database may be queried to determine dependencies of a method, including the microservice that the method belongs to any remote methods called by the method. In addition, properties of the nodes may be transformed into a set of vectors to provide searching of the graph and recommendations.
Claims20
A computer system, comprising:
- one or more processors;
- and
- one or more machine-readable medium coupled to the one or more processors and storing computer program code comprising sets of instructions executable by the one or more processors to:
- parse source code of a software application comprising a plurality of microservices to identify a plurality of methods based on one or more method identifiers, the plurality of methods comprising a plurality of remote calling methods;
- determine a name and a path value for each method of the plurality of methods, the name identifying the method, the path value identifying a microservice that the method belongs to;
- determine a remote name and a remote path value for each remote calling method of the plurality of remote calling methods, the remote name identifying a remote method of the plurality of methods called by the remote calling method, the remote path value identifying an endpoint for calling the remote method;
- store the name for each method of the plurality of methods in a graph database representing a graph, each method of the plurality of methods represented as a node in the graph;
- store the path value for each method of the plurality of methods in the graph database, each path value represented as an edge between a node representing the method and a node representing the microservice that the method belongs to;
- store the remote path value for each remote calling method of the plurality of remote calling methods in the graph database, each remote path value represented as an edge between a node representing the remote calling method and a node representing the remote method of the plurality of methods called by the remote calling method;
- and
- query the graph database using an identifier of a first method of the plurality of methods to determine one or more dependent methods related to the first method.
One or more non-transitory computer-readable medium storing computer program code comprising sets of instructions to:
- parse source code of a software application comprising a plurality of microservices to identify a plurality of methods based on one or more method identifiers, the plurality of methods comprising a plurality of remote calling methods;
- determine a name and a path value for each method of the plurality of methods, the name identifying the method, the path value identifying a microservice that the method belongs to;
- determine a remote name and a remote path value for each remote calling method of the plurality of remote calling methods, the remote name identifying a remote method of the plurality of methods called by the remote calling method, the remote path value identifying an endpoint for calling the remote method;
- store the name for each method of the plurality of methods in a graph database representing a graph, each method of the plurality of methods represented as a node in the graph;
- store the path value for each method of the plurality of methods in the graph database, each path value represented as an edge between a node representing the method and a node representing the microservice that the method belongs to;
- store the remote path value for each remote calling method of the plurality of remote calling methods in the graph database, each remote path value represented as an edge between a node representing the remote calling method and a node representing the remote method of the plurality of methods called by the remote calling method;
- and
- query the graph database using an identifier of a first method of the plurality of methods to determine one or more dependent methods related to the first method.
A computer-implemented method, comprising:
- parsing source code of a software application comprising a plurality of microservices to identify a plurality of methods based on one or more method identifiers, the plurality of methods comprising a plurality of remote calling methods;
- determining a name and a path value for each method of the plurality of methods, the name identifying the method, the path value identifying a microservice that the method belongs to;
- determining a remote name and a remote path value for each remote calling method of the plurality of remote calling methods, the remote name identifying a remote method of the plurality of methods called by the remote calling method, the remote path value identifying an endpoint for calling the remote method;
- storing the name for each method of the plurality of methods in a graph database representing a graph, each method of the plurality of methods represented as a node in the graph;
- storing the path value for each method of the plurality of methods in the graph database, each path value represented as an edge between a node representing the method and a node representing the microservice that the method belongs to;
- storing the remote path value for each remote calling method of the plurality of remote calling methods in the graph database, each remote path value represented as an edge between a node representing the remote calling method and a node representing the remote method of the plurality of methods called by the remote calling method;
- and
- querying the graph database using an identifier of a first method of the plurality of methods to determine one or more dependent methods related to the first method.
Dependencies are inferred from the claim text.