Patent ID: 9158512
Filing Date: 2015-10-13
Classification: G06F

Abstract:
1. A computer program product comprising: a non-transitory computer readable storage medium comprising computer readable program code embodied in the medium that when executed by at least one processor causes the at least one processor to perform operations for communicating among programs that run on a Java Virtual Machine (JVM) and that are written in a plurality of different programming languages that are hosted on the JVM, wherein the JVM comprises a first compiler/interpreter associated with a first programming language of the plurality of different programming languages that are hosted on the JVM, a first program that runs on the JVM and is written in the first programming language, a second compiler/interpreter associated with a second programming language of the plurality of different programming languages that are hosted on the JVM, and a second program that runs on the JVM and is written in the second programming language, wherein the operations run on the JVM, the operations comprising the following operations that are performed by an exchange module that is communicatively coupled to the first and second programs: identifying methods that are used by the plurality of different programming languages that are hosted on the JVM, receiving, by the exchange module via the first compiler/interpreter, an exception comprising an external call from the first program, the exception indicating that a method associated with the external call cannot be processed by the first program; in response to the receiving the exception, intercepting the external call from the first program; determining that the external call may be directed to a method of the second program; formatting the external call for processing by the method of the second program; directing the external call to the second program; receiving a response to the external call from the second program; and formatting the response for processing by the first program; and forwarding the response to the external call that is received from the second program, back to the first program.