Software Extensibility via Graphical Layered Artifact Browser
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software applications often lack extensibility features that allow customers to easily add functionalities beyond the predefined capabilities, limiting customization and integration of additional features from different roles such as vendors or third parties.
Innovation Solution
A computer-implemented method and system that supports software application extensions by analyzing an extensibility model, providing graphical representations of extensible artifacts across multiple logical layers, and guiding developers through extension development tasks while ensuring constraints are not violated, using components like a core software extensibility model analyzer, cross-layer extensible artifacts browser, and extension development guidance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software applications are delivered with predefined functionalities only, then the base software maintains simplicity and stability, but customers cannot add additional functionalities or customize the application
Solution Approach 1:
The system segments extensibility functionality into distinct components: an extensibility model defining rules and constraints, extensible artifacts representing individual extension points, and a browser interface for managing extensions. This segmentation allows the base software to remain simple while providing structured extensibility capabilities through modular add-on components.
Solution Approach 2:
The patent introduces an intermediary extensibility model that acts as a mediator between the base software and extension artifacts. This model defines constraints and rules that govern how extensions can be added, ensuring that extensions integrate properly without compromising the stability of the core application.
2Ease of operation
If extensions are allowed without guidance, then developers have freedom to add functionalities, but constraints may be violated leading to system instability
Solution Approach 1:
The system implements feedback mechanisms through the browser interface that monitor extension development activities. The interface provides real-time information about constraint compliance, guides developers through proper extension creation processes, and alerts when constraints might be violated, allowing corrective action before system instability occurs.
Solution Approach 2:
The extensibility model establishes constraints and rules in advance before extensions are developed. The browser interface pre-validates extension artifacts against these constraints, performing preliminary checks to ensure compliance before extensions are deployed to the application, preventing constraint violations that could cause instability.
3Loss of information
If graphical representations of extensible artifacts are provided across multiple logical layers, then developers can understand and extend the application better, but the interface complexity increases
Solution Approach 1:
The browser interface adds a visual dimension to the extensibility model by providing graphical representations of extensible artifacts across multiple logical layers. Instead of presenting raw data or text-based models, the system renders visual diagrams that show the structure and relationships of extensions, making complex multi-layer information more comprehensible through spatial and visual organization.
Data Source
AI summary
Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for supporting software application extensions including receiving, by the one or more processors, application information associated with a to-be-extended application, the application including a plurality of logical layers and including a computer-executable application that can be executed using one or more computing devices; processing, by the one or more processors, the application information; providing, based on the processing, graphical representations of one or more extensible artifacts associated with the application; displaying a first graphical representation within a browser interface, the first graphical representation being based on a first logical layer of the plurality of logical layers, the browser interface being provided as a computer-executable program that is executed using the one or more processors; and receiving user input provided using the browser interface, and in response to the user input, providing an extension of the application.


