Patent ID: 9569177
Date: 2017-02-14
CPC Classifications: G06F

Claim:
1. A service extraction and application composition system comprising: at least one processor; and a preprocessor, executed by the at least one processor, to preprocess and instrument an existing application that is to be converted to a service-oriented application by injecting instrumentation code into the existing application by identifying a code signature where a service of services related to the existing application is initiated and injecting the instrumentation code at a location of the code signature, wherein a trace generator to execute the preprocessed and instrumented existing application to generate traces related to a runtime behavior of the services related to the existing application, and traces related to parameters and values for the parameters that are received by methods that are invoked by the existing application, wherein a method is identified by the code signature and includes the instrumentation code injected at the location of the code signature, and wherein the instrumentation code is used to generate the traces that include the parameters and the values for the parameters; a calling code generator to utilize the traces related to the runtime behavior of the services related to the existing application to generate calling code related to the services related to the existing application; a code generator to generate representational state transfer (REST) application programming interfaces (APIs) that include the calling code to call the services related to the existing application; a refactored code generator to generate refactored code for the existing application by at least one of modifying source code of the existing application and adding new code to the source code of the existing application for invocation of the services related to the existing application by the REST APIs; and a package generator to utilize the REST APIs and the refactored code for the existing application to generate the service-oriented application by wrapping the refactored code for the existing application in a facade layer, the facade layer including the REST APIs and exposing the REST APIs for the services related to the existing application.