Monolithic Application Decomposition via Complexity Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The conversion of monolithic applications into microservices is challenging due to tight integration of components, lack of standardization, and absence of reference architectures, leading to a manual, time-consuming, and difficult process with unclear boundaries and varying numbers of microservices.

Innovation Solution

A method and system that identify a subset of functionalities through cost-benefit analysis, determine the number of microservices based on functionality priority and complexity scores, and generate groups of methods based on dependency and occurrence analysis to decompose the monolithic application into microservices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual conversion process is used to decompose monolithic application into microservices, then flexibility in decision-making is improved, but time consumption and difficulty increase

Engineering Contradiction:
Improveflexibility in decision-makingVSAvoidtime consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs automated analysis of the monolithic application's codebase, dependencies, and functionality to self-determine the optimal decomposition strategy. The processor automatically identifies microservice boundaries, generates decomposition plans, and suggests migration paths without requiring manual intervention at each decision point, thereby reducing time consumption while maintaining adaptability through configurable parameters.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical process of code analysis and decomposition planning is replaced with an automated computational system. The processor executes algorithms to analyze application structure, identify dependencies, and generate decomposition recommendations, substituting human manual effort with automated mechanical computation to reduce time consumption while preserving decision flexibility through configurable analysis parameters.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Stability of the object's composition

If components are tightly integrated in monolithic application, then system coherence is improved, but ease of decomposition and boundary definition worsen

Engineering Contradiction:
Improvesystem coherenceVSAvoidease of decomposition
Core Design Contradiction:
Stability of the object's compositionVSEase of manufacture

Solution Approach 1:

The system automatically segments the monolithic application into distinct microservices by analyzing code dependencies, functionality boundaries, and coupling relationships. The processor identifies natural decomposition points where tight integration exists but functional boundaries can be cleanly separated, enabling systematic decomposition while preserving necessary internal coherence within each microservice.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary analysis layer that examines the tightly integrated components and identifies appropriate boundary definitions. This intermediary process evaluates dependency graphs, interface definitions, and data flow patterns to determine where decomposition should occur, mediating between the need for system coherence and the requirement for ease of decomposition.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If no reference architecture is available for conversion, then customization to specific application needs is improved, but process standardization and guidance worsen

Engineering Contradiction:
Improvecustomization to specific needsVSAvoidprocess standardization
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system uses configurable parameters and analysis settings that can be adjusted based on specific application requirements, domain characteristics, and organizational preferences. The processor accepts input parameters regarding decomposition criteria, microservice size preferences, and migration constraints, allowing customization while maintaining a standardized analytical framework and process flow.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11397576B2Decomposing a monolithic application into one or more micro services
Publication Date: 2022.07.26 HCL TECH LTD
  • US11397576B2 patent drawing
  • US11397576B2 patent drawing
  • US11397576B2 patent drawing

AI summary

The present disclosure relates to system(s) and method(s) for decomposing a monolithic application into one or more micro services. The method identifies a subset of functionalities, from a set of functionalities associated with the monolithic application. The method further determines a number of micro services based on a functionality priority, a functionality complexity score, and a functionality predefined complexity score associated with each functionality. Further, the method generates one or more groups of methods from a plurality of methods associated with the subset of functionalities. Further, the method decomposes the monolithic application into the one or more micro services based on the one or more groups of methods, and the number of micro services.