Passerelle ActiveX vers Enterprise JavaBeans (EJB)

WebSphere® Application Server fournit une passerelle ActiveX vers EJB qui permet aux programmes ActiveX d'accéder aux beans enterprise via un ensemble d'objets d'automatisation ActiveX .

Le pont permet cet accès en chargeant la machine virtuelle Java™ ( JVM ) dans n'importe quel conteneur d'automatisation d' ActiveX, tel que Visual Basic, VBScript et Active Server Pages (ASP).

Les deux principaux environnements d'exécution de la passerelle ActiveX vers EJB sont :
  • Les applications client, telles que Visual Basic et VBScript, qui sont normalement lancées à partir de la ligne de commande, d'une icône du bureau ou d'un raccourci du menu Démarrer.
  • Les services client, tels qu'Active Server Pages, qui sont des programmes lancés par un autre mode d'automatisation, tel que l'applet Services du Panneau de configuration.

La passerelle ActiveX vers EJB utilise l'architecture JNI (Java Native Interface) pour accéder au code JVM par l'intermédiaire d'un programme. Par conséquent, le code JVM existe dans le même espace de processus que l'application ActiveX (Visual Basic, VBScript ou ASP) et reste associé au processus jusqu'à sa fin. Pour créer un code JVM, le programme client ActiveX appelle la méthode XJBInit() de l'objet XJB.JClassFactory.

Après qu'un programme client ActiveX ait initialisé le code JVM, le programme appelle plusieurs méthodes pour créer un objet proxy pour la classe Java. Lors de l'accès à une classe ou à un objet Java, l'objet Java réel existe dans le code JVM ; le conteneur d'automatisation contient le proxy de cet objet Java. Le programme ActiveX peut utiliser l'objet proxy pour accéder à la classe Java, à des zones d'objet et à des méthodes.

Pour effectuer des conversions de types de données primitives, le programme client utilise l'interface COM IDispatch (l'utilisation de l'interface IUnknown n'est pas prise en charge directement). Les types de données primitifs sont convertis automatiquement du format ActiveX Automation en Java. Tous les autres types sont traités automatiquement par les objets proxy.

Toute exception émise par le code Java est encapsulée et réémise en tant qu'erreur COM, ce qui permet au programme ActiveX de déterminer les véritables exceptions Java.

La passerelle ActiveX vers EJB prend en charge les accès en exécution libre ou compartimentée et implémente FTM (free threaded marshaler) dans un environnement hybride, tel que Active Server Pages.

Pour plus d'informations sur la programmation d'un client ActiveX avec le pont ActiveX-EJB, voir la rubrique sur le développement du code d'une application client ActiveX.