UI Collaboration Server Event Bus for Heterogeneous Component Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development and testing of user interface components are complex and time-consuming due to their inter-dependency, making it difficult to separate and develop them in parallel, especially across different programming languages, operating systems, and machine platforms.

Innovation Solution

A user interface collaboration system that includes a server and multiple APIs, allowing UI components from different applications to collaborate in a heterogeneous environment by forwarding events through an event bus, enabling independent development and simultaneous testing across various platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If UI components are developed in the same programming language and operating environment to ensure message passing without errors, then reliability is improved, but device complexity and inflexibility increase

Engineering Contradiction:
Improvemessage passing reliabilityVSAvoidUI logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a message bus as an intermediary component that mediates communication between UI components. The message bus provides standardized message routing and event handling mechanisms, allowing components written in different languages and running on different operating systems to communicate reliably without direct integration complexity. This intermediary layer abstracts the heterogeneity, maintaining reliability while reducing the complexity of point-to-point integration logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If UI components are tightly coupled to ensure proper interaction, then reliability is improved, but ease of manufacture and parallel development deteriorate

Engineering Contradiction:
Improvecomponent interaction reliabilityVSAvoidparallel development ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent segments the UI system into independent, loosely-coupled components that communicate through a shared message bus. Each UI component is self-contained with its own event handling logic, allowing them to be developed, tested, and maintained independently in parallel. The message bus provides the necessary coordination without creating tight coupling, enabling reliable component interaction while facilitating parallel development workflows.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If UI components are developed independently in heterogeneous environments, then adaptability and productivity are improved, but difficulty of detecting and measuring interactions increases

Engineering Contradiction:
Improveenvironmental adaptabilityVSAvoidinteraction testing difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements a universal message bus architecture that provides standardized communication protocols and event handling mechanisms applicable across different programming languages and operating systems. This universal interface allows UI components developed in heterogeneous environments to interact through a common language, simplifying the detection and measurement of interactions. The standardized message format and routing mechanisms enable consistent testing and monitoring across diverse component implementations.

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

Data Source

PatentUS7840970B2Graphical user interface components that interact through a collaboration server
Publication Date: 2010.11.23 SAP SE
  • US7840970B2 patent drawing
  • US7840970B2 patent drawing
  • US7840970B2 patent drawing

AI summary

A user interface (UI) collaboration system enables a plurality of application clients to collaborate in a heterogeneous environment. The system includes, but is not limited to, a server, a first application interface (API), and a second API. The first API is coupled to the server and is associated with a first application client that includes a first UI component. When an event is triggered by activation of a function of the first UI component, the first API reports the event to the server. The second API is coupled to the server and is associated with a second application client that includes a second UI component. The second API receives the event forwarded from the server to activate the second UI component. More than two application clients and APIs may also be included.