Unified Interface for Remote Software Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The proliferation of siloed custom software applications in enterprises hinders integration, streamlining, and enhancement of operations due to the lack of a unified system, leading to increased development complexity and difficulty in integrating with diverse third-party applications that adhere to different standards and processes.

Innovation Solution

A software-based action design tool and workflow design tool facilitate the definition and execution of workflows by utilizing standardized APIs from remote software application systems, allowing for integration with multiple remote applications through a graphical user interface with little to no code writing, and automatically generating actions based on API specifications to interact with remote software applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If actions are defined to interact directly with remote software applications adhering to different standards and processes, then integration capability with diverse applications is achieved, but development complexity and time increase significantly

Engineering Contradiction:
Improveintegration capabilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (the action design tool and workflow system) that mediates between the enterprise's internal workflows and external remote software applications. This intermediary provides standardized interfaces and automatic code generation, allowing diverse applications to be integrated without directly implementing application-specific interaction code for each remote application.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The action design tool provides universal, standardized interfaces that can interact with multiple different remote software applications through common protocols and patterns. Instead of creating custom integration code for each application, the system uses universal action definitions that can be applied across different remote applications, reducing development complexity while maintaining broad integration capability.

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

2Loss of time

If standardized APIs are used to interact with remote software applications, then development time is reduced, but adherence to application-specific standards and processes may be compromised

Engineering Contradiction:
Improvedevelopment timeVSAvoidadherence to standards
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system dynamically adapts standardized action definitions to match the specific requirements of each remote software application. The action design tool generates application-specific code that adheres to each application's standards and processes while maintaining a consistent, standardized interface for the enterprise. This dynamic code generation ensures both time efficiency and standards compliance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes parameters and configurations of the standardized action definitions based on the specific remote application being integrated. By adjusting parameters such as authentication methods, data formats, and communication protocols, the system maintains adherence to application-specific standards while using a unified standardized interface, thus reducing development time without compromising reliability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11240344B2Integration of remote software applications into a workflow
Publication Date: 2022.02.01 SERVICENOW INC
  • US11240344B2 patent drawing
  • US11240344B2 patent drawing
  • US11240344B2 patent drawing

AI summary

A system includes persistent storage configured to store definitions of interfaces of remote software applications, and a software application configured to define the interfaces. The software application identifies a remote software application system by which the remote software applications are exposed for execution, and obtains therefrom a specification of a particular remote software application. The software application determines, based on the specification, (i) objects accessible by way of the particular remote software application and (ii) functions invokable to interact with the objects. The software application generates actions that define an interface for the particular remote software application. Each action is configured to invoke execution of one or more of the functions by transmitting a request to the remote software application system and, in response, receive, by way of the remote software application system, an output of the one or more of the functions. The actions are stored in the persistent storage to define the interface.