IP Library Granted Patent US 7,191,452
Granted Patent B2
US 7,191,452 · App. 10/184,381 · Granted Mar 13, 2007

Method for creating application programming interfaces for internal applications

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 7,191,452
App. No.
10/184,381
Granted
Mar 13, 2007
Kind
B2
Abstract

This application discloses a engine for creating intermediate application programming interfaces by utilizing an target application's closed application programming interface through a macro coded in a specially designed macro language.

Claims (28)

1. A system for developing intermediate application programming interfaces comprising a processor configured to act as a dispatcher and a processor configured to act as an engine wherein:

said dispatcher receives an intermediate application programming interface request;

said dispatcher directs said intermediate application programming interface request to said engine wherein said engine is pre-configured to process said intermediate application programming interface request for a predetermined application;

said engine allocates an engine thread to process said intermediate application programming interface request and to create an application programming interface descriptor wherein said descriptor comprises a release descriptor, a macro descriptor, and a field descriptor;

said engine thread matches said intermediate application programming interface request to a macro via said release descriptor, macro descriptor, and field descriptor wherein said macro is coded using a predefined macro language;

said engine thread prepares a set of commands associated with said macro and passes at least one command from said set of commands to a separate process;

said process executes said at least one command;

results associated with said at least one command are passed back to said engine thread; and

said engine prepares a response to said intermediate application programming interface request, based on said results, and returns said response to said dispatcher.

2. The system for developing intermediate application programming interfaces according to claim 1 wherein said engine thread hierarchically processes said set of commands according to a set of instructions contained in said macro.

3. The system for developing intermediate application programming interfaces according to claim 1 wherein said macro language comprises one or more constructs selected from a group of constructs including macro, define, declare, execute, traverse, if/else/endif, commit, for/until/while, endloop, onerror, label, abort, exit, retry, resume, and rollback.

4. A system for developing intermediate application programming interfaces according to claim 3 wherein said engine is language and platform independent.

5. A system for developing intermediate application programming interfaces comprising a dispatcher and an engine wherein:

said dispatcher receives an intermediate application programming interface request;

if said engine is not available, said dispatcher queues said intermediate application programming interface request until said engine is available;

when said engine is available, said dispatcher directs said intermediate application programming interface request to said engine wherein said engine is pre-configured to process said intermediary application programming interface request for a predetermined application;

said engine allocates a thread to process said intermediate application programming interface request and to create an application programming interface descriptor wherein said descriptor comprises at least one release descriptor, at least one macro descriptor, and at least one field descriptor;

wherein said release descriptor is associated with at least one of said macro descriptor and further wherein, said macro descriptor is associated with at least one of said field descriptor;

said thread hierarchically processes a plurality of macros derived by matching said release descriptors and said macro descriptors with at least one macro and performing the following steps:

if a set of variables from a field descriptor associated with the release descriptor and the macro descriptor of said macro is available, said thread hierarchically prepares a series of commands associated with said macro by associating a set of variables described in said field descriptor associated with said release descriptor and said macro descriptor for said macro;

if a set of variables from a field descriptor associated with the release descriptor and the macro descriptor of said macro is not available, said thread hierarchically transcends said set of macro descriptors until it finds a set of variables that may be associated with said command;

said thread passes said command and said set of variables associated with said command to a separate process;

said process executes said command;

a set of results associated with said command passed back to said thread;

said thread associates said set of results with said macro; and

said engine prepares a response to said intermediate application programming interface request and returns said response to said dispatcher.

6. The system for developing intermediate application programming interfaces according to claim 5 wherein said macro is coded using a predefined macro language comprising one or more constructs selected from a group of constructs including macro, define, declare, execute, traverse, if/else/endif, commit, for/until/while, endloop, onerror, label, abort, exit, retry, resume, and rollback.

7. The system for developing intermediate application programming interfaces according to claim 6 wherein said engine is language and platform independent.