# US 8,572,554 B2 · Method and system for integrating Java and JavaScript technologies

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,554 B2
- Document ID: US8572554B2
- Status: Granted
- Kind: B2
- Application number: 12/505,406
- Filed: 2009-07-17
- Published: 2011-01-20
- Granted: 2013-10-29
- Earliest claimed: 2009-07-17
- Assignees: eBay Inc.
- Applicants: Yitao Yao; Mark P. Palaima; Pei Wang; Gregory Choi; Justin Christopher Early; Sathishwar Pottavathini
- Inventors: Yitao Yao; Mark P. Palaima; Pei Wang; Gregory Choi; Justin Christopher Early; Sathishwar Pottavathini
- Web page: https://patentgrep.com/patent/US8572554B2

## CPC

- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and system for integrating Java and JavaScript technologies is provided. An example system includes a JavaScript proxy generator and a runtime module. The JavaScript proxy generator may be configured to automatically generate a JavaScript proxy in a form of a Java application programming interface. The runtime module may be configured to call the JavaScript proxy from the Java module, pass control of execution to the JavaScript module, execute the JavaScript module to generate an output method or object, and pass control of execution to the Java module to continue execution of the Java module.

## Claims

### Claim 1

A computer-implemented system comprising:
a JavaScript proxy generator to automatically generate a JavaScript proxy in a form of a Java application programming interface (API), the JavaScript proxy associated with a JavaScript module, wherein the JavaScript proxy generator comprises a JavaScript annotation module to create a definition for the JavaScript module and a scripting engine to generate the JavaScript proxy using the definition; and
a runtime module to:
call the JavaScript proxy from the Java module;
responsive to the calling, pass control of execution to the JavaScript module;
execute the JavaScript module to generate an output method or object; and
pass control of execution to the Java module to continue execution of the Java module.

### Claim 2 (depends on 1)

The system of claim 1, comprising a wherein the scripting engine is to facilitate authoring of the JavaScript proxy.

### Claim 3 (depends on 1)

The system of claim 1, wherein, the JavaScript proxy is associated with a typed output.

### Claim 4 (depends on 1)

The system of claim 1, wherein the JavaScript proxy is to access an object literal.

### Claim 5 (depends on 1)

The system of claim 1, wherein the JavaScript proxy is to access a JavaScript native array.

### Claim 6 (depends on 1)

The system of claim 1, wherein the JavaScript proxy is to access a native JavaScript function.

### Claim 7 (depends on 1)

The system of claim 1, wherein the JavaScript proxy is to access a browser document object model (DOM).

### Claim 8 (depends on 1)

The system of claim 1, comprising a debugger to debug the JavaScript module accessed via the JavaScript proxy.

### Claim 9 (depends on 1)

The system of claim 1, wherein the system is integrated with an Integrated Developer's Environment (IDE).

### Claim 10

A computer-implemented method comprising:
using one or more processors to perform operations of:
automatically generating a JavaScript proxy associated with a JavaScript module, the JavaScript proxy implemented as a Java API, wherein the generating of the JavaScript proxy comprises:
creating a definition for the JavaScript module, and
using the definition for the generating of the JavaScript proxy; calling the JavaScript proxy from a Java module;
responsive to the calling, passing control of execution to the JavaScript module;
executing the JavaScript module to generate an output method or object; and
passing control of execution to the Java module to continue execution of the Java module.

### Claim 11 (depends on 10)

The method of claim 10, wherein the generating of the JavaScript proxy is associated with authoring of the JavaScript module.

### Claim 12 (depends on 10)

The method of claim 10, wherein the JavaScript proxy is associated with a typed output.

### Claim 13 (depends on 10)

The method of claim 10, wherein the JavaScript proxy is to access an object literal.

### Claim 14 (depends on 10)

The method of claim 10, wherein the JavaScript proxy is to access a JavaScript native array.

### Claim 15 (depends on 10)

The method of claim 10, wherein the JavaScript proxy is to access a native JavaScript function.

### Claim 16 (depends on 10)

The method of claim 10, wherein the JavaScript proxy is to access a browser document object model (DOM).

### Claim 17 (depends on 10)

The method of claim 10, wherein the executing of the JavaScript is performed in a debugging environment.

### Claim 18

A machine-readable non-transitory storage medium having instruction data to cause a machine to:
automatically generate a JavaScript proxy in a form of a Java application programming interface (API), the JavaScript proxy associated with a JavaScript module, wherein the generating of the JavaScript proxy comprises:
creating a definition for the JavaScript module, and
using the definition for the generating of the JavaScript proxy;
call the JavaScript proxy from the Java module;
responsive to the calling, pass control of execution to the JavaScript module;
execute the JavaScript module to generate an output method or object; and
pass control of execution to the Java module to continue execution of the Java module.
