Gateway Application for Multi-Service Authentication Mediation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Different back-end services implemented using various architectures often cannot communicate effectively with each other, leading to degraded performance and inconvenience for users, as they may use different authentication protocols and programming languages, making it difficult to share state information and coordinate efforts among developers.

Innovation Solution

A gateway application that provides a common interface for communicating with multiple back-end services by receiving web service requests, transforming them into service requests suitable for each service, and signing them with appropriate authentication protocols, allowing for seamless interaction between services with different architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If different back-end services use different authentication protocols and architectures, then each service can be developed independently using its preferred technology stack, but the services cannot communicate effectively and state information cannot be shared

Engineering Contradiction:
ImproveService independenceVSAvoidService communication
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The gateway application serves as an intermediary layer between client applications and multiple back-end services with different authentication protocols. It receives requests from clients, transforms them into service-specific authenticated requests for each back-end service, and handles the diverse authentication mechanisms centrally, enabling services to remain independent while maintaining effective communication through the gateway's mediation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a gateway application provides a unified interface for multiple back-end services, then user interaction is simplified and state information can be shared, but the gateway introduces additional system complexity

Engineering Contradiction:
ImproveUser interactionVSAvoidSystem architecture
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system architecture is segmented into distinct layers: client applications interact with a gateway application, which then communicates with multiple back-end services. This segmentation isolates the complexity of different authentication protocols within the gateway layer, presenting a simplified unified interface to users while containing the architectural complexity in a dedicated component rather than distributing it throughout the entire system.

Inventive Principle:
Principle #1Segmentation

3Stability of the object's composition

If state information is not shared between services, then each service maintains its own state independently, but user experience degrades when switching between services

Engineering Contradiction:
ImproveService state isolationVSAvoidUser experience
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The gateway application provides universal state management functionality that serves multiple back-end services simultaneously. It maintains a centralized state store that can be accessed by different services through the gateway, enabling state information to be shared across service boundaries while preserving the independence of individual service implementations. This universal state access mechanism improves user experience by maintaining consistent state across service transitions.

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

Data Source

PatentUS9288281B2Common interface communicating with multiple back-end services via gateway application
Publication Date: 2016.03.15 ADOBE INC
  • US9288281B2 patent drawing
  • US9288281B2 patent drawing
  • US9288281B2 patent drawing

AI summary

Systems and methods are disclosed for providing a common interface for communicating with multiple back-end services via a gateway application. In an example embodiment, a gateway application receives a first web service request and a second web service request. The first and second web service requests are generated by interactions with a graphical interface provided by the gateway application. The graphical interface can access a first service and a second service using different authentication protocols. The gateway application can respond to the first and second web service requests by executing a first function provided by the first service and a second function provided by the second service. Executing the first and second functions includes transmitting respective first and second service requests to the first and second services that are respective signed using a first authentication protocol for the first service and a second authentication protocol for the second service.