Passerelle ActiveX vers Enterprise JavaBeans (EJB)
WebSphere Application Server fournit une passerelle ActiveX vers EJB qui permet aux programmes ActiveX d'accéder à des beans enterprise via un ensemble d'objets d'automatisation ActiveX.
La passerelle accomplit cette opération en chargeant la machine virtuelle Java™ dans un conteneur d'automatisation ActiveX, tel que Visual Basic, VBScript ou ASP (Active Server Pages).
- 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.
Une fois qu'un programme client ActiveX a initialisé le code JVM, il 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 primitives sont automatiquement convertis des types d'automatisation natifs aux types Java. Tous les autres types sont traités automatiquement par les objets proxy.
Toute exception levée dans le code Java est encapsulée et levée de nouveau en tant qu'erreur COM, à partir de laquelle le programme ActiveX peut 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.