Java Dynamic Proxy Interceptor Framework for Business Logic Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods fail to effectively separate business logic from system functionalities in Java business components, leading to dependency on server environment and lack of plug and play functionality for interceptor components.

Innovation Solution

A method and system using Java dynamic proxies and an interceptor framework to configure and initialize interceptor classes in an XML configuration file, creating an interception chain around business components without modifying them, allowing for plug and play operation and independence from system functionalities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interceptors are used to intercept communication between client program and business components, then system functionalities can be provided, but the business logic remains dependent on server environment functionalities

Engineering Contradiction:
Improvebusiness component independenceVSAvoidinterceptor organization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the business component functionality by introducing separate interceptor components that handle system functionalities (transaction management, security, naming) independently from the core business logic. This segmentation allows the business component to remain independent while system functionalities are provided through modular interceptors that can be organized and configured separately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Interceptors act as intermediary components between the client program and the business component. These intermediaries capture and handle system functionality requirements (transactions, security, naming) without requiring the business component to directly depend on server environment functionalities, thus resolving the dependency issue while maintaining organized interceptor management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If business components are made independent of server environment, then portability is improved, but system functionalities must be organized around the component in plug and play mode

Engineering Contradiction:
Improvebusiness component portabilityVSAvoidinterceptor configuration ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The interceptor framework provides universal functionality by creating interceptors that can handle multiple system functionalities (transactions, security, naming) in a unified manner. These interceptors are designed to work with any business component in a plug-and-play fashion, making the system adaptable to different components while maintaining ease of operation through standardized interceptor interfaces and configuration mechanisms.

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

Solution Approach 2:

The system performs preliminary action by pre-configuring interceptor components with their required functionalities before they are deployed with the business component. This allows interceptors to be ready-to-use in a plug-and-play manner, improving ease of operation while maintaining the portability benefits of independent business components.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If interceptor components are added or removed around business component, then flexibility is improved, but the complexity of managing interceptor chains increases

Engineering Contradiction:
Improveinterceptor flexibilityVSAvoidinterceptor chain management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements dynamic interceptor chain management where interceptors can be added, removed, or reconfigured at runtime without requiring changes to the business component or client program. The framework dynamically organizes interceptor chains based on configuration, allowing flexible adaptation while managing complexity through automated chain construction and configuration parsing mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The interceptor framework provides self-service functionality by automatically organizing and managing interceptor chains based on configuration files. The system self-configures the interceptor architecture, handling the complexity of chain management internally while presenting a simple interface for adding or removing interceptors, thus improving flexibility without exposing the underlying management complexity to users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7984456B2Interceptor framework using java dynamic proxies
Publication Date: 2011.07.19 DEEM
  • US7984456B2 patent drawing
  • US7984456B2 patent drawing
  • US7984456B2 patent drawing

AI summary

Disclosed herein is a method and system for isolating business logic from system operations by attaching and organizing a set of java interceptor components, using XML configuration and java dynamic proxy functionality, around an existing standard software java business component. The interceptor components are configured by pre-configuring a set of interceptor classes in an XML configuration file. An interceptor framework is provided which configures, initializes and maintains the interceptor classes. A proxy of the business component is created and returned to a calling client program. The interceptor framework parses the XML configuration file for initializing all the interceptor classes. An interceptor chain is created associated with the business component, when the client program invokes the methods on the proxy business component. Each interceptor acts as a proxy to a previous interceptor in the interceptor chain.