IP Library Granted Patent US 8,776,083
Granted Patent B2
US 8,776,083 · App. 13/730,741 · Granted Jul 8, 2014

API method and system for providing access to an external service via an application services platform

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,776,083
App. No.
13/730,741
Granted
Jul 8, 2014
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for providing access to an external service via an application services platform, utilizing an application program interface (API). These mechanisms and methods for providing access to an external service via an application services platform can enable embodiments to provide an effective way of allowing access to such external service without necessarily forcing access to the external service separately with respect to the application services platform. The ability of embodiments to provide such effective technique can enable the integration of an external service with an application services platform, thus allowing access to the external service in a more time effective manner.

Claims (51)

1. A method, comprising:

detecting a request by an application services platform including at least one application server to access an external service, utilizing an application program interface;

determining whether the request complies with at least one rule specific to a user initiating the request, including:

identifying statistics associated with the request, wherein the statistics are gathered from tracking previous usage of the external service;

gauging an amount of usage of the external service required by the request, based on the statistics gathered from tracking previous usage of the external service;

comparing the amount of usage of the external service gauged to be required by the request to a predetermined amount of usage of the external service allowed by one of the rules specific to the user; and

determining that the request does not comply with the one of the rules specific to the user when the amount of usage of the external service gauged to be required by the request exceeds the predetermined amount of usage of the external service allowed by one of the rules specific to the user; and

determining that the request complies with the one of the rules specific to the user when the amount of usage of the external service gauged to be required by the request does not exceed the predetermined amount of usage of the external service allowed by one of the rules specific to the user;

conditionally preparing an invocation message to invoke the external service, the invocation message including information, wherein the invocation is prepared in response to the determination that the request complies with the one of the rules specific to the user and the invocation is not prepared in response to the determination that the request does not comply with the one of the rules specific to the user; and

sending the invocation message to the external service.

2. The method of claim 1 , wherein the request is automatically triggered.

3. The method of claim 1 , wherein the external service is not provided by the application services platform.

4. The method of claim 1 , wherein the message information is received, at least in part, with the request.

5. The method of claim 1 , wherein the request is reformatted to prepare the invocation message.

6. The method of claim 1 , wherein the application services platform includes a multi-tenant database system.

7. The method of claim 1 , wherein the at least one rule is user configurable.

8. The method of claim 1 , wherein the at leas one rule is different for a plurality of other users.

9. The method of claim 1 , wherein another one of the rules relates to a size of the request.

10. The method of claim 1 , wherein another one of the rules relates to a number of the requests.

11. The method of claim 1 , wherein the invocation message is sent in response to preparation of the invocation message.

12. The method of claim 1 , wherein the invocation message is sent to a proxy to cause the message information to be delivered to the external service.

13. The method of claim 12 , further comprising:

receiving from the proxy a response to the invocation message issued by the external service, the response received from the proxy including a date of receipt by the proxy, a description of the proxy, and a description of content provide by the external service;

determining whether the response complies with at least one other rule separate from the at least one rule specific to the user that initiated the request;

conditionally processing the response to forward the processed response to the user, wherein the response is processed when it is determined that the response complies with the at least one other rule and the response is not processed when it is determined that the response does not comply with the at least one other rule;

wherein the processing includes integrating data included in the response with data stored at the application services platform.

14. The method of claim 1 , wherein the external service includes a data validation service for validating data stored by the application services platform.

15. The method of claim 1 , wherein another one of the rules defines whether the external service is allowed to be accessed.

16. The method of claim 1 , wherein the tracking of the previous usage of the external service is specific to previous usage of the external service by the user.

17. A non-transitory machine-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to carry out the steps of:

detecting a request by an application services platform including at least one application server to access an external service, utilizing an application program interface;

determining whether the request complies with at least one rule specific to a user initiating the request, including:

identifying statistics associated with the request, wherein the statistics are gathered from tracking previous usage of the external service;

gauging an amount of usage of the external service required by the request, based on the statistics gathered from tracking previous usage of the external service;

comparing the amount of usage of the external service gauged to be required by the request to a predetermined amount of usage of the external service allowed by one of the rules specific to the user; and

determining that the request does not comply with the one of the rules specific to the user when the amount of usage of the external service gauged to be required by the request exceeds the predetermined amount of usage of the external service allowed by one of the rules specific to the user; and

determining that the request complies with the one of the rules specific to the user when the amount of usage of the external service gauged to be required by the request does not exceed the predetermined amount of usage of the external service allowed by one of the rules specific to the user;

conditionally preparing an invocation message to invoke the external service, the invocation message including information, wherein the invocation is prepared in response to the determination that the request complies with the one of the rules specific to the user and the invocation is not prepared in response to the determination that the request does not comply with the one of the rules specific to the user; and

sending the invocation message to the external service.

18. An apparatus, comprising:

a processor; and

one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

detecting a request by an application services platform including at least one application server to access an external service, utilizing an application program interface;

determining whether the request complies with at least one rule specific to a user initiating the request, including:

identifying statistics associated with the request, wherein the statistics are gathered from tracking previous usage of the external service;

gauging an amount of usage of the external service required by the request, based on the statistics gathered from tracking previous usage of the external service;

comparing the amount of usage of the external service gauged to be required by the request to a predetermined amount of usage of the external service allowed by one of the rules specific to the user; and

determining that the request does not comply with the one of the rules specific to the user when the amount of usage of the external service gauged to be required by the request exceeds the predetermined amount of usage of the external service allowed by one of the rules specific to the user; and

determining that the request complies with the one of the rules specific to the user when the amount of usage of the external service gauged to be required by the request does not exceed the predetermined amount of usage of the external service allowed by one of the rules specific to the user;

conditionally preparing an invocation message to invoke the external service, the invocation message including information, wherein the invocation is prepared in response to the determination that the request complies with the one of the rules specific to the user and the invocation is not prepared in response to the determination that the request does not comply with the one of the rules specific to the user; and

sending the invocation message to the external service.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2014
From: CHEENATH, MANOJ; CHASMAN, DOUG
To: SALESFORCE.COM, INC.
Reel/Frame 032944/0544 →