Methods, systems and computer program products are provided for extending
an application written in a first programming language with methods of Java classes,
wherein the first programming language cannot directly access the Java classes.
Such extension may be provided by-encapsulating differences between the first programming
language and Java and/or a memory model of the application and a memory model of
Java utilizing at least one subroutine accessible to the application and at least
one Java class. Thus, for example, differences in memory models may be overcome
by a subroutine which utilizes the memory model of the application being configured
to communicate with a Java class which utilizes the memory model the JVM and which
can invoke Java methods. The at least one subroutine and the at least one Java
class may then be utilized to invoke Java methods from the application.