Extender Module for Microservice Bean Implementation Decoupling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current microservice software frameworks do not allow downstream providers to substitute objects from a base provider or previous providers with same-type objects, leading to tight coupling and difficulties in extending functionality independently.
Innovation Solution
The framework extends functionality by enabling downstream providers to select or construct bean implementations based on provider levels (POL), allowing for decoupling and easy extension of microservice applications through an extender module that stores and manages bean implementations from multiple providers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If downstream providers use objects from base provider or previous providers, then system stability is maintained, but coupling becomes tight and extensibility is restricted
Solution Approach 1:
The system segments bean implementations by provider level, creating distinct layers (base provider, first downstream provider, second downstream provider) where each can contribute implementations independently. The extender stores multiple implementations at different POLs and enables selective binding, allowing downstream providers to extend functionality without affecting other levels.
Solution Approach 2:
The patent introduces a new dimension - provider level (POL) - to organize bean implementations. Instead of a flat structure where objects are simply substituted, the system creates a hierarchical dimension with multiple POLs, enabling downstream providers to add implementations at their specific level while maintaining access to and compatibility with implementations from other levels.
2Ease of manufacture
If framework provides preset patterns for common tasks, then coding is streamlined and structure is standardized, but flexibility for independent extension is reduced
Solution Approach 1:
The extender serves multiple functions: it stores bean implementations from different providers, determines provider levels, delivers appropriate implementations based on POL, and enables both standardization and independent extension. This universal component resolves the contradiction by combining framework guidance with provider autonomy.
Solution Approach 2:
The extender acts as an intermediary between the framework's preset patterns and downstream providers' custom implementations. It receives interface definitions from the framework, accepts implementations from providers, and mediates the delivery process by matching providers with appropriate implementations based on POL, thus enabling both standardization and flexibility.
Data Source
AI summary
The present disclosure provides techniques for composition enablement for extensibility of a system. The techniques include delivering an interface to a first downstream provider, where the interface includes a bean implementation format. Then performing at least one of: (i) receiving a provider level (POL) selection from the first downstream provider, where the POL selection corresponds to a POL stored in an extender, and delivering a first bean implementation to the first downstream provider based on the POL, and (ii) receiving a constructed bean implementation from the downstream provider, determining a POL of the downstream provider, and storing the constructed bean implementation in the extender at the determined POL.


