Scénario : Activation de pureQuery Runtime avec WebSphere Application Server

Après avoir installé pureQuery Runtime, vous devez configurer WebSphere Application Server avec l'emplacement des fichiers pureQuery JAR, afin de pouvoir utiliser l'optimisation client pureQuery avec une application WebSphere.

Avant de commencer

Ce scénario suppose la configuration suivante :
  • Un serveur WebSphere Application Server est installé et un fournisseur JDBC est défini pour IBM® Data Server Driver for JDBC and SQLJ.

    Une application Web simple appelée TestStaticProfileEAR s'exécute dans WebSphere Application Server.

  • pureQuery Runtime est installé à un emplacement accessible pour WebSphere Application Server.

    Les fichiers de pureQuery Runtime sont installés dans le répertoire C:\PureQueryRuntime et le processus d'installation a créé la variable d'environnement PDQ_JAR_PATH.

    Pour obtenir des informations sur l'installation de pureQuery Runtime, voir Installation d'InfoSphere Optim pureQuery Runtime for Linux, UNIX and Windows.

Pourquoi et quand exécuter cette tâche

Afin de rendre disponibles les fichiers JAR de pureQuery Runtime pour les chargeurs de classe WebSphere Application Server, vous installez pureQuery Runtime sur le système WebSphere. Dans l'environnement WebSphere, vous placez les fichiers pureQuery JAR pdq.jar et pdqmgmt.jar dans la variable CLASSPATH de DB2 Universal Driver Provider. Les étapes suivantes sont effectuées à partir de la console d'administration pour WebSphere Application Server version 6.1.

Cette tâche est destinée à une application Web simple comportant un module WEB qui s'exécute dans un serveur WebSphere Application Server. Vous utilisez une suite d'étapes similaire pour des applications constituées de plusieurs modules, notamment de modules EJB.

Procédure

Pour activer pureQuery Runtime avec WebSphere Application Server :

  1. Ajoutez les fichiers JAR pureQuery pdq.jar et pdqmgmt.jar dans la variable CLASSPATH de DB2 Universal Driver Provider.

    Effectuez les étapes suivantes à partir de la console d'administration :

    1. Créez une variable d'environnement WebSphere afin de pointer vers le chemin du système de fichiers JAR de pureQuery Runtime.
      Sélectionnez Ressources > Environnement de ressource.
      Tableau 1. Variable d'environnement WebSphere pour pureQuery Runtime
      Variable d'environnement WebSphere Valeur
      PDQ_JAR_PATH C:\PureQueryRuntime
    2. Ajoutez l'emplacement des fichiers JAR de pureQuery Runtime à la variable CLASSPATH de DB2 Universal Driver JDBC provider.

      Sélectionnez Ressources > Fournisseurs JDBC > DB2 Universal Driver Provider. Dans la fenêtre Propriétés générales, ajoutez des chemins aux fichiers JAR de pureQuery Runtime après les fichiers JAR du pilote dans la sous-fenêtre Chemin d'accès aux classes.

      Le chemin d'accès aux classes contient à la fois les fichiers JAR JDBC DB2 et les fichiers JAR de pureQuery Runtime :
      ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar
      ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar
      ${PDQ_JAR_PATH}/pdq.jar
      ${PDQ_JAR_PATH}/pdqmgmt.jar
      Important : Les fichiers JAR de pureQuery Runtime doivent se trouver dans le même chemin d'accès aux classes que le pilote JDBC. pureQuery Runtime fonctionne avec le pilote JDBC. Le chargeur de classe qui charge les fichiers JAR du pilote JDBC doit également charger les fichiers JAR de pureQuery Runtime. pureQuery Runtime ne fonctionnera pas correctement si le chemin des fichiers JAR de pureQuery Runtime se trouve dans une autre variable CLASSPATH.
    3. Enregistrez les paramètres WebSphere après avoir effectué les modifications.
  2. Vérifiez que les fichiers JAR sont placés correctement.

    Sélectionnez Identification et résolution de problèmes > Afficheur de chargeur de classe dans la console d'administration. Les fichiers JAR de pureQuery Runtime apparaissent dans la liste des fichiers qui est similaire à la liste suivante :

    . . .
    
    file:/C:/SQLLIB/java/db2jcc.jar
    file:C:/SQLLIB/java/db2jcc_license_cisuz.jar
    file:/C:/PureQueryRuntime/pdq.jar
    file:/C:/PureQueryRuntime/pdqmgmt.jar
    . . .
  3. Vérifiez que pureQuery Runtime est installé correctement dans l'environnement WebSphere en exécutant l'utilitaire pureQuery DataVersion.

    A partir d'une fenêtre de commande, exécutez une commande du type suivant :

    java -cp "C:/PureQueryRuntime/pdq.jar; C:/PureQueryRuntime/pdqmgmt.jar; 
     C:/SQLLIB/java/db2jcc.jar; C:/SQLLIB/java/db2jcc_license_cisuz.jar"
     com.ibm.pdq.tools.DataVersion -configuration -url url -username <user> -password pass 

    Dans l'option -cp de la commande, remplacez le chemin C:/PureQueryRuntime par le chemin que vous avez défini pour la variable d'environnement WebSphere ${PDQ_JAR_PATH} et remplacez le chemin C:/SQLLIB/java par la variable d'environnement WebSphere {UNIVERSAL_JDBC_DRIVER_PATH}. Vous pouvez également créer des variables d'environnement d'interpréteur de commandes qui sont définies aux valeurs appropriées. Ces variables pointent vers l'emplacement des fichiers JAR de pureQuery Runtime et des fichiers JAR d'IBM Data Server Driver for JDBC and SQLJ.

    Le texte suivant est un exemple de résultat de l'utilitaire pureQuery DataVersion :

    pureQuery Features: 
     pureQuery Base Function: Activated
     pureQuery runtime: Activated
     Extended Insight Monitor Server: Activated
    Global pureQuery properties in effect
    Note: These  be overridden by connection-specific settings:
    pdq.allowDynamicSQL=true
    pdq.captureMode=OFF
    pdq.captureStatementBatchSQL=ON
    pdq.capturedOnly=false
    pdq.cmx.controllerDiscoveryInterval=-1
    pdq.cmx.controllerDiscoveryPort=50000
    pdq.cmx.controllerURL=
    pdq.cmx.dataSourceLookupInterval=20
    pdq.cmx.multicastTimeToLive=10
    pdq.enableDynamicSQLReplacement=false
    pdq.executionMode=DYNAMIC
    pdq.maxNonParmSQL=-1
    pdq.maxResultRows=
    pdq.maxStackTracesCaptured=5
    pdq.outputPureQueryXml=
    pdq.packagePrefixExclusions=
    pdq.pureQueryXml=
    pdq.queryTimeoutInSeconds=
    pdq.sqlLiteralSubstitution=NOT_SET
    pdq.stackTraceDepth=10
    pdq.traceFile=pdq.log
    pdq.traceLevel=OFF 
    ...
  4. Redémarrez le serveur d'applications.

Résultats

Une modification ayant été apportée au paramètre CLASSPATH de WebSphere, l'optimisation client pureQuery est activée pour les applications Web qui utilisent DB2 Universal Driver Provider.


Commentaires