Browse Prior Art Database

Runtime Translation of Java Based APIs for Use with Native Applications

IP.com Disclosure Number: IPCOM000014632D
Original Publication Date: 2000-Jan-01
Included in the Prior Art Database: 2003-Jun-20
Document File: 3 page(s) / 37K

Publishing Venue

IBM

Abstract

A method and apparatus for developing a translation system for converting legacy API calls to calls using method calls in a Java Implementation. This conversion will be done by the present invention "on the fly", at runtime, so the user need not rewrite even one line of code. The present invention related to a computer program that implements only an object-oriented API but can process calls from an application that makes native calls. It specifically relates to any application that was once written as a native application and has now been rewritten in Java and has an API that was used by outside programs and applications. Under these conditions, the erstwhile users of these APIs would be effectively cut off because Java has no means of hearing the API requests. Java is picking up great momentum in the computing industry because of its promise of platform independence, it is easily distributed, and it is easy to use and is tolerant of poor programming practices. Many software makers have started implementing Java versions of their existing products, however they are often reduced function versions. one of the casualties of the new implementation is always any published API. By using this described method, the APIs can be supported. The invention is an apparatus for communicating instructions from a native application to an API hosted by a Java program within the JVM. Its focus is to allow existing programs to continue to work with the Java implementations without needing a rewrite.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 31% of the total text.

Page 1 of 3

Runtime Translation of Java Based APIs for Use with Native Applications

    A method and apparatus for developing a translation system for converting legacy API calls to
calls using method calls in a Java Implementation. This conversion will be done by the present
invention "on the fly", at runtime, so the user need not rewrite even one line of code.

          The present invention related to a computer program
that implements only an object-oriented API but can process
calls from an application that makes native calls. It
specifically relates to any application that was once written
as a native application and has now been rewritten in Java and
has an API that was used by outside programs and applications.
Under these conditions, the erstwhile users of these APIs would
be effectively cut off because Java has no means of hearing the
API requests.

           Java is picking up great momentum in the computing
industry because of its promise of platform independence, it is
easily distributed, and it is easy to use and is tolerant of
poor programming practices. Many software makers have started
implementing Java versions of their existing products, however
they are often reduced function versions. one of the
casualties of the new implementation is always any published
API. By using this described method, the APIs can be
supported.

           The invention is an apparatus for communicating
instructions from a native application to an API hosted by a
Java program within the JVM. Its focus is to allow existing
programs to continue to work with the Java implementations
without needing a rewrite.

            Below are some definitions of words that will be
used several times in the following body of text. These
definitions are meant to clarify the use of the words in this
document and may differ from certain technical definitions.
Many of these words may have different connotations with
respect to particular platforms, programming languages or
specific API's.

Program: A body of software that executes instructions and
operated on data.

Thread: A set of instructions that runs sequentially. A
program employs at least one Thread but can employ many.
Pointer: A value that represents a memory location. It is
used to reference specific data in a program.

Reference: A special type of pointer that has some
restrictions as to how it may be used. The word "pointer" will
be used in this document to refer to both pointer and
references.

Symbol: A string of characters (usually a name) that
represents memory location within a program or a value whether
it is fixed or variable.

Mnemonic: A symbol that has been uniquely assigned to a fixed
value.

Flag: A value (usually a Boolean value) that is used in a
program to indicate a given condition. It is any value that
can be referenced to determine if that condition exists or does
not exist.

Object: Refers to a specific type data and code grouping that
allows better modeling of systems. An object usually embodies
all of the necessary values and logic to handle specific
operations with regard to the ide...