Decoupling microservices from a monolithic application

US2020285451A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020285451-A1
Application numberUS-201916292744-A
CountryUS
Kind codeA1
Filing dateMar 5, 2019
Priority dateMar 5, 2019
Publication dateSep 10, 2020
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Provided is a system and method for extracting microservices from a monolithic application. The microservices are self-sufficient services which can be executed independently from the monolithic application. In one example, the method may include receiving an identification of a function from among a plurality of functions of a monolithic software application, extracting code of the identified function from the monolithic software application based on internal dependencies within code of the monolithic software application, generating a decoupled microservice based on the extracted code which executes the identified function independently from the monolithic software application, and storing the decoupled microservice for the identified function via a storage device.

First claim

Opening claim text (preview).

1 . A computing system comprising: a processor configured to receive text input comprising a network address of a monolithic software application that has been uploaded to a host platform for execution, and a class name from among a plurality of classes of the monolithic software application, extract code of a class identified by the text input of the class name and code of a plurality of dependent classes that depend from the class from a storage location of the monolithic software application identified from the network address based on internal dependencies within code of the monolithic software application, and generate a decoupled microservice based on the extracted code which executes the identified function independently from the monolithic software application; and a storage configured to store the decoupled microservice for the identified function. 2 . The computing system of claim 1 , wherein the processor is configured to receive input of a uniform resource location (URL) which identifies a web page of the monolithic software application. 3 . The computing system of claim 1 , wherein the processor is configured to receive, via a text input field of a user interface, the class name included in the monolithic software function. 4 . (canceled) 5 . The computing system of claim 1 , wherein the processor is configured to extract a copy of modules of code from an executable package of the monolithic software application corresponding to the identified function and ignore modules of code corresponding to other functions. 6 . The computing system of claim 1 , wherein the processor is configured to extract code modules from an executable package of the monolithic software application that have overlapping internal dependencies with another function from among the plurality of functions of the monolithic software application. 7 . The computing system of claim 1 , wherein the decoupled microservice comprises a separately executable software program configured to execute the identified class without depending on the monolithic software application. 8 . The computing system of claim 1 , wherein the processor is further configured to deploy additional running instances of the decoupled microservice in response to receiving a scale-up request. 9 . A method comprising: receiving text input comprising a network address of a monolithic software application that has been uploaded to a host platform for execution, and a class name from among a plurality of classes of the monolithic software application; extracting code of a class identified by the text input of the class name and code of a plurality of dependent classes that depend from the class from a storage location of the monolithic software application identified from the network address based on internal dependencies within code of the monolithic software application; generating a decoupled microservice based on the extracted code which executes the identified function independently from the monolithic software application; and storing the decoupled microservice for the identified function via a storage device. 10 . The method of claim 9 , wherein the receiving comprises receiving a uniform resource location (URL) of a web page of the monolithic software application. 11 . The method of claim 9 , wherein the receiving comprises receiving, via a text input field of a user interface, the class name included in the monolithic software function. 12 . (canceled) 13 . The method of claim 9 , wherein the extracting comprises extracting a copy of modules of code from an executable package of the monolithic software application corresponding to the identified function while ignoring modules of code corresponding to other functions. 14 . The method of claim 9 , wherein the extracting comprises extracting code modules from an executable package of the monolithic software application that have overlapping internal dependencies with another function from among the plurality of functions of the monolithic software application. 15 . The method of claim 9 , wherein the decoupled microservice comprises a separately executable software program configured to execute the identified class without depending on the monolithic software application. 16 . The method of claim 9 , further comprising deploying additional running instances of the generated microservice in response to a scale-up request. 17 . A non-transitory computer-readable medium storing instructions which when executed cause a computer to perform a method comprising: receiving text input comprising a network address of a monolithic software application that has been uploaded to a host platform for execution, and a class name from among a plurality of classes of the monolithic software application; extracting code of a class identified by the text input of the class name and code of a plurality of dependent classes that depend from the class from a storage location of the monolithic software application identified from the network address based on internal dependencies within code of the monolithic software application; generating a decoupled microservice based on the extracted code which executes the identified function independently from the monolithic software application; and storing the decoupled microservice for the identified function via a storage device. 18 . The non-transitory computer-readable medium of claim 17 , wherein the extracting comprises extracting a copy of modules of code from an executable package of the monolithic software application corresponding to the identified function while ignoring modules of code corresponding to other functions. 19 . The non-transitory computer-readable medium of claim 17 , wherein the extracting comprises extracting code modules from an executable package of the monolithic software application that have overlapping internal dependencies with another function from among the plurality of functions of the monolithic software application. 20 . The non-transitory computer-readable medium of claim 17 , wherein the decoupled microservice comprises a separately executable software program configured to execute the identified class without depending on the monolithic software application. 21 . The computing system of claim 1 , wherein the processor is further configured to extract the internal dependencies of the plurality of dependent classes from the code of the uploaded monolithic software application, and generate the decoupled microservice based on the extracted internal dependencies of the plurality of dependent classes. 22 . The computing system of claim 1 , wherein the processor is further configured to extract a second class identified and code of a second plurality of dependent classes that depend from the second class, wherein the extracted code of the second plurality of dependent classes share at least one class in common with the extracted plurality of dependent classes of the class.

Assignees

Inventors

Classifications

  • G06F8/36Primary

    Software reuse · CPC title

  • Software deployment · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2020285451A1 cover?
Provided is a system and method for extracting microservices from a monolithic application. The microservices are self-sufficient services which can be executed independently from the monolithic application. In one example, the method may include receiving an identification of a function from among a plurality of functions of a monolithic software application, extracting code of the identified …
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F8/36. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Sep 10 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).