ActiveX to EJB Bridge
WAS provides an ActiveX to EJB bridge that enables ActiveX programs to access enterprise beans through a set of ActiveX automation objects.
The bridge accomplishes this access by loading the JVM into any ActiveX automation container such as Visual Basic, VBScript, and Active Server Pages (ASP).
There are two main environments in which the ActiveX to EJB bridge runs:
- Client applications, such as Visual Basic and VBScript, are programs that a user starts from the command line, desktop icon, or Start menu shortcut.
- Client services, such as Active Server Pages, are programs started by some automated means like the Services control panel applet.
The ActiveX to EJB bridge uses the Java Native Interface (JNI) architecture to programmatically access the JVM code. Therefore the JVM code exists in the same process space as the ActiveX application (Visual Basic, VBScript, or ASP) and remains attached to the process until that process terminates.
To create JVM code, an ActiveX client program calls the XJBInit() method of the XJB.JClassFactory object.
After an ActiveX client program has initialized the JVM code, the program calls several methods to create a proxy object for the Java class. When accessing a Java class or object, the real Java object exists in the JVM code; the automation container contains the proxy for that Java object. The ActiveX program can use the proxy object to access the Java class, object fields, and methods.
To convert primitive data types, the client program uses the COM IDispatch interface (use of the IUnknown interface is not directly supported). Primitive data types are automatically converted between native automation types and Java types. All other types are handled automatically by the proxy objects.
Any exceptions thrown in Java code are encapsulated and thrown again as a COM error, from which the ActiveX program can determine the actual Java exceptions.
The ActiveX to EJB bridge supports both free-threaded and apartment-threaded access and implements the free threaded marshaler (FTM) to work in a hybrid environment such as Active Server Pages.
Related tasks
Develop ActiveX client application code