Dynamic RESTful Endpoint Management via Modular Proxy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for exposing RESTful endpoints, such as through EAR or WAR file uploads, pre-define endpoints at compilation time, limiting dynamic management and requiring server restarts or recompilation for changes.
Innovation Solution
A dynamic application server system with modular components like REST proxy, handler container, and helpers that allow for adding, removing, or modifying REST endpoints without restarting or recompiling, using heuristic matching and modular frameworks like OSGi to manage and route requests dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If RESTful endpoints are pre-defined during code compilation through static applications, then the system structure is simple and stable, but the system lacks dynamic management capability and requires server restarts or recompilation for changes
Solution Approach 1:
The system is divided into modular components including a proxy component, handler container, and helper components. Each module can be independently deployed, managed, and updated without affecting the entire system, enabling dynamic endpoint management while maintaining overall system stability.
Solution Approach 2:
The patent implements dynamic configuration where RESTful endpoints can be added, removed, or modified at runtime without recompilation or server restart. The handler container dynamically loads and manages helper components based on incoming requests, allowing the system to adapt to changing requirements in real-time.
2Productivity
If endpoints are modified by stopping and restarting the application server, then system stability is maintained, but productivity and response time deteriorate
Solution Approach 1:
The system enables hot-swapping of endpoint configurations and helper components without server restart. The modular architecture allows individual components to be updated, added, or removed while the application server continues to operate, maintaining service availability while improving deployment productivity.
Solution Approach 2:
The proxy component acts as an intermediary between clients and the handler container. It manages the dynamic routing and component selection, allowing configuration changes to be applied without interrupting the core service functionality, thus maintaining reliability during modifications.
3Adaptability or versatility
If static applications are used to expose RESTful endpoints, then ease of manufacture is improved, but adaptability and dynamic management capability deteriorate
Solution Approach 1:
The system separates endpoint management into discrete, deployable modules. Each helper component can be independently developed, tested, and deployed as a separate unit, making the system more adaptable while maintaining manageable deployment complexity through standardized module interfaces.
Solution Approach 2:
The handler container provides universal functionality by dynamically selecting and coordinating multiple helper components to handle different types of RESTful requests. This multi-functional approach increases adaptability while keeping the core infrastructure simple and easy to deploy.
4Adaptability or versatility
If resource information is not reused across multiple routers, then system complexity is reduced, but adaptability and resource efficiency deteriorate
Solution Approach 1:
The handler container serves as a universal resource that can be shared across multiple proxy components and routing paths. Resource information and helper components are centralized and can be reused by different routers, increasing adaptability while the container manages the complexity of coordinating these shared resources.
Solution Approach 2:
Instead of duplicating resource information across multiple routers, the system creates references or copies of helper component handles that point to the same underlying resources. This allows multiple routers to access and reuse the same resource information without actually duplicating it, enhancing adaptability while minimizing complexity.
Data Source
AI summary
Embodiments of the present invention disclose methods, systems, and program products for dynamically managing RESTful endpoints. In one embodiment, an application server provides dynamic management of RESTful endpoint, including the ability to re-use the same resource information for multiple endpoints across multiple routers, allowing for applications aliases or sharing routing capability between applications. Yet other embodiments of the present invention can provide a high availability application server system and/or failover support for routers and resources, as well as the ability to remotely add new containers and resources to the application server.


