Reusable Software Components with Segmented Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application development frameworks lack efficient methods for structuring applications into reusable components, making it difficult for business experts to customize user interfaces without requiring software development skills.

Innovation Solution

The development of reusable software components with external and internal interfaces, allowing for programmatic, data-binding, and visual interactions, enabling business experts to customize applications using a visual composition tool without writing code by embedding or connecting components through separate interfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are structured into reusable components with separate external and internal interfaces, then application flexibility and maintainability are improved, but device complexity increases due to multiple interface types and embedding mechanisms

Engineering Contradiction:
Improveapplication flexibilityVSAvoidcomponent structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The component interface is segmented into distinct external and internal interfaces. The external interface handles programmatic interaction, data binding, and visual presentation, while the internal interface manages embedding of other components. This segmentation allows each interface to be optimized for its specific purpose, improving flexibility without requiring the entire component structure to be redesigned for each use case.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Components can embed other components through the internal interface, creating a nested structure where components contain components. This nesting mechanism enables complex applications to be built from simpler reusable components, improving flexibility and maintainability by allowing independent development and testing of individual components before integration.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Ease of operation

If multiple interface types (programming, data-binding, visual) are provided for component interaction, then ease of operation is improved for different user needs, but device complexity increases due to implementing and managing multiple separate interfaces

Engineering Contradiction:
Improvecustomization easeVSAvoidinterface implementation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The component framework provides multiple interface types (programming interface, data-binding interface, visual interface) that all operate on the same underlying component instance. This universal design allows a single component to serve multiple purposes and be interacted with through different interfaces depending on the user's needs, improving ease of operation without requiring separate implementations for each interface type.

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

Solution Approach 2:

The interaction mechanisms are segmented into three separate interface types: programming interface for code-based interaction, data-binding interface for automatic data synchronization, and visual interface for graphical configuration. Each interface type is optimized for specific operational scenarios, allowing users to choose the most appropriate interface for their task while the framework manages the underlying complexity of coordinating all three interfaces.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If business experts can customize applications without writing code, then ease of operation is improved, but manufacturing precision may worsen due to lack of programmatic control

Engineering Contradiction:
Improvecustomization accessibilityVSAvoidcustomization precision
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The visual interface acts as an intermediary between business experts and the underlying programmatic component system. It provides a graphical configuration environment where experts can customize components through visual parameters and properties without writing code. The visual interface translates these high-level configurations into precise programmatic instructions that maintain manufacturing precision while improving accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The framework uses configuration files and metadata to represent component states and customizations. These configuration files serve as precise, machine-readable copies of the component setup that can be generated from visual interfaces, stored, and reused. This copying mechanism ensures that even when customization is performed through user-friendly visual interfaces, the precise programmatic representation is maintained for manufacturing and deployment.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7562347B2Reusable software components
Publication Date: 2009.07.14 SAP SE
  • US7562347B2 patent drawing
  • US7562347B2 patent drawing
  • US7562347B2 patent drawing

AI summary

Methods and apparatus, including computer program products, implement techniques for structuring applications into reusable components. A reusable component having an external interface and an internal interface is implemented. The component encapsulates functionality, where multiple instances of the component are reusable at the same time. The component is configurable to embed one or more specified components. The external interface comprises an external programming interface, an external data-binding interface, and an external visual interface. The internal interface comprises an embedding interface, an internal programming interface, an internal data-binding interface, and an internal visual interface. The embedding interface specifies one or more component interfaces of components that can be embedded.