Client API Control via User Interface in On-Demand Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional techniques for working with application programming interfaces (APIs) require users to have knowledge and expertise in software development, limiting access and control for users without such knowledge, especially in on-demand services environments like Salesforce.com.
Innovation Solution
A client-controlled API-usage mechanism that provides user-based control and experience through client packages with embedded HTTP client experience, including documentation and working code samples, allowing users to interact with APIs without needing software development expertise, using a multi-tenant database system architecture.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional API access techniques are used, then users with software development expertise can fully control and utilize APIs, but users without such knowledge and experience are limited in their access and control
Solution Approach 1:
The patent introduces a user interface as an intermediary layer between users and APIs. This interface translates user-friendly selections into API requests, eliminating the need for users to directly interact with complex API structures. The intermediary handles the complexity of API authentication, parameter formatting, and response parsing automatically.
Solution Approach 2:
The system enables users to access APIs through self-service mechanisms where they can navigate graphical interfaces, select desired operations, and receive automated responses. The system automatically handles authentication tokens, request routing, and data formatting without requiring user intervention in the technical details.
2Adaptability or versatility
If a multi-tenant database system architecture is used, then user-based control and experience can be provided through client packages, but the system must manage diverse user needs and access levels
Solution Approach 1:
The patent segments the system into distinct components: client packages for different user types, a user interface layer, and the underlying multi-tenant database system. Each segment serves specific functions and can be independently configured. Client packages are segmented by user needs (e.g., developer packages vs. end-user packages) with appropriate permissions and capabilities.
Solution Approach 2:
The multi-tenant database system provides universal access to multiple user types through a single unified architecture. The system can serve developers, end-users, and administrators simultaneously while maintaining security boundaries. The client packages inherit common functionality while providing user-specific capabilities through the unified platform.
3Ease of operation
If client packages with embedded HTTP client experience are provided, then users can interact with APIs without software development expertise, but the system must include documentation and working code samples
Solution Approach 1:
The system prepares and provides documentation and working code samples in advance within the client packages. Users receive pre-configured templates, examples, and guides that prepare them for API interaction before they need to use the APIs. This preliminary preparation eliminates the need for users to search for or create documentation during the interaction process.
Data Source
AI summary
In accordance with embodiments, there are provided mechanisms and methods for facilitating client-based control and experience of application programming interfaces in an on-demand services environment according to one embodiment. In one embodiment and by way of example, a method comprises offering, by application programming interface (API)-usage server device (“API-usage device”), a client interface package including a user interface for facilitating client-based control of APIs at a client computing device over a network. The method may further include facilitating, by the API-usage device, the client-based control of the APIs using an API menu accessible through the user interface, where the API menu is selectively populated with one or more of documentation, working code samples, and application protocol clients.


