Legacy Source Code Service Identification via Structured Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current approaches to migrating to Service Oriented Architecture (SOA) either neglect existing IT assets or lack flexibility in adapting to changing business needs, as they do not effectively reuse legacy software.
Innovation Solution
A system that maps legacy software code into defined elements of SOA by identifying service candidates through structured and unstructured analyses, using a source code analyzer, repository, target profile analyzer, search module, ranking engine, and procedure aggregator to match and rank code elements with predefined heuristics, and compare interface definitions to entry and exit points.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a top-down approach is used to define a target service architecture model, then the business model and service descriptions can be clearly defined, but existing IT assets and legacy software are not considered
Solution Approach 1:
The system performs preliminary analysis of legacy source code to extract service candidates, interfaces, and data structures before the SOA migration process begins. This preliminary action ensures that existing IT assets are identified and cataloged in advance, allowing them to be considered during the subsequent service mapping and migration phases, thus preventing loss of information while maintaining adaptability.
Solution Approach 2:
The patent introduces an intermediary system that acts as a bridge between legacy software and SOA services. This intermediary automatically analyzes legacy code, identifies service candidates, and maps them to target SOA service definitions. By serving as an intermediary layer, it enables the integration of existing IT assets into the new service-oriented architecture without requiring a complete top-down redesign, thus preserving valuable legacy investments while achieving adaptability.
2Loss of information
If a bottom-up approach is used to convert an existing system into SOA, then existing systems can be migrated, but the process does not align with business models or maximize flexibility
Solution Approach 1:
The system incorporates feedback mechanisms where the analysis results of legacy code are continuously refined and mapped against target service definitions. The automatic identification and ranking of service candidates provide feedback that helps align the bottom-up migration process with business model requirements. This feedback loop ensures that while existing IT assets are preserved, the resulting SOA architecture also achieves the desired flexibility and adaptability.
3Measurement precision
If manual analysis of legacy code is performed to identify service candidates, then detailed understanding can be achieved, but the process is time-consuming and inefficient
Solution Approach 1:
The patent replaces manual mechanical analysis of legacy code with an automated computer-based system. The system uses software tools to automatically parse, analyze, and extract service candidates from legacy source code, interfaces, and data structures. This substitution of manual mechanics with automated computational processes maintains high identification accuracy while dramatically reducing the time required for analysis, thus resolving the contradiction between precision and time consumption.
4Quantity of substance
If comprehensive analysis of all source code elements is performed, then all potential service candidates can be identified, but the complexity of the system increases
Solution Approach 1:
The system segments the complex task of legacy code analysis into distinct modular components: parsing source code, extracting interfaces, identifying data structures, ranking service candidates, and mapping to target services. Each module handles a specific aspect of the analysis independently. This segmentation allows comprehensive identification of service candidates while managing system complexity through modular design, where each segment can be developed, maintained, and optimized separately.
Data Source
AI summary
Identifying service candidates in legacy source code, including a source code analyzer performing structured and unstructured analyses of computer software source code procedures, a repository storing results of the analyses, a target profile analyzer analyzing a target service description of a Service Oriented Architecture and formulating a query therefrom, a search module querying the repository to identify source code elements that match the target service description, and combining any matches within a predefined distance from each other within the source code, a ranking engine ranking the combined matches in accordance with predefined heuristics, and a procedure aggregator aggregating the combined matches by their location in propinquity to the procedures, comparing interface definitions defined for the service description to entry and exit points of the procedures to identify candidate procedures having similar input and output parameters, and producing a ranked list of candidate procedures that map into the target element.


