Extender Module for Microservice Bean Implementation Decoupling

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveextensibilityVSAvoidcoupling
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvecoding efficiencyVSAvoidindependent extension
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11429356B2Composition enablement for partner and customer extensibility of inversion of control objects
Publication Date: 2022.08.30 TOSHIBA GLOBAL COMMERCE SOLUTIONS HLDG
  • US11429356B2 patent drawing
  • US11429356B2 patent drawing
  • US11429356B2 patent drawing

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.