Java Dynamic Proxy Interceptor Framework for Business Logic Isolation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


