EP1380941A2

Tranformation of objects between a computer programming language and data representation language

Abstract

A mechanism for compiling objects into representations of the objects, and for decompiling the representations of the objects into copies of the objects, is described. A virtual machine (e.g. the Java Virtual Machine (JVM)) may include extensions for compiling objects (e.g. Java Objects) into data representation language (e.g. XML) representations of the objects, and for decompiling representations of objects into objects. The virtual machine may supply an Applications Programming Interface (API) to the compilation/decompilation extensions. The client and service may be executing within virtual machines. The virtual machines may be on the same device or on different devices. The compiler/decompiler API may accept an object as input, and output a data representation language representation of the object and all its referenced objects (the object graph) in a data stream. In addition, the compiler/decompiler API may accept a data stream, which includes a representation of the object and all its referenced objects (the object graph), and output the object (and all the objects in its object graph). In one embodiment, an intermediary format may be used to represent a data representation language document and may be dynamically processed to generate a class instance from the data representation language document.

EP1380941A2, drawing sheet 1
Sheet 1 of 50

Term

Term ended

Projected expiry passed 9 May 2021, 5.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

28 claims: 3 independent, 25 dependent

  1. 1
    A method for passing computer programming language objects between processes in a distributed computing environment, comprising:a first virtual machine receiving from a first process a computer programming language object, wherein the object is an instance of a class in the computer programming language;the first virtual machine generating a representation of the object in a data representation language subsequent to said receiving;generating a message in the data representation language, wherein the message includes the data representation language representation of the object;sending the message to a second process;and the second process generating a copy of the computer programming language object from the data representation language representation of the object included in the message.
  2. 10
    A device, comprising:a processor;a memory comprising virtual machine program instructions executable on the processor to: receive a data representation language representation of a first computer programming language object;generate the first object from the data representation language representation of the first object, wherein the first object is an instance of a class in the computer programming language;
  3. 22
    A carrier medium comprising program instructions, wherein the program instructions are computer-executable to implement:a first virtual machine receiving from a first process a computer programming language object, wherein the object is an instance of a class in the computer programming language;the first virtual machine generating a representation of the object in a data representation language subsequent to said receiving;generating a message in the data representation language, wherein the message includes the data representation language representation of the object;sending the message to a second process;and the second process generating a copy of the computer programming language object from the data representation language representation of the object included in the message.