Programmer's Guide > Using the AOM > Using Java to Access the AOM
  
Using Java to Access the AOM
Java Interface Overview
Arbortext Editor and Arbortext Publishing Engine include a Java binding to the AOM. Using this binding, software developers can use the Java programming language to write applications for Arbortext Editor or the Arbortext Publishing Engine.
Arbortext Editor and the Arbortext Publishing Engine implement the Java interface using the Java Native Interface (JNI). The JNI allows Java code that runs within an embedded Java Virtual Machine (JVM) to operate with applications and libraries written in other languages such as C++. In Arbortext Editor and the Arbortext Publishing Engine, the JNI interacts specifically with the AOM.
Arbortext Editor or an Arbortext PE sub-process creates only one instance of the JVM per session and initializes it the first time a Java method is executed. The -js startup option may be specified when launching Arbortext Editor to cause the JVM to be initialized on startup. You can also start the JVM using the java_init ACL function. The JVM is unloaded when you end the current Arbortext Editor or Arbortext PE sub-process session.
There are several ACL functions of the form java_xxx that allow ACL programs to call a Java static method, a Java instance method, or a Java constructor, and otherwise interact with Java programs. These ACL functions are explained in Java and ACL.