API Proxy Governance for Usage Policy Enforcement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing user-facing services face challenges in integrating with backend services due to frequent API changes, financial costs, and restrictive access policies, requiring individual implementation and duplication of efforts across multiple services.
Innovation Solution
A proxy service manages access to third-party APIs by enforcing usage policies, providing a centralized interface for connection protocols, and handling legal and organizational connectivity policies, thereby reducing duplication and protecting against service disruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If user-facing services directly access backend service APIs, then integration functionality is achieved, but code duplication and maintenance complexity increase when APIs change
Solution Approach 1:
The patent introduces a gateway service as an intermediary layer between user-facing services and backend services. This gateway abstracts the backend API interactions, allowing user-facing services to communicate through standardized interfaces without directly implementing backend-specific code. When backend APIs change, only the gateway needs updates, not the user-facing services, thereby eliminating code duplication and reducing maintenance complexity.
Solution Approach 2:
The gateway service provides universal access to multiple backend services through a single unified interface. Instead of each user-facing service implementing its own backend integrations, the gateway consolidates these functionalities, allowing any user-facing service to access any backend service through the same standardized mechanism, reducing overall system complexity.
2Productivity
If user-facing services implement direct API access, then service functionality is achieved, but susceptibility to service disruptions increases
Solution Approach 1:
The gateway acts as a protective intermediary that isolates user-facing services from backend service disruptions. It implements retry logic, fallback mechanisms, and error buffering, allowing the system to handle backend failures gracefully without propagating disruptions to user-facing services. This maintains service functionality while improving reliability.
Solution Approach 2:
The gateway implements preventive measures such as request queuing, rate limiting, and circuit breakers that cushion the system against backend service disruptions. By preparing these protective mechanisms in advance, the system can absorb shocks from backend failures without affecting user-facing service availability.
3Adaptability or versatility
If usage policies are enforced at each user-facing service, then policy compliance is achieved, but implementation complexity and duplication increase
Solution Approach 1:
The gateway serves as a centralized policy enforcement intermediary between user-facing services and backend services. It maintains usage policies and automatically evaluates incoming requests against these policies before forwarding them to backend services. This eliminates the need for each user-facing service to implement its own policy logic, reducing implementation complexity while maintaining comprehensive policy compliance.
4Productivity
If direct API access is implemented, then integration speed is achieved, but adaptability to API changes decreases
Solution Approach 1:
The gateway provides a stable, versioned interface that shields user-facing services from backend API changes. Initial integrations can be implemented quickly through the gateway's standardized interfaces, and when backend APIs change, the gateway absorbs these changes without requiring modifications to user-facing services, thereby maintaining both integration speed and adaptability.
Data Source
AI summary
Techniques for governing access to third-party application programming interfaces (API's) are disclosed. A proxy service exposes an API configured to receive requests, from user-facing services, to perform functions of backend services. The proxy service stores a usage policy that defines a criterion that is (a) different from any authorization criterion and (b) associated with using a function of a backend service. The proxy service receives a request to perform the function of the first backend service for a user-facing service and determines that the request does not satisfy the usage policy. Based on determining that the request does not satisfy the usage policy, the proxy service refrains from accessing the backend service to perform the function responsive to the request, and transmits an alert to the user-facing service indicating that the request does not satisfy the usage policy.


