Extending RESTful Web Service Resources in a JAVA-Component-Driven-Architecture Application
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Customizing software applications for supply chain entities with different business organizations is challenging due to proprietary source code access limitations, leading to numerous versions and inefficient multi-level customization processes.
Innovation Solution
A framework for injecting custom functionality into application servers to expose RESTful web services without rewriting the code, allowing endpoints to be customized and linked to existing services without recompiling, supporting various programming languages and formats.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software is customized by writing code specific to many customers, then the software can fit particular business needs, but it requires many back-and-forth multi-level conversations and results in many versions of each software program
Solution Approach 1:
The patent segments the software into a core proprietary application and separate customizable components (endpoints, data formats, business logic). This allows customization without creating multiple versions of the entire software, as each segment can be independently configured through configuration files rather than code modification.
Solution Approach 2:
The patent creates a universal customization framework that can accommodate different customer requirements through a single software instance. The framework supports multiple data formats (XML, JSON, CSV), various endpoint types, and configurable business logic, allowing one software version to serve multiple customization needs through configuration rather than code changes.
2Adaptability or versatility
If software is customized by writing code specific to many customers, then the software can fit particular business needs, but it requires access to source code which is proprietary and unavailable to customers
Solution Approach 1:
The patent introduces configuration files as an intermediary between the customer and the proprietary source code. Customers can customize software behavior by modifying configuration files (XML, JSON, CSV formats) without needing access to or knowledge of the underlying Java source code. The framework processes these configurations to generate the necessary customizations.
Solution Approach 2:
The patent allows customers to work with configuration file copies rather than the actual source code. The configuration files serve as accessible representations that can be modified to achieve customization, while the proprietary source code remains intact and unchanged in the original repository.
3Adaptability or versatility
If the application code is altered to customize functionalities, then the software can adapt to different business organizations, but it increases the complexity of maintenance and deployment
Solution Approach 1:
The patent implements dynamic customization where the software behavior changes based on configuration files rather than static code modifications. The framework dynamically generates endpoints, validates data formats, and executes business logic based on the provided configurations, allowing adaptability without altering the core application code.
Solution Approach 2:
The patent achieves customization by changing parameters in configuration files (data formats, endpoint URLs, business rules) rather than modifying the application code structure. This allows different business organizations to adapt the software by adjusting configuration parameters while the core application remains unchanged, simplifying maintenance and deployment.
Data Source
AI summary
A system and method are disclosed for an application server having one or more web application archives and one or more endpoints, determining whether a functionality of one or more endpoints is to be changed, and responsive to the determination of whether an endpoint of the one or more endpoints is to be changed, determining a link to a functionality component located external to the one or more web application archive that is to replace the functionality of the endpoint, and causing the external functionality component to link to the endpoint.


