ActiveX-EJB-Brücke
WebSphere Application Server stellt eine ActiveX-EJB-Brücke bereit, die ActiveX-Programmen verwenden können, um über ActiveX-Automation-Objekte auf Enterprise-Beans zuzugreifen.
Die Brücke lädt hierzu die Java™ Virtual Machine (JVM) in einen ActiveX-Automation-Container wie Visual Basic, VBScript oder ASP (Active Server Pages).
- Clientanwendungen wie Visual Basic und VBScript sind Programme, die ein Benutzer über eine Befehlszeile, ein Desktop-Symbol oder das Startmenü aufruft.
- Client-Services wie Active Server Pages sind Programme, die automatisch gestartet werden, beispielsweise über das Dienste-Applet in der Systemsteuerung.
Die ActiveX-EJB-Brücke verwendet die Architektur Java Native Interface (JNI), um über das Programm auf den JVM-Code zuzugreifen. Deshalb ist der JVM-Code in demselben Prozessbereich enthalten wie die ActiveX-Anwendung (Visual Basic, VBScript oder ASP) und bleibt mit dem Prozess verbunden, bis dieser beendet wird. Zum Erstellen von JVM-Code ruft ein ActiveX-Clientprogramm die Methode XJBInit() des Objekts XJB.JClassFactory auf.
Nachdem ein ActiveX-Clientprogramm den JVM-Code initialisiert hat, ruft es mehrere Methoden auf, um ein Proxy-Objekt für die Java-Klasse zu erstellen. Beim Zugriff auf eine Java-Klasse oder ein Java-Objekt, ist das echte Java-Objekt im JVM-Code enthalten. Der Automation-Container enthält den Proxy für dieses Java-Objekt. Das ActiveX-Programm kann mit dem Proxy-Objekt auf die Java-Klasse, Objektfelder und Methoden zugreifen.
Zum Konvertieren primitiver Datentypen verwendet das Clientprogramm die COM-IDispatch-Schnittstelle (die Verwendung der Schnittstelle "IUnknown" wird nicht direkt unterstützt). Primitive Datentypen werden automatisch von Automation-Typen in Java-Typen und umgekehrt konvertiert. Alle anderen Typen werden automatisch von den Proxy-Objekten verarbeitet.
Im Java-Code ausgelöste Ausnahmen werden gekapselt und als COM-Fehler erneut ausgelöst. Das ActiveX-Programm kann aus den COM-Fehlern die tatsächlichen Java-Ausnahmen ermitteln.
Die ActiveX-EJB-Brücke unterstützt den Free-Threaded- und den Apartment-Threaded-Zugriff und implementiert den Free Threaded Marshaler (FTM), der in einer Hybridumgebung, wie z. B. Active Server Pages, eingesetzt werden kann.
Weitere Informationen zur Programmierung von ActiveX-Clients mit der ActiveX-EJB-Brücke finden Sie im Artikel "ActiveX-Clientanwendungscode entwickeln".