System and method for interfacing computer application programs written in different languages to a software system
First Claim
1. A computer implemented method for interfacing a plurality of application programs each written in a different computer language to a computer software system comprising computer implemented steps ofgenerating a plurality of generic application program interfaces each responsive to program calls from said application programs;
- generating a call from one of said application program interfaces in response to one of said program calls;
executing a function in said system in response to said call from said one of said application program interfaces;
transforming value and reference parameters associated with one of said application programs into transformed parameters in a form compatible with said software system;
storing a processor state corresponding to a portion of said application program running asynchronously relative to remaining parts of said application program;
calling a function of said software system with said transformed parameters;
executing a return from said function call whereby said processor is restored to said processor state and return code information and control is returned to said application program, wherein said executing includesgenerating a stack frame with parameters of one of said application programs in a predetermined order comprised of a plurality of value parameters non-interleafed with a plurality of reference parameters; and
constructing a next stack frame with parameters of a next one of said application programs in said predetermined order.
3 Assignments
0 Petitions
Accused Products
Abstract
A support system and method for interfacing of computer application programs written in a plurality of languages to a software system such as a database manager of the like. A plurality of generic application program interfaces or entry points are defined having a corresponding plurality of parameters in a consistent form required by the system to execute functions. The parameters are transformations of like parameters associated with the application programs which call the APIs. Processor states corresponding to threads in the application programs are stored in a table shared by the generic APIs. Upon return from the call and execution of the system function, processor state is restored and control returned to the application program. Necessity for separate entry points for applications written in each different supported language is thereby avoided as well as associated increased development effort, maintenance, and support.
-
Citations
10 Claims
-
1. A computer implemented method for interfacing a plurality of application programs each written in a different computer language to a computer software system comprising computer implemented steps of
generating a plurality of generic application program interfaces each responsive to program calls from said application programs; -
generating a call from one of said application program interfaces in response to one of said program calls; executing a function in said system in response to said call from said one of said application program interfaces; transforming value and reference parameters associated with one of said application programs into transformed parameters in a form compatible with said software system; storing a processor state corresponding to a portion of said application program running asynchronously relative to remaining parts of said application program; calling a function of said software system with said transformed parameters; executing a return from said function call whereby said processor is restored to said processor state and return code information and control is returned to said application program, wherein said executing includes generating a stack frame with parameters of one of said application programs in a predetermined order comprised of a plurality of value parameters non-interleafed with a plurality of reference parameters; and constructing a next stack frame with parameters of a next one of said application programs in said predetermined order. - View Dependent Claims (2, 3, 4, 5, 8, 9, 10)
-
-
6. A system for interfacing a plurality of application programs each written in a different computer language to a computer software system comprising
means for generating a plurality of generic application program interfaces each responsive to program calls from said application programs; -
means for generating a call from one of said application program interfaces in response to one of said program calls; means for executing a function in said system in response to said call from said one of said application program interfaces; parameter transformation means for transforming parameters associated with one of said application programs into transformed parameters in a form compatible with said software system; means for storing a processor state corresponding to a portion of said application program running asynchronously relative to remaining parts of said application program; means for calling a function of said software system with said transformed parameters; means for executing a return from said function call whereby said processor is restored to said processor state and return code information and control is returned to said application program; means for generating a stack frame with parameters of one of said application programs in said predetermined order; means for constructing a next stack frame with parameters of a next one of said application programs in said predetermined order; and means for generating a state preservation table comprised of processor state information entry groups each associated with a different thread of a corresponding one of said application programs.
-
-
7. A computer implemented method for interfacing a plurality of threaded application programs, each written in a different computer language, to a computer software system having a processor, comprising computer implemented steps of
saving the state of said processor in a state preservation table; -
storing each thread of said plurality application programs as a static pre-allocated entry in said table; setting up stack and global data addressing; retrieving a caller thread identification; indexing into said state preservation table with said thread identification; removing a return address of said caller from said stack; calling an underlying function of said software system; storing a return code from said function on said stack; setting up global data addressing; returning said caller thread identification; returning said saved processor state from said state preservation table in response to said retrieved called thread identification; restoring a processor state to said processor; storing a return address of said caller on said stack; and returning control to said caller.
-
Specification