Patent ID: 7627852

Claim:
A computer-implemented method of invoking, from a host application written in a first programming language, a subroutine written in a second programming language different from the first programming language, said method comprising: serializing input data expressed as a first XTable formatted in the first programming language and comprising a plurality of different data types native to the first programming language into a string representation of the input data stored in memory; de-serializing the string representation of the input data as a second XTable stored in memory and formatted in the second programming language, wherein the second XTable comprises a plurality of data types native to the second programming language, and wherein the second programming language is scripted; executing the subroutine, wherein the second XTable formatted in the second programming language is processed as input; serializing output data returned from the subroutine, expressed as a third XTable formatted in the second programming language and comprising a plurality of different data types native to the second programming language, into a string representation of the output data stored in memory; and de-serializing the string representation of the output data into a fourth XTable stored in memory and formatted in the first programming language, wherein the fourth XTable comprises data types native to the first programming language, wherein serializing input data, de-serializing the string representation, executing the subroutine, serializing output data, and de-serializing the string representation are performed and are executable by a computer, and wherein the steps of de-serializing the string representation, executing the subroutine, and serializing output data are performed by a utility program that is dynamically generated.